单击按钮打开贝宝数字流灯箱

Posted

技术标签:

【中文标题】单击按钮打开贝宝数字流灯箱【英文标题】:Open paypal digital flow lighbox on click of button 【发布时间】:2015-03-29 15:47:59 【问题描述】:

我想通过点击按钮启动数字商品的贝宝付款。 但是由于我正在集成多个支付网关,所以我不能使用提交按钮,而是使用简单的按钮并通过发送数据来触发支付,以根据选择的支付进行操作。

但是paypal DG js期望触发支付的按钮应该直接提交支付

这是我的伪代码

<form action ='' method='POST'>
 <input type='text' name='quantity' value=''>
 </form>

 <input type='button' value='Gateway1'/ id='gateway1'>
 <input type='button' value='Gateway2'/ id='gateway2'>
 <input type='button' value='paypalsubmit'/ id='paypal_submit'>


 $.getScript('https://www.paypalobjects.com/js/external/dg.js',function()   
   //bind paypal iframe
   var dg = new PAYPAL.apps.DGFlow().settrigger(
                                id:'paypal_submit'  
                         );
            );
 $('#gateway1').click(
   //submit form to checkout url for gateway1
 )
 $('#gateway2').click(
   //submit form to checkout url for gateway2
 )
 $('#paypal_submit').click(
   // Here I want to open the paypal DG BOX

 )

请注意该表单没有提交按钮,我正在序列化数据并将其发送到所需的 url。

如何在点击按钮时打开 paypal DG 流程?

【问题讨论】:

【参考方案1】:

PayPal 数字商品只需要一个带有id 字段的按钮。

<script src ='https://www.paypalobjects.com/js/external/dg.js' type='text/javascript'></script>
<script>
var dg = new PAYPAL.apps.DGFlow(
// the html ID of the form submit button which calls setEC
trigger: "paypal_submit"
);
</script>

生成 Express Checkout 令牌后,您需要使用 id 将该令牌传递给图像。

所以,

 $('#paypal_submit').click(
   // Here I want to open the paypal DG BOX
    <a id='paypal_submit' href='https://www.sandbox.paypal.com/incontext?token=" . YOUR_EC_TOKEN."'><img src='https://www.paypal.com/en_US/i/btn/btn_dg_pay_w_paypal.gif' border='0' /></a>
 );

【讨论】:

那么我需要更改锚的href并附加令牌吗? 是的,如果实时更改为 https://www.paypal.com/incontext?token= 并附加 EC-token 我想你是说我应该创建一个按钮 有没有办法在运行时处理这个问题 你的意思是不创建任何按钮,你想显示一个贝宝 DG 灯箱?

以上是关于单击按钮打开贝宝数字流灯箱的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 JSONP 将外部 HTML 页面加载到灯箱中?

在magento中单击“使用贝宝结帐”以打开新窗口

贝宝智能按钮集成问题

jQuery 菜单没有完全隐藏

如何让 Paypal 购物车加载到灯箱中

word文档的数字格式如何统一?