PayPal Express Checkout.js - 发送自定义参数

Posted

技术标签:

【中文标题】PayPal Express Checkout.js - 发送自定义参数【英文标题】:PayPal Express Checkout.js - send custom parameters 【发布时间】:2017-12-08 23:42:38 【问题描述】:

如何将自定义参数发送到新的 Paypal Express 结帐。我需要发送booking_id 并在成功全额付款后得到同样的结果。

我已经通过paypal官方document,但找不到我们如何发送?

请看下面是我的文件代码:

<!DOCTYPE html>
<head>
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <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
            client: 
                sandbox:    'AYbCnvobq09Ptmsd1TRp3019CMrSTyaAmrHNv6ox0jl86H9OZFmGCPqHqqfPtqpTYTiIuy_e5UGnclMw',
                //production: '<insert production client id>'
            ,
            commit: true,
            payment: function(data, actions) 
                return actions.payment.create(
                    payment: 
                        transactions: [
                            
                                amount:  total: '0.01', currency: 'USD' 
                            
                        ]
                    
                );
            ,
            onAuthorize: function(data, actions) 
                return actions.payment.execute().then(function() 
                    window.alert('Payment Complete!');
                );
            
        , '#paypal-button-container');
    </script>
</body>    

【问题讨论】:

【参考方案1】:

我已经解决了问题,我们可以在支付方式中传递参数。如下代码:

payment: function(data, actions) 
    return actions.payment.create(
        payment: 
            transactions: [
                
                    amount:  total: '10', currency: 'USD' ,
                    custom: '1452'
                
            ]
        
    );
,

希望这对开发者有所帮助。

【讨论】:

知道我能不能让它变得动态化?我的按钮旁边有一个可能会更改的文本字段。 @Tiago 是的,你可以让它动态化,你是在使用 $_POST 还是想从数据库中获取数据。 JS 中的完全客户端。现在我有旧的托管按钮系统,输入字段与电子邮件字段保持同步。当用户键入自定义电子邮件时,此字段将被填充并与付款流程一起发送。默认情况下,我使用来自 IPN 的买家电子邮件来创建帐户,但他们有此文本字段来提供可选的自定义电子邮件。理想的情况是我可以在动态 JS 按钮中隐藏一个类似的电子邮件字段。这有意义吗?感谢您的回复! 你可以继续这个例子是 here 使用 Checkout.js 的 onAuthorize 方法。 有趣,我明白你的意思了。谢谢。尽管在呈现按钮之后,在单击按钮之前,我无法填充此参数吗?我想要 IPN 中的此信息。如果可能的话,保持更少的步骤也很好。也许这值得在这里提出一个适当的问题...【参考方案2】:

发票号码使用:

      payment: 
                    transactions: [
                        
                            amount: 
                                    total: '200',
                                    currency: 'BRL'
                            ,
                            invoice_number: 100

                        
                    ]
                

【讨论】:

你如何通过invoice_number: 100,它将从Paypal返回?

以上是关于PayPal Express Checkout.js - 发送自定义参数的主要内容,如果未能解决你的问题,请参考以下文章

Paypal:通过 Express Checkout 定期付款,无需用户拥有 paypal 帐户

具有 Paypal 权限和 Paypal Express Checkout 的 Rails

更改 PayPal Express Checkout 插件中的 paypal 项目名称

支付完成后注销Paypal Express账户

Paypal Sandbox (express-checkout) 返回内部错误

PayPal按钮和PayPal Express Checkout之间有什么区别?