Как установить payment_method_nonce

#php #braintree

#php #braintree

Вопрос:

Я новичок в Braintree, и мне трудно разобраться, как настроить payment_method_nonce, чтобы я мог отправить транзакцию.

Пытаюсь объединить его с PHP в качестве серверной части.

открывающаяся форма:

 <form action="charge.php" method="post" id="payment-form" >
    <input id="nonce" name="payment_method_nonce" type="hidden" />
    <div id="dropin-container"></div>
    <button id="submit-button">Submit</button>
</form>
  

удаление js:

 var button = document.querySelector('#submit-button');

        braintree.dropin.create({
        authorization: 'MyClientToken',
          container: '#dropin-container'
        }, function (createErr, instance) {
          button.addEventListener('click', function () {
            instance.requestPaymentMethod(function (requestPaymentMethodErr, payload) {

            });
          });
        });
  

php:

 require_once('vendor/autoload.php'); 

    $POST = filter_var_array($_POST, FILTER_SANITIZE_STRING);
    $nonceFromTheClient = $POST['payment_method_nonce'];

    $gateway = new Braintree_Gateway([
        'environment' => 'sandbox',
        'merchantId' => 'sdfsdh8s9d8f2mpf',
        'publicKey' => 'dp9t6dnc53mcge6s7',
        'privateKey' => 'shd6vnf7dmr7sl904mcte64nf63nf67s'
    ]);

    $clientToken = $gateway->clientToken()->generate();

    $result = $gateway->transaction()->sale([
      'amount' => '50.00',
      'paymentMethodNonce' => $nonceFromTheClient,
      'options' => [
        'submitForSettlement' => True
      ]
    ]);
  

Комментарии:

1. Он устанавливается во время отправки формы и возвращается до отправки формы. Итак, вы получаете это из полезной нагрузки и помещаете в свои входные данные, затем разрешаете форме завершить отправку или запускаете асинхронный режим, чтобы сделать это и заблокировать отправку.

2. Спасибо! Теперь я понял.