我正在使用这个接口https://developer-eu.elavon.com/docs/opayo/spec/api-reference-0#operation/createCi。
我在创建卡标识符时遇到了一个问题。我无法得到预期的响应。测试接口为https://pi-test.sagepay.com/api/v1/card-identifiers
要创建一个卡标识符,我们需要一个用作bearerToken的merchantKey,请求主体是
{ "cardholderName": "Spongebob Squarepants", "cardNumber": "4929000000006", "expiryDate": "0223", "securityCode": "123" }
使用此https://reqbin.com/pzag38mw创建merchantKey
创建卡标识符使用此https://reqbin.com/zkhuuecs
我在这里添加了我的postamn请求。
我的邮递员http请求创建卡标识符。
curl --location --request POST 'https://pi-test.sagepay.com/api/v1/card-identifiers' \
--header 'Authorization: Bearer E0780245-2701-4748-924A-A1D5A904EB62' \
--header 'Content-Type: application/json' \
--header 'Cookie: AWSALB=o44OLd5fFLrFUD4meQBU0sxMs64iiql4YlDlppQILCFio+6pOo16e+tLu7SaI+F8sDS8CgSrRTwOcMo//ODTGcJGgNSTHPHxrP5hs87mkM1I1Xos3F0hDEoTD4dV; AWSALBCORS=o44OLd5fFLrFUD4meQBU0sxMs64iiql4YlDlppQILCFio+6pOo16e+tLu7SaI+F8sDS8CgSrRTwOcMo//ODTGcJGgNSTHPHxrP5hs87mkM1I1Xos3F0hDEoTD4dV' \
--data-raw '{
"cardholderName": "Spongebob Squarepants",
"cardNumber": "4929000000006",
"expiryDate": "0223",
"securityCode": "123"
}'我得到了这样的回应
{
"errors": [
{
"description": "Missing mandatory field",
"property": "cardDetails.cardNumber",
"clientMessage": "The card number is required",
"code": 1003
},
{
"description": "Missing mandatory field",
"property": "cardDetails.cardholderName",
"clientMessage": "The cardholder name is required",
"code": 1003
},
{
"description": "Contains invalid value",
"property": "cardDetails.expiryDate",
"clientMessage": "The expiry date is invalid",
"code": 1009
},
{
"description": "Missing mandatory field",
"property": "cardDetails.expiryDate",
"clientMessage": "The expiry date is required",
"code": 1003
}
]
}但回应应该是这样的:
{
"cardIdentifier": "C6F92981-8C2D-457A-AA1E-16EBCD6D3AC6",
"expiry": "2015-08-11T10:45:16.285Z",
"cardType": "Visa"
}当我发送post请求时,我犯了什么错误
发布于 2021-11-12 06:32:11
检查您在邮递员中使用的投递方式。如果您不确定编辑以添加屏幕截图。检查您是否已选择:

就好像您使用了另一种方法,它可能无法读取它一样
所以一旦你设置好了,而不是像这样给你发送数据:
{
"cardholderName": "Spongebob Squarepants",
"cardNumber": "4929000000006",
"expiryDate": "0223",
"securityCode": "123"
}您应该将其发送为:
{ "cardDetails":
{
"cardholderName": "Spongebob Squarepants",
"cardNumber": "4929000000006",
"expiryDate": "0223",
"securityCode": "123"
}
}这是因为它是从cardDetails下请求数据,如果它解决了您的问题,请勾选此选项,以便我知道
https://stackoverflow.com/questions/69938754
复制相似问题