无法通过 POST 请求获得预期的响应
Could not get a expected Response through a POST request
我正在处理这个 API https://developer-eu.elavon.com/docs/opayo/spec/api-reference-0#operation/createCi。
我在创建卡片标识符时遇到了问题。我无法得到预期的回应。
测试API是https://pi-test.sagepay.com/api/v1/card-identifiers
要创建卡标识符,我们需要一个 merchantKey 用作 bearerToken,请求正文是
{ "cardholderName": "Spongebob Squarepants", "cardNumber": "4929000000006", "expiryDate": "0223", "securityCode": "123" }
要创建 merchantKey 使用此 https://reqbin.com/pzag38mw
要创建卡片标识符,请使用此 https://reqbin.com/zkhuuecs
我在这里添加了我的 postamn 请求。
我的 post 创建卡标识符的 man 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请求时犯了什么错误
检查您在邮递员中使用的发帖方式。如果您不确定,请编辑以添加屏幕截图。检查您是否选择了:
好像你用别的方法可能读不出来
因此,一旦您设置了它,而不是将数据发送给您:
{
"cardholderName": "Spongebob Squarepants",
"cardNumber": "4929000000006",
"expiryDate": "0223",
"securityCode": "123"
}
您应该将其发送为:
{ "cardDetails":
{
"cardholderName": "Spongebob Squarepants",
"cardNumber": "4929000000006",
"expiryDate": "0223",
"securityCode": "123"
}
}
这是因为它在查询cardDetails下的数据
如果它解决了您的问题,请打勾,这样我就知道了
我正在处理这个 API https://developer-eu.elavon.com/docs/opayo/spec/api-reference-0#operation/createCi。
我在创建卡片标识符时遇到了问题。我无法得到预期的回应。 测试API是https://pi-test.sagepay.com/api/v1/card-identifiers
要创建卡标识符,我们需要一个 merchantKey 用作 bearerToken,请求正文是
{ "cardholderName": "Spongebob Squarepants", "cardNumber": "4929000000006", "expiryDate": "0223", "securityCode": "123" }
要创建 merchantKey 使用此 https://reqbin.com/pzag38mw
要创建卡片标识符,请使用此 https://reqbin.com/zkhuuecs
我在这里添加了我的 postamn 请求。
我的 post 创建卡标识符的 man 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请求时犯了什么错误
检查您在邮递员中使用的发帖方式。如果您不确定,请编辑以添加屏幕截图。检查您是否选择了:
好像你用别的方法可能读不出来
因此,一旦您设置了它,而不是将数据发送给您:
{
"cardholderName": "Spongebob Squarepants",
"cardNumber": "4929000000006",
"expiryDate": "0223",
"securityCode": "123"
}
您应该将其发送为:
{ "cardDetails":
{
"cardholderName": "Spongebob Squarepants",
"cardNumber": "4929000000006",
"expiryDate": "0223",
"securityCode": "123"
}
}
这是因为它在查询cardDetails下的数据 如果它解决了您的问题,请打勾,这样我就知道了