【问题标题】:Customer pays with Paypal and immediately leaves the website causes him not to get the item客户使用 Paypal 付款并立即离开网站导致他没有收到商品
【发布时间】:2020-09-23 08:28:38
【问题描述】:

我使用贝宝和react-paypal-button-v2 在我的网站上收款。 我在我的 Sandbox 帐户上测试了一些东西,并意识到如果客户付款,在成功功能触发之前有一个大约 3 秒的窗口

           onSuccess={() => {
             this.props.handlePaymentComplete();
           }}

问题是,如果客户在这 3 秒的窗口内付款并退出我的网站,他将被收取费用,但该功能不会触发,因此他的信息不会保存到数据库。

我很确定这是 react-paypal-button-v2 的问题,但我找不到将 paypal 与 react 连接的好方法。有没有办法解决这个问题?

【问题讨论】:

    标签: reactjs paypal payment


    【解决方案1】:

    onSuccess 不好,这是一个不好的例子,不应该是默认的

    有一个commented out example below 应该可以正常工作

                        onApprove={(data, actions) => {
                            // Capture the funds from the transaction
                            return actions.order.capture().then(function(details) {
                                // Show a success message to your buyer
                                alert("Transaction completed by " + details.payer.name.given_name);
                            });
                        }}
    

    但是,这都是客户端,在保存到数据库之前仍然容易受到潜在中断的影响。


    真正的解决方案是将其扩展为服务器端集成,这通常通过调用 PayPal API 的两个服务器端路由来完成:“设置交易”和“捕获交易”,如下所述: https://developer.paypal.com/docs/checkout/reference/server-integration/

    与这些路由配对的前端在这里,你可以适应 JSX:https://developer.paypal.com/demo/checkout/#/pattern/server

    【讨论】:

    • 这就像魔术一样解决了这个问题。我希望它是一个更复杂的解决方案,但我想这是我没有阅读整个文档的错。
    猜你喜欢
    • 1970-01-01
    • 2016-08-03
    • 2017-02-03
    • 2013-09-20
    • 2011-10-30
    • 2016-09-03
    • 2014-02-27
    • 2012-08-16
    • 2013-08-08
    相关资源
    最近更新 更多