zee*_*zee 7 javascript paypal paypal-sandbox
我有以下代码来自https://developer.paypal.com/demo/checkout/#/pattern/confirm
代码正在Paypal结帐页面显示,我可以输入我的所有信息.我遇到的问题是onAuthorize()根本没有被调用.即使我完成一个事务,唯一被调用的是onCancel()函数.
注意:我正在使用此处的测试信用卡https://www.paypalobjects.com/en_US/vhelp/paypalmanager_help/credit_card_numbers.htm
paypal.Button.render({
// Set your environment
env: 'sandbox', // sandbox | production
// Create a PayPal app: https://developer.paypal.com/developer/applications/create
client: {
sandbox: 'AY2UxZoOkoWQ0-******',
production: '' // This is not set
},
commit: true, // Set to 'Pay Now'
payment: function() { // Wait for the PayPal button to be clicked
// Make a client-side call to the REST api to create the payment
return paypal.rest.payment.create(this.props.env, this.props.client, {
transactions: [
{
amount: { total: '10.00', currency: 'USD' }
}
]
});
},
// Wait for the payment to be authorized by the customer
onAuthorize: function(data, actions) {
console.log('onAuthorize');
},
onCancel: function(data, actions) {
console.log('onCancel');
console.log(data);
}
}, '#paypal-button-container');
Run Code Online (Sandbox Code Playgroud)
从onCancel()打印数据对象时的响应如下:
{
cancelUrl: "https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&xo_node_fallback=true&force_sa=true&fallback=1&token=EC-90M952801L841090P",
intent: "sale",
paymentToken: "EC-90M952801L841090P"
}
Run Code Online (Sandbox Code Playgroud)
小智 0
我现在正在研究这个问题。我在测试过程中意识到,感谢你@zee(我读到“只有 onCancel() 才会在添加后被调用……”这让我想到)只有在 SANBOX checkout.js 中才会调用 onCancel() 总是(或者至少) ,始终适合我和我所有的测试)。我(10 分钟前)考虑在 onCancel() 中实现一个可怕的“IF”来处理响应并调用我的服务器,就像我想在 onAutorize() 中所做的那样(在付款执行后等...)。在此之前,我尝试过使用生产密钥一次......它成功了!onAutorize() 被调用,一切都按预期运行。直到昨天我还在讨论这个问题,我希望这会对某人有所帮助。
西蒙娜
| 归档时间: |
|
| 查看次数: |
514 次 |
| 最近记录: |