Проблемы с настройкой 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>

Заранее спасибо за помощь!

0 ответов

Другие вопросы по тегам