Как установить payment_method_nonce - PullRequest
0 голосов
/ 31 марта 2019

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

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

dropin форма:

<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>

dropin 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
      ]
    ]);
...