调用Opayo创建card-identifier接口POST请求未得预期响应,求错误原因
问题原因
- 核心结构错误:从返回的错误字段
cardDetails.cardNumber可判断,所有卡片相关字段需要嵌套在cardDetails对象中,你当前直接将字段放在JSON根层级,导致接口无法识别到必填字段。 - 有效期错误:你使用的
0223对应2023年2月,属于已过期的时间,不符合接口对有效卡片有效期的要求。
修正方案
正确的请求体结构如下:
{ "cardDetails": { "cardholderName": "Spongebob Squarepants", "cardNumber": "4929000000006", "expiryDate": "1230", "securityCode": "123" } }
调整后的curl命令如下:
curl --location --request POST 'https://pi-test.sagepay.com/api/v1/card-identifiers' \ --header 'Authorization: Bearer 替换为你当前有效的merchantKey' \ --header 'Content-Type: application/json' \ --data-raw '{ "cardDetails": { "cardholderName": "Spongebob Squarepants", "cardNumber": "4929000000006", "expiryDate": "1230", "securityCode": "123" } }'
补充注意
- merchantKey存在有效期,请求前请确认你使用的Bearer Token未过期。
- 测试时有效期格式为
MMYY,填写未来时间即可,比如1230对应2030年12月。
内容的提问来源于stack exchange,提问作者hanushic
相关产品推荐
相关产品推荐

