Braintree — получение одноразового способа оплаты в Xamarin Forms С#

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

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

Этот ответ представляет собой 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 вернется платежный метод_nonce.

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


person Khoa    schedule 11.09.2020    source источник


Ответы (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;
person Khoa    schedule 11.09.2020
comment
Не могли бы вы отметить этот ответ, который поможет большему количеству людей с такой же проблемой :)? - person Jack Hua; 15.09.2020