如何创建/更新会话? (集成在Android和iOS中的万事达卡网关)

时间:2019-07-25 07:59:41

标签: android ios postman integration mastercard

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

我正在遵循本指南:

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}

方法: PUT

正文:“ 原始”为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"
}

我如何获取会话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} /会话

方法: 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已传递给更新会话请求。

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

1 个答案:

答案 0 :(得分:0)

该错误即将到来,因为您尚未为商人ID启用令牌化。

您可以使用以下步骤集成支付网关: 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