3

我正在尝试使用卡信息更新会话。

我正在遵循本指南:

https://ap-gateway.mastercard.com/api/documentation/apiDocumentation/rest-json/version/51/operation/Session%3a%20Update%20Session.html?locale=en_US

在“更新会话”部分中,它说:

您可以请求添加或更新会话中包含的请求字段。


使用邮递员,我设置

授权:基本身份验证为用户名部分中的“商家。{您的网关商家 ID}”和密码部分中的 API 密码。

网址:“ https://ap-gateway.mastercard.com/api/rest/version/51/merchant/{merchantId}/session/{sessionId }

方法:

正文:“原始”为 JSON,如下所示:

{
    "sourceOfFunds":{
        "provided":{
            "card":{
                "nameOnCard":"Joseph",
                "number":"5506900140100305",
                "securityCode":"100",
                "expiry":{
                    "month": "05",
                    "year": "21"
                }
            }
        }
    }
}

问题:得到响应。

{
    "error": {
        "cause": "INVALID_REQUEST",
        "explanation": "Directly providing cardholder data is not supported. Consider using a session or token."
    },
    "result": "ERROR"
}

我是如何获得 Session id 的!

我已遵循本指南:

https://ap-gateway.mastercard.com/api/documentation/apiDocumentation/rest-json/version/51/operation/Session%3a%20Create%20Session.html?locale=en_US


使用邮递员,我设置

授权:基本身份验证为用户名部分中的“商家。{您的网关商家 ID}”和密码部分中的 API 密码。

网址:https://ap-gateway.mastercard.com/api/rest/version/51/merchant/{merchantId}/session

方法:POST

正文:“原始”为 JSON,如下所示:

{
   "apiOperation": "CREATE_CHECKOUT_SESSION",
   "order": {
       "currency": "USD",
       "id": "2000",
       "amount": 5
   }
}

成功:得到响应。

{
    "merchant": "merchantId",
    "result": "SUCCESS",
    "session": {
        "id": "SESSION0002210064458I18884862F9",
        "updateStatus": "SUCCESS",
        "version": "f531053101"
    },
    "successIndicator": "4c47702b70cb4f16"
}

我在上述请求中收到的会话 ID 已传递给更新会话请求。

我希望更新的会话包含卡信息,但收到错误:“不支持直接提供持卡人数据。考虑使用会话或令牌。”

4

1 回答 1

-1

出现错误是因为您尚未为您的 MercerID 启用标记化。

您可以使用以下步骤集成支付网关: 1. 使用以下主体进行 CREATE CHECKOUT SESSION API 调用

    {
    "apiOperation" : "CREATE_CHECKOUT_SESSION",
    "order": {
            "amount" : "0.001",
            "currency" : "BHD",
            "id" : "3"
        },
        "interaction":{
        "operation":"PURCHASE", 
        "returnUrl":"http://www.your-success-page-url.com/",
        "cancelUrl":"http://pay.your-failure-page-url.com/"
        }
    }

第 3 步:复制 sessionID 并将其附加到支付网关 URL 的末尾,然后将此 URL 粘贴到浏览器中。示例:https ://gateway.mastercard.com/checkout/pay/SESSION_ID_OF_CHECKOUT_SESSION_API

于 2020-05-25T07:09:55.130 回答