#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. Спасибо! Теперь я понял.