MPGS(万事达卡):如何对交易进行令牌化(如何创建令牌)?

时间:2019-01-23 09:35:14

标签: postman integration payment

我正在尝试使用MPGS创建令牌。

我正在遵循本指南:

https:// sample-sub.domain .mastercard.com / api / documentation / integrationGuidelines / supportedFeatures / pickAdditionalFunctionality / tokenization / tokenization.html?locale = zh_CN#x_tokenConfiguration

在“令牌操作”>“令牌化”部分中,内容为:

  

您可以使用以下操作通过存储来创建或更新令牌   针对令牌的付款明细。 ...

我发布此信息是为了帮助那些像我一样对MPGS感到沮丧的人。我面临一系列问题,并多次脱发。所以这是我面临的问题以及如何解决这些问题(我陷入了问题4)。


问题1:无效的凭据。

修复:确保您输入的是正确的网址。

https:// 示例子域 .mastercard.com /..

https:// some.other-example .mastercard.com / ..

https:// 其他百万种可能性 .mastercard.com /..

即使文档指南链接也具有这些相同的子域,所以请确保您输入的是正确的URL,并确保您遵循的是正确的文档链接。


问题#2:无效的参数,或服务器询问了参数,尽管已提供了这些参数。

修复::如果使用Postman,请确保将“正文”>“ 原始”中的参数设置为JSON,如下所示:

{
    "sourceOfFunds": {
        "provided": {
            "card": {
                "expiry": {
                    "month": "05",
                    "year": "21"
                },
                "number": "5123456789012346"
            }
        },
        "type": "CARD"
    }
}

问题3:需要授权

修复::如果使用Postman,则单击“授权”,将“类型”设置为基本身份验证,对于“用户名”,将其设置为商家。 YOUR_MERCHANT_ID ,对于“密码”,将其设置为 YOUR_API_PASSWORD


问题4(卡在此处):值“ 9999999999999999”无效。不得提供卡令牌

方法: PUT

URL:https:// test-my.sample.gateway .mastercard.com / api / rest / version / 46 / merchant / MY_MERCHANT_ID /令牌/ 9999999999999999

授权:在“授权”标签中正确设置

身体>原始:

{
    "sourceOfFunds": {
        "provided": {
            "card": {
                "expiry": {
                    "month": "05",
                    "year": "21"
                },
                "number": "5123456789012346"
            }
        },
        "type": "CARD"
    }
}

响应:

{
    "error": {
        "cause": "INVALID_REQUEST",
        "explanation": "Value '9999999999999999' is invalid. Card token must not be supplied",
        "field": "tokenid",
        "validationType": "INVALID"
    },
    "result": "ERROR"
}

问::不确定如何标记交易记录。我陷入了第4个问题

1 个答案:

答案 0 :(得分:0)

好,终于明白了。 MPGS有两种创建/更新令牌的方式:

  1. Tokenization where YOU provide the token(注意: PUT 方法)
  2. Tokenization where MPGS generate the token for you(注意: POST 方法)

它们非常相似。

我让它与第二个选项一起工作。

注意:这是 POST 方法!

方法: POST

URL:https:// SUBDOMAIN_YOU_SHOULD_BE_USING .mastercard.com / api / rest / version / 50 / merchant / 您的MERCHANT_ID /令牌

在邮递员中,设置授权(如问题所述,在问题#3 中)。

要发送的示例数据(在邮递员中,应在“正文”>“原始”中):

{
    "sourceOfFunds": {
        "provided": {
            "card": {
                "expiry": {
                    "month": "05",
                    "year": "21"
                },
                "number": "5123456789012346"
            }
        },
        "type": "CARD"
    }
}

示例响应:

{
    "repositoryId": "1000000000002",
    "response": {
        "gatewayCode": "BASIC_VERIFICATION_SUCCESSFUL"
    },
    "result": "SUCCESS",
    "sourceOfFunds": {
        "provided": {
            "card": {
                "brand": "MASTERCARD",
                "expiry": "0521",
                "fundingMethod": "CREDIT",
                "issuer": "BANCO DEL PICHINCHA, C.A.",
                "number": "512345xxxxxx2346",
                "scheme": "MASTERCARD"
            }
        },
        "type": "CARD"
    },
    "status": "VALID",
    "token": "9717501974559694",
    "usage": {
        "lastUpdated": "2019-02-25T09:36:54.928Z",
        "lastUpdatedBy": "1015",
        "lastUsed": "2019-02-25T09:36:54.928Z"
    },
    "verificationStrategy": "BASIC"
}