【问题标题】:PayPal Payment on codeigniterCodeigniter 上的 PayPal 付款
【发布时间】:2020-06-24 13:44:19
【问题描述】:

使用 PayPal 付款。但是,我发现很难返回交易 ID 以及支付给我的控制器的金额。

这是我的贝宝代码。

<script>
        // Render the PayPal button into #paypal-button-container
        paypal.Buttons({
    // Configure environment
            env: 'sandbox',
                client: {
                    sandbox: 'AZE8rjV6EqzKFAcEx6f7L7ZZwDsSLR5bBQOQN5pj3gAwghAivl0VUt-e0SkETWrcoesYXGbxO292vYZ3',
                    production: 'AUO3T8Mto5rojZl9Ff6nuYw1cLFjgF-4TPh6v1FhXyNdQsjxvdLTACn3xlv3EqwvPLJmmozl4_1pufFl'
                },

                // Set up the transaction
                createOrder: function(data, actions) {
                    var amount = $("#amount").val();
                    var name = '<?php echo($email); ?>';

                        return actions.order.create({
              redirect_urls:{
                   return_url:'http://localhost/escort/success'
              },
                                purchase_units: [{
                                        amount: {
                                                value: amount,
                                                currency: 'USD'
                                        }
                                }]
                        });
                },

                // Finalize the transaction
                onApprove: function(data, actions) {

                    return actions.request.post('Home/AddPayment/', {
                    paymentID: data.paymentID,
                    payerID:   data.payerID,
                    email: email,
                    amount: amount
                        })
                        .then(function(response) {
          // 3. Show the buyer a confirmation message.
                    if (response.error == 'false') {
                        console.log('Payment Completed');
                    }
                    else{
                        console.log('Error');
                    }
        });
                }                       

        }).render('#paypal-button-container');
</script>

我的问题很简单。在确认付款后,我需要想办法将交易 ID 和金额发送给控制器。

【问题讨论】:

    标签: jquery codeigniter paypal payment-gateway paypal-sandbox


    【解决方案1】:

    在 onApprove 函数中执行此操作。看来您已经发布了 paymentID 和金额,但如果您想先捕获,则需要 actions.order.capture()。在https://developer.paypal.com/demo/checkout/#/pattern/client查看演示模式


    更好的服务器端设计是让 onApprove 函数调用服务器端点,该端点执行服务器端 API 调用以捕获事务。请参阅https://developer.paypal.com/demo/checkout/#/pattern/server 上的演示模式

    【讨论】:

    • 我可以向你索取演示代码吗?因为我尝试在 onApprove 下方添加那行代码但没有用。
    • 我无法提供比onApprove: function(data, actions) { return actions.order.capture() 更清楚的信息。在那之后放上你的 .then() 东西。
    猜你喜欢
    • 1970-01-01
    • 2013-01-12
    • 2015-10-02
    • 2015-01-22
    • 2011-12-11
    • 2020-01-03
    • 2013-06-05
    • 2014-07-30
    • 2016-03-07
    相关资源
    最近更新 更多