Laravel 6.0 Braintree: Ошибка: 91565: неизвестный или просроченный платежMethodNonce - PullRequest
0 голосов
/ 30 января 2020

Я использую ключ токенизации вместо токена клиента. Я также определил это дважды, что я считаю плохой практикой. Но у меня возникают проблемы при передаче его из JavaScript в мой контроллер. Вот код:

// checkout.blade. php

<div id="dropin-container"></div>

{{-- BRAINTREE INTEGRATION --}}
<script src="https://js.braintreegateway.com/web/3.57.0/js/client.min.js"></script>
<script src="https://js.braintreegateway.com/web/dropin/1.21.0/js/dropin.min.js"></script>
<script>
    var button = document.querySelector('#submit-payment');

    braintree.dropin.create({
        authorization: **********, 
        container: '#dropin-container'
    }, function (createErr, instance) {
        button.addEventListener('click', function () {
        instance.requestPaymentMethod(function (requestPaymentMethodErr, payload) {
            // submit payload.nonce to your server
        });
        });
    });
</script>

// CheckoutController. php

$amount = Cart::total();
        $nonce = **********;

        $result = $gateway->transaction()->sale([
            'amount' => $amount, 
            'paymentMethodNonce' => $nonce,         
            'options' => [
                'submitForSettlement' => true
            ]
        ]);

Согласно документы , вам не нужно генерировать новый ключ после каждого сеанса. Итак, я не уверен, почему это будет неизвестно или истек срок действия. Есть предложения?

Заранее спасибо

...