【发布时间】:2017-11-06 08:48:55
【问题描述】:
我有来自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');
当我从 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"
}
【问题讨论】:
-
在演示站点上直接使用按钮时看到相同的结果吗?
-
@bluepnume 是的,完全一样。一旦添加,只有 onCancel() 会被调用。看看是否有帮助。
-
但是如果你不添加 onCancel 是否有效?或者什么都没发生
-
@bluepnume 然后它根本不会做任何事情。仍然不会进入 onAuthorize()
-
@bluepnume 不确定是否有区别,但我正在使用这里的测试信用卡paypalobjects.com/en_US/vhelp/paypalmanager_help/…
标签: javascript paypal paypal-sandbox