我正在尝试在我的网站上使用PayPal Plus。但错误处理是可怕的。如果我选择信用卡付款选项并正确提供所有输入,一切正常。 但在某些情况下,PayPal会在没有有意义的消息的情况下取消付款。
1)我打开付款网站并选择付款方式(信用卡或直接付款)。
2)我到PayPal网站提供信用卡或银行号码。
3)有些测试帐户不能用于信用卡或直接付款(他们需要特殊的配置)。在这种情况下,会显示一条错误消息“您无法使用信用卡进行此付款”,我可以更正输入。因此,我使用有效测试帐户的信息。
4)当我提交付款时,我被重定向到“cancel_url”。通常,如果用户取消付款,则用户被重定向到cancel-url。但我提交了付款。 此外,还设置了一个额外的url参数“ppp_msg = 1”。
http://localhost:8080/myCancelUrl/?token=EC-XYZ&ppp_msg=1
但我在文档中找不到关于这个beaviour或ppp_msg参数的任何内容!
是PayPal Bug吗?或者仅仅是因为我使用了错误配置的测试帐户?这可能也会在现场环境中发生吗?
修改
这是付款被“批准”后的付款对象,但由PayPal取消:
{
"id": "PAY-5NW72433139862519LBBL3ZQ",
"intent": "sale",
"payer": {
"payment_method": "paypal",
"status": "UNVERIFIED",
"payer_info": {
"email": "bla.blubb@web.com",
"first_name": "test",
"last_name": "user",
"payer_id": "X2JJSLSRYALK8",
"country_code": "DE"
}
},
"cart": "2L623830BF080064T",
"transactions": [{
"related_resources": [],
"amount": {
"currency": "EUR",
"total": "10.00"
},
"payee": {
"email": "test-facilitator@web.de"
}
}],
"state": "created",
"redirect_urls": {
"return_url": "http://localhost:8080/executePayment.html?paymentId\u003dPAY-5NW72433139862519LBBL3ZQ",
"cancel_url": "http://localhost:8080/cancelPayment.html"
},
"create_time": "2016-12-03T12:43:18Z",
"update_time": "2016-12-03T12:44:28Z",
"links": [...]
}
用户被标记为未经验证,但我使用了经过验证的帐户。这似乎打破了整个事情。