Braintree - получение одноразового номера метода оплаты в Xamarin Forms C#

Я пишу приложение, написанное на C# - Xamarin Forms.

Я просто пытаюсь получить ответ от сервера Брейнтри, чтобы обработать платеж.

Этот ответ - payment_method_nonce, который требуется для обработки платежа.

Вот код на стороне клиента, предоставленный Braintree.

<script src="https://js.braintreegateway.com/web/dropin/1.24.0/js/dropin.js"></script>

<div id="dropin-container"></div>
<button id="submit-button" class="button button--small button--green">Purchase</button>

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

braintree.dropin.create({
  authorization: 'xxxxx',
  selector: '#dropin-container'
}, function (err, instance) {
  button.addEventListener('click', function () {
    instance.requestPaymentMethod(function (err, payload) {
      // Submit payload.nonce to your server
    });
  })
});

Он прекрасно генерирует форму кредитной карты, однако, если вы нажмете кнопку "Купить", ожидается, что с сервера Braintree вернется payment_method_nonce.

У меня вопрос: как мне зафиксировать эту переменную payment_method_nonce в C#, когда клиентская форма отображается в Javascript внутри веб-просмотра?

1 ответ

Решение

Все заработало.

После обработки данных кредитной карты вам необходимо получить токен способа оплаты.

Затем передайте токен этого метода оплаты, чтобы получить одноразовый номер метода оплаты, после чего вы продолжите транзакцию.

Вот код:

// Get the payment method token
var paymentmethod_token = creditCard.Token.ToString();

// Generate a payment method nonce
Result<PaymentMethodNonce> paymentmethodnonce_result = gateway.PaymentMethodNonce.Create(paymentmethod_token);
var nonce = paymentmethodnonce_result.Target.Nonce;
Другие вопросы по тегам