单击按钮,我想为数字商品启动贝宝付款。
但是由于集成了多个支付网关,因此无法使用“提交”按钮,而是使用简单的按钮,并通过根据选择的支付方式发送数据来执行所需的操作来触发支付。
但是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。
单击按钮如何打开贝宝DG流程。
最佳答案
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>
});