首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法通过POST请求获取预期的响应

无法通过POST请求获取预期的响应
EN

Stack Overflow用户
提问于 2021-11-12 06:27:26
回答 1查看 37关注 0票数 1

我正在使用这个接口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请求创建卡标识符。

代码语言:javascript
复制
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"

}'

我得到了这样的回应

代码语言:javascript
复制
{
    "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
        }
    ]
}

但回应应该是这样的:

代码语言:javascript
复制
{
"cardIdentifier": "C6F92981-8C2D-457A-AA1E-16EBCD6D3AC6",
"expiry": "2015-08-11T10:45:16.285Z",
"cardType": "Visa"
}

当我发送post请求时,我犯了什么错误

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-12 06:32:11

检查您在邮递员中使用的投递方式。如果您不确定编辑以添加屏幕截图。检查您是否已选择:

就好像您使用了另一种方法,它可能无法读取它一样

所以一旦你设置好了,而不是像这样给你发送数据:

代码语言:javascript
复制
{
  "cardholderName": "Spongebob Squarepants",
  "cardNumber": "4929000000006",
  "expiryDate": "0223",
  "securityCode": "123"
}

您应该将其发送为:

代码语言:javascript
复制
{ "cardDetails":
{
    "cardholderName": "Spongebob Squarepants",
    "cardNumber": "4929000000006",
    "expiryDate": "0223",
    "securityCode": "123"
}
}

这是因为它是从cardDetails下请求数据,如果它解决了您的问题,请勾选此选项,以便我知道

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69938754

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档