0

サイトに Paypal ボタンを追加しています。ただし、ボタンが機能する前に、ユーザーが特定の情報 (アドレス ボックス) を入力する必要がある場合に何かをしたいと考えています。ユーザーが情報を入力している場合、Paypal ボタンをクリックすると、ユーザーは Paypal にサインインするように求められます (通常の流れ)。それ以外の場合、ユーザーは次のメッセージを受け取りますalertalert('Please choose a delivery address');

私は次のようなことをしようとしています:

$('.paypal-button').on( "click", function() {
  alert('Please choose a delivery address');
});

ボタンを無効にしようとしましたが(これは最適ではありませんが)、この他の回答に基づいて機能しないことがわかりました:

$('.paypal-button').prop("disabled",true);

Paypal サンドボックス コードは次のとおりです (実際のサンドボックス資格情報が必要です)。

<!DOCTYPE html>

<head>
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <script src="https://www.paypalobjects.com/api/checkout.js"></script>
</head>

<body>
    <div id="paypal-button-container"></div>

    <script>
        paypal.Button.render({

            env: 'sandbox', // sandbox | production

            // PayPal Client IDs - replace with your own
            // Create a PayPal app: https://developer.paypal.com/developer/applications/create
            client: {
                sandbox:    'ABCDEcFpQtjWTOUtWKbyN_bDt4OgqatestlewfBP4-33iV8e1GWU6liB2XYZ',
                production: '<insert production client id>'
            },

            // Show the buyer a 'Pay Now' button in the checkout flow
            commit: true,

            // payment() is called when the button is clicked
            payment: function(data, actions) {

                // Make a call to the REST api to create the payment
                return actions.payment.create({
                    payment: {
                        transactions: [
                            {
                                amount: { total: '0.01', currency: 'USD' }
                            }
                        ]
                    }
                });
            },

            // onAuthorize() is called when the buyer approves the payment
            onAuthorize: function(data, actions) {

                // Make a call to the REST api to execute the payment
                return actions.payment.execute().then(function() {
                    window.alert('Payment Complete!');
                });
            }

        }, '#paypal-button-container');

    </script>
</body>
4

2 に答える 2

0

PayPal ボタンのvalidate:およびプロパティを使用できます。これがどのように機能するかonClick:例がデモ サイトにあります。

于 2018-08-13T13:03:52.973 に答える