【问题标题】:Could not get a expected Response through a POST request无法通过 POST 请求获得预期的响应
【发布时间】:2021-12-24 13:20:53
【问题描述】:

我正在使用这个 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" }

要创建商家密钥,请使用此https://reqbin.com/pzag38mw

要创建卡标识符使用这个https://reqbin.com/zkhuuecs

我在这里添加了我的邮递请求。

我的邮递员 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 postman payment-gateway


    【解决方案1】:

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

    好像你用别的方法可能读不出来

    因此,一旦您将其设置为:而不是向您发送数据:

    {
      "cardholderName": "Spongebob Squarepants",
      "cardNumber": "4929000000006",
      "expiryDate": "0223",
      "securityCode": "123"
    }
    

    您应该将其发送为:

    { "cardDetails":
    {
        "cardholderName": "Spongebob Squarepants",
        "cardNumber": "4929000000006",
        "expiryDate": "0223",
        "securityCode": "123"
    }
    }
    

    这是因为它从 cardDetails 下询问数据 如果它解决了您的问题,请打勾,我知道

    【讨论】:

    • 我照你说的做了。 ` reqbin.com/zkhuuecs 这是在线 API 请求检查器。请阅读问题。
    • @hanushic 我的错我会调查更多
    • @hanushic 我发现了问题
    猜你喜欢
    • 1970-01-01
    • 2022-01-08
    • 2013-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-07
    • 1970-01-01
    相关资源
    最近更新 更多