Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.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
Laravel出纳由于付款方法无效,付款尝试失败_Laravel_Stripe Payments_Laravel Cashier - Fatal编程技术网

Laravel出纳由于付款方法无效,付款尝试失败

Laravel出纳由于付款方法无效,付款尝试失败,laravel,stripe-payments,laravel-cashier,Laravel,Stripe Payments,Laravel Cashier,即使我在后端获得了一个支付方法id,我也得到了一个无效的支付网关。 我正试图从印度这样做,根据印度的规定,我必须提交地址和名称,同时付款。我猜我无法在这里集成该部分。请帮助我,这花了我一整天的时间还没有解决 $user = auth()->user(); $paymentMethod = $request->payment_method; $planId = $request->plan; $city="my ci

即使我在后端获得了一个支付方法id,我也得到了一个无效的支付网关。 我正试图从印度这样做,根据印度的规定,我必须提交地址和名称,同时付款。我猜我无法在这里集成该部分。请帮助我,这花了我一整天的时间还没有解决

$user = auth()->user();
        $paymentMethod = $request->payment_method;

        $planId = $request->plan;


        $city="my city";
        $country="India";
        $address="user address"
        $zipCode="111111";
        $state="Maharashtra";

        $user->createOrGetStripeCustomer([
            'email' => $user->email,
            'name' => 'test',
            'description' => 'test description',
            "address" => ["city" => $city, "country" => $country, "line1" => $address, "line2" => "", "postal_code" => $zipCode, "state" => $state]
        ]);


        $user->newSubscription('main', $planId)->create($paymentMethod);

        return response([
            'success_url'=> redirect()->intended('/')->getTargetUrl(),
            'message'=>'success'
        ]);



这是前端代码

window.addEventListener('load', function() {


            const stripe = Stripe('{{env('STRIPE_KEY')}}');

            const elements = stripe.elements();
            const cardElement = elements.create('card');

            cardElement.mount('#card-element');

            const cardHolderName = document.getElementById('card-holder-name');
            const cardButton = document.getElementById('card-button');
            const clientSecret = cardButton.dataset.secret;

            const plan = document.getElementById('subscription-plan').value;

            cardButton.addEventListener('click', async (e) => {
                const { setupIntent, error } = await stripe.handleCardSetup(
                    clientSecret, cardElement, {
                        payment_method_data: {
                            billing_details: { name: cardHolderName.value }
                        }
                    }
                );

                if (error) {
                    // Display "error.message" to the user...
                } else {
                    // The card has been verified successfully...
                    console.log('handling success', setupIntent.payment_method);

                    axios.post('/subscribe',{
                        payment_method: setupIntent.payment_method,
                        plan : plan
                    }).then((data)=>{
                        location.replace(data.data.success_url)
                    });
                }
            });
        })
我的出纳版本是10.3

我也试过用活钥匙。它显示了相同的错误。有人能帮我吗

根据印度法规,只有注册的印度企业(即。 独资企业、有限责任合伙企业和公司, 但不是个人)可以接受国际付款。更多信息 在这里:


因此,如果没有注册业务,测试将无法使用带有印度条带帐户的4242卡。。。这件事耽误了我3个小时。

你到底犯了什么错误?您还使用了一个不推荐使用的stripe.js方法。您应该使用
confirmCardSetup
而不是
handleCardSetup
:我的付款方式无效。再也没有了。