Javascript 条带API错误-缺少必需的参数:amount-PHP库

Javascript 条带API错误-缺少必需的参数:amount-PHP库,javascript,php,codeigniter,stripe-payments,stripe.js,Javascript,Php,Codeigniter,Stripe Payments,Stripe.js,我已经实施了条带支付,但问题是我不断地遇到以下错误: {状态:500,错误:缺少必需的参数:金额。} 从代码中可以看出,我有所有的参数,但仍然不知道为什么会出现这个错误。以下是我正在使用的代码: public function process(){ try { Stripe::setApiKey('sk_text_key'); $charge = Stripe_Charge::create(array( "amou

我已经实施了条带支付,但问题是我不断地遇到以下错误:

{状态:500,错误:缺少必需的参数:金额。}

从代码中可以看出,我有所有的参数,但仍然不知道为什么会出现这个错误。以下是我正在使用的代码:

public function process(){
    try {
        Stripe::setApiKey('sk_text_key');
        $charge = Stripe_Charge::create(array(
                     "amount" => 2000,
                    "currency" => "USD",
                    "card" => $this->input->post('access_token'),
                    "description" => "Stripe Payment"
        ));
    } catch (Stripe_InvalidRequestError $e) {
        // Invalid parameters were supplied to Stripe's API
        echo json_encode(array('status' => 500, 'error' => $e->getMessage()));
        exit();
    }
}   
这是我用来提交表单的javascript:

$(function() {
    var $form = $('#payment-form');
    $form.submit(function(event) {
        $form.find('.submit').prop('disabled', true);
        $form.find('.submit').val('Please wait...');

        Stripe.card.createToken($form, stripeResponseHandler);
        return false;
    });
});

function stripeResponseHandler(status, response) 
{
    if (response.error) {
        alert(response.error.message);
    } 
    else {
        $.ajax({
            url: '<?php echo base_url('payment/process');?>',
            data: {access_token: response.id},
            type: 'POST',
            dataType: 'JSON',
            success: function(response){
                console.log(response);
                if(response.success)
                window.location.href="<?php echo base_url('booking/thankyou'); ?>";
            },
            error: function(error){
                console.log(error);
            }
        });
    }
}

我看到您使用的是旧代码,在较新版本的Stripe中,您可以这样收费:

// Token is created using Stripe.js or Checkout!
// Get the payment token ID submitted by the form:
$token = $_POST['stripeToken'];

$charge = \Stripe\Charge::create(array(
  "amount" => 2000,
  "currency" => "usd",
  "description" => "Stripe Payment",
  "source" => $token,
));

查看更多示例。

您使用的Stripe版本是什么?我可以看到-您正在尝试将令牌设置为卡…根据我的想法,它是源代码。还有……试着检查所用条纹的版本。像我这边的例子:$charge=\Stripe\charge::createarray amount=>20000,//美分货币金额=>usd,source=>$token,description=>Additional payment;类'Stripe\Charge'未找到这是我在控制器payment require_onceAppath上调用它的方式libraries/Stripe/lib/Stripe.php';为什么不使用名称空间?无论如何,试着包括这个:require_onceappathlibraries/Stripe/lib/Charge.php';好的,我相信我使用的库是不正确的。你能从我下载的地方参考吗?你能从中获得最新的Stripe.js和PHP库