Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Stripe.js付款不起作用php laravel 5.6_Javascript_Php_Laravel_Stripe Payments - Fatal编程技术网

Javascript Stripe.js付款不起作用php laravel 5.6

Javascript Stripe.js付款不起作用php laravel 5.6,javascript,php,laravel,stripe-payments,Javascript,Php,Laravel,Stripe Payments,我试图在我的Laravel项目5.6中实现Stripe.js,但是当我签出时,我没有看到Stripe仪表板中注册的项目的值。我不知道我可能有什么错误,我需要你的帮助 PHP代码: public function postCheckout(Request $request) { if(!Session::has('cart')) { return redirect()->route('shop.shoopingCart'); } $oldCart =

我试图在我的Laravel项目5.6中实现Stripe.js,但是当我签出时,我没有看到Stripe仪表板中注册的项目的值。我不知道我可能有什么错误,我需要你的帮助

PHP代码:

public function postCheckout(Request $request) {
    if(!Session::has('cart')) {
        return redirect()->route('shop.shoopingCart');
    }
    $oldCart = Session::get('cart');
    $cart = new Cart($oldCart);
    Stripe::setApiKey('pk_test_H7JdFZrdbUPYredN7cIG3woA');
    try {
        $charge = Charge::create(array(
           "amount" => $cart->totalPrice * 100,
           "currency" => "usd",
           "source" => $request->input('stripeToken'), // obtained with Stripe.js
           "description" => "Test Charge"
        ));
        $order = new Order();
        $order->cart = serialize($cart);
        $order->address = $request->input('address');
        $order->name = $request->input('name');
        $order->payment_id = $charge->id;
        Auth::user()->orders()->save($order);
    }
    catch(\Exception $e) {
        return redirect()->route('checkout')->with('error', $e->getMessage());
    }
    Session::forget('cart');
    return redirect()->route('product.index')->with('success', 'Successfully purchased products!');
}
代码JavaScript:

Stripe.setPublishableKey('pk_test_H7JdFZrdbUPYredN7cIG3woA');
var $form = $('#checkout-form');
$form.submit(function(event){
$('#charge-error').addClass('hidden');
$form.find('button').prop('disabled', true);
Stripe.card.createdToken({
    number: $('#card-number').val(),
    cvc: $('#card-cvc').val(),
    exp_month: $('#card-exp-month').val(),
    exp_year: $('#card-exp-year').val(),
    name: $('#card-name').val(),
}, stripeResponseHandler);
return false;
});
function stripeResponseHandler(status, response) {
if(response.error) {
    $('#charge-error').removeClass('hidden');
    $('#charge-error').text(response.error.message);
    $form.find('button').prop('disabled', false);
}
else {
    var token = response.id;
    $form.append($('<input type="hidden"name="stripeToken"/>').val(token));

    $form.get(0).submit();
}
}
Stripe.setPublishableKey('pk_test_H7JdFZrdbUPYredN7cIG3woA');
var$form=$(“#签出表单”);
$form.submit(函数(事件){
$(“#费用错误”).addClass(“隐藏”);
$form.find('button').prop('disabled',true);
Stripe.card.createdToken({
编号:$(“#卡号”).val(),
cvc:$(“#卡cvc”).val(),
exp#month:$('#卡片exp month').val(),
经验年:$(“#卡片经验年”).val(),
名称:$(“#卡名”).val(),
},stripeResponseHandler);
返回false;
});
函数stripeResponseHandler(状态、响应){
if(response.error){
$(“#费用错误”).removeClass('hidden');
$(“#费用错误”).text(response.error.message);
$form.find('button').prop('disabled',false);
}
否则{
var token=response.id;
$form.append($('').val(标记));
$form.get(0.submit();
}
}

试试看,因为setTimeout对我来说很好用

         setTimeout(function(){ 
            // Request a token from Stripe:
            Stripe.card.createdToken({
              number: $('#card-number').val(),
              cvc: $('#card-cvc').val(),
              exp_month: $('#card-exp-month').val(),
              exp_year: $('#card-exp-year').val(),
              name: $('#card-name').val(),
            }, stripeResponseHandler);
         }, 500);