如何post form paypal支付成功?

How to post form on successful paypal payment?

我的 HTML 页面上有一个表格,其中包含贝宝按钮和贝宝信用卡按钮。 这是一个简单的 HTML、JS 站点,而不是网上商店。付款成功后如何以编程方式 post 表单?我的 onApprove 部分在下面不起作用。 *目前只设置了paypal沙盒账户。

paypal.Buttons({
            style: {
                layout: 'vertical',
                color: 'black',
                shape: 'rect',
                label: 'paypal',
                height: 45
            },
            createOrder: function (data, actions) {
                // This function sets up the details of the transaction, including the amount and line item details.
                return actions.order.create({
                    purchase_units: [{
                        amount: {
                            value: total
                        }
                    }]
                });
            },
            onApprove: function (data, actions) {
                // This function captures the funds from the transaction.
                return actions.order.capture().then(function (details) {
                    // This function shows a transaction success message to your buyer.
                    $('#orderForm').submit();
                });
            }
            //fundingSource: paypal.FUNDING.PAYPAL
        }).render('#paypal-button-container');

在客户端 actions.order.capture() 之后,您不应 post 表单或写入数据库或任何此类性质的内容。客户端集成不适用于该用例。如果您需要在服务器上发送或存储数据作为 PayPal 交易的一部分,您应该使用服务器端集成:


在您的服务器上创建两条路线,一条用于 'Create Order',一条用于 'Capture Order'、documented here。这些路由应该 return 只有 JSON 数据(没有 HTML 或文本)。后者应该(成功时)在执行 return(特别是 purchase_units[0].payments.captures[0].id、PayPal 交易 ID)

之前将付款详细信息存储在您的数据库中

将这两条路线与以下批准流程配对:https://developer.paypal.com/demo/checkout/#/pattern/server

如果需要向服务器传输数据,在fetch中添加请求体;不要使用表格 post.