我们正在经营一家与 Braintree 相连的英国 Magento 商店。几个月来,一切都在顺利运行,但突然之间,我们无法在任何连接到 Braintree Sandbox 的临时或本地测试环境中完成订单。
在结账时,会向 3d 安全端点发出请求,如果我们进入了英国的县,我们会收到以下响应:
端点:
https://api.sandbox.braintreegateway.com/merchants/xxx/client_api/v1/payment_methods/xxx/three_d_secure/lookup
请求计费部分:
"additionalInfo": {
"billingCity": "Leeds",
"billingCountryCode": "GB",
"billingGivenName": "John",
"billingLine1": "50 Upton Road",
"billingPhoneNumber": "07733222111",
"billingPostalCode": "LE6 7TH",
"billingState": "Yorkshire",
"billingSurname": "Smith"
},
回复:{
"error": {
"message": "Billing state format is invalid."
},
"threeDSecureInfo": {
"liabilityShiftPossible": false,
"liabilityShifted": false
}
}
如果我们从结帐中删除县字段(并最终从请求中删除 'billingSate ),则响应是有效的,我们可以正常结帐。谁有想法?
最佳答案
我终于从 Braintree 那里得到了关于这个的答案。显然 3ds2 现在已在 Sandbox 上强制执行,这要求将州或县作为两位数代码发送。
在生产中,如果发送全名,它将(当前)优雅地降级为 3ds1 并完成。
为了促使人们使用 3ds2,沙箱没有切换到 3ds1 并返回错误。
关于braintree - Braintree 沙盒 API : 'Billing state format is invalid' 上的突然失败请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65701058/