Проблемы с настройкой Paypal Express Checkout с ASP.NET
У меня возникли проблемы с интеграцией Paypal Express Checkout на мой веб-сайт, и я считаю, что справочные документы приводят в замешательство. Я пробовал помощь PayPal, но все вопросы перенаправляются в Stack Overflow. Мы пытаемся добавить платежный портал для членства наших клубов. После долгих чтений я подумал, что продукт Express Checkout будет лучшим с Braintree SDK (но с удовольствием исправлюсь и использую другой продукт, если есть лучший вариант). У нас есть несколько вариантов членства в клубах с различными затратами, это рассматривается на нашем веб-сайте, и стоимость может быть передана в PayPal. Я приложил фрагмент кода PayPal, сайт разработки в данный момент находится на моем локальном хосте, поэтому я не могу отправить реальную ссылку. Этот код был сгенерирован с сайта PayPal в разделе для разработчиков с небольшими изменениями от меня. Код записан в элемент управления ASP.NET, который я создал с помощью MultiView.
Кнопки Paypal будут отображаться на сайте, но при нажатии появится небольшое всплывающее окно PayPal, иногда оно закрывается через несколько секунд, а иногда остается открытым.
Итак, мои основные вопросы...
Что-нибудь, что я сделал ниже, заставило бы исчезнуть всплывающее окно? У меня настроена учетная запись "Песочница", но я еще не потрудился с производственными ключами, так как я не могу заставить его работать в тестовой среде. Есть ли способ "Форсировать Страну" при оплате? В тот момент, когда появляется окно, оно выбирает Великобританию (я в Австралии)
Оплата
<asp:Label ID="lblNamePayment" runat="server" Text="Label"></asp:Label>,<br />
<br />
Thank you for your Membership Application, we look forward to having you involved with our club and looking forward to the racing!<br />
<br />
You're almost done! Payment is now due to complete the process. Click the below button to pay with PayPal on their secure server<br />
<br />
Amount: $<%=sPrice%> (PayPal fees Included - 2.6% + $0.30)<br />
Membership Type: <asp:Label ID="lblPaymentMemberType" runat="server" Text="Label"></asp:Label><br />
<br />
<br />
<div id="paypal-button-container" style="text-align:center"></div>
<script src="https://www.paypalobjects.com/api/checkout.js"></script>
<script src="https://js.braintreegateway.com/web/3.11.0/js/client.min.js"></script>
<script src="https://js.braintreegateway.com/web/3.11.0/js/paypal-checkout.min.js"></script>
<script>
// Render the PayPal button
paypal.Button.render({
style: {
layout: 'vertical', // horizontal | vertical
size: 'large', // medium | large | responsive
shape: 'rect', // pill | rect
color: 'black' // gold | blue | silver | black
},
// Pass in the Braintree SDK
braintree: braintree,
// Pass in your Braintree authorization key
client: {
sandbox: paypal.request.get('/demo/checkout/api/braintree/client-token/'),
production: '<insert production auth key>'
},
// Set your environment
env: 'sandbox', // sandbox | production
// Wait for the PayPal button to be clicked
payment: function (data, actions) {
// Make a call to create the payment
return actions.payment.create({
payment: {
transactions: [
{
amount: { total: '<%=sPrice%>', currency: 'AUD' }
}
]
}
});
},
// Wait for the payment to be authorized by the customer
onAuthorize: function (data, actions) {
// Call your server with data.nonce to finalize the payment
console.log('Braintree nonce:', data.nonce);
// Get the payment and buyer details
return actions.payment.get().then(function (payment) {
console.log('Payment details:', payment);
});
}
}, '#paypal-button-container');
</script>
Заранее спасибо за помощь!