小编Cli*_*der的帖子

如何在 PayPal 智能按钮交易中发送自定义数据字段

我是 PayPal 集成的新手,但我已成功使用客户端 JavaScript SDK 创建按钮并完成交易。我还添加了一个 webhook,用于侦听 PAYMENT.CAPTURE.* 事件并将返回数据记录到我自己的数据库中的交易表中。缺点是我无法跟踪交易针对的是哪个服务或客户。因此,我想知道如何在按钮中添加至少一个自定义字段,以便它在 webhook POST 中返回给我,以便我可以为该特定客户执行一些业务逻辑。

我最初的选择是发布数据返回onApprove:(data, actions)=>{},但如果在此之前发生灾难性事件(例如断电或一般客户端-服务器连接故障),我将没有恢复选项。

现在我的 JS 基本代码如下:

try{
        paypal.Buttons({

        // Set up the transaction
        createOrder: function(data, actions) {
            return actions.order.create({
                purchase_units: [{
                    amount: {
                        value: charge.amount,
                        currency_code:'USD'
                    }
                }]
            });
        },
        // Finalize the transaction
        onApprove: function(data, actions) {
            return actions.order.capture().then(function(details) {
                console.log(details);
                if(details.status == "COMPLETED"){
                  localStorage.clear();
                  window.location.href = "thank-you";
                }
                //alert('Transaction completed by ' + details.payer.name.given_name + '!');
            });
        }


    }).render('#paypal-button-container');
  }catch(e){
     console.error('PayPal not loaded!');
  }
Run Code Online (Sandbox Code Playgroud)

javascript paypal paypal-rest-sdk

6
推荐指数
1
解决办法
4882
查看次数

如何克服在 VPS 上设置 Github Actions 配置时出现的“不得使用 Sudo”错误

我试图在我的 Ubuntu VPS 上设置 Github actions runner,在步骤 3 中我必须设置 config.sh 文件,我得到的错误为:Must not run with Sudo并且该过程失败。我的 root 帐户受密码保护,但我不明白这里的问题是什么。但我正在寻找的是如何解决这个问题。我实际上并没有部署一个严肃的应用程序,这只是为了练习。

ubuntu sudo vps github-actions

2
推荐指数
1
解决办法
1万
查看次数