Stripe redirectToCheckout с Laravel 6 / JavaScript - PullRequest
0 голосов
/ 02 марта 2020

Я пытаюсь stripe.redirectToCheckout в Laravel 6. И вот уже дни, я не могу найти ничего полезного на inte rnet. Я использовал документацию полосы для создания пользовательского сеанса и redirectToCheckout и реализовал сеанс чередования в сети / маршрутах и ​​redirectToCheckout в JavaScript.

Ниже приведена кнопка оплаты с полосой

<button id="checkout-button"
    data="{{$id}}" href="https://checkout.stripe.com/checkout.js"
    role="link" style="width: 100%"
    class="btn btn-dark">Pay with stripe
</button>

Ниже приведена функция JavaScript для redirectToCheckout

<script>
    (function () {
        var stripe = window.Stripe('pk_test_ZuGUA3XxCsWvZVbqnOkFMQnM00PV2c0Acm');
        var checkoutButton = document.getElementById('checkout-button');

        checkoutButton.addEventListener('click', function () {
            // When the customer clicks on the button, redirect
            // them to Checkout.
            console.log('button clicked');
            var product_name = document.getElementById('#p_name');
            var product_price = document.getElementById('#p_price');
            var name, price;
            // var checkout_btn = document.getElementById('#checkout-button-plan_GI1dhi4ljEzk0R');
            btn = $(this).attr('data');
            console.log(btn);

            stripe.redirectToCheckout({
                items: [
                    // Replace with the ID of your SKU
                    {sku: 'sku****', quantity: 1}
                ],
                successUrl: 'http://4c655de9.ngrok.io/success',
                cancelUrl: 'http://4c655de9.ngrok.io/canceled',
                clientReferenceId: btn
            }).then(function (result) {
                console.log('result');
                // If `redirectToCheckout` fails due to a browser or network
                // error, display the localized error message to your customer
                // using `result.error.message`.
                console.log(result.error.message);

            });
        });
    })();
</script>

Ниже приводится веб / маршрут. php функция для \Stripe\Checkout\Session

Route::get('/', function () {

\Stripe\Stripe::setApiKey('sk****');

$session = \Stripe\Checkout\Session::create([
    'success_url' => 'http://4c655de9.ngrok.io/success',
    'cancel_url' => 'http://4c655de9.ngrok.io/canceled',
    'payment_method_types' => ['card'],
    'line_items' => [
        [
            'name' => 'T-shirt',
            'description' => 'Comfortable cotton t-shirt',
            'amount' => 1500,
            'currency' => 'usd',
            'quantity' => 2,
        ],
    ],
]);
$id = $session->id;
return view('home')->with('id', $id);
...