MPGS(万事达卡):如何标记交易(如何创建令牌)?

evi*_*iko 7 payment integration postman

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

我正在遵循本指南:

HTTPS://样品sub.domain?.mastercard.com / API /文档/ integrationGuidelines / SUPPORTEDFEATURES / pickAdditionalFunctionality /标记化/ tokenization.html语言环境= EN_US#x_tokenConfiguration

在“令牌操作”>“令牌化”部分中,它说:

您可以使用此操作来创建或更新令牌通过存储对缴费凭证的详细信息。...

我发布此信息是为了帮助像我一样对 MPGS 感到沮丧的人。我遇到了一系列问题,并多次脱掉头发。所以这是我面临的问题以及如何解决它们(我被问题 4 困住了)。


问题 #1:凭据无效。

修复:确保您点击了正确的 URL。

https:// example-subdomain .mastercard.com/..

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

https:// MILLION-OTHER-POSSIBILITIES .mastercard.com/..

甚至文档指南链接也有这些相同的子域,因此请确保您点击了正确的 URL,并确保您遵循正确的文档链接。


问题 2:无效的参数,或服务器虽然您提供了参数但仍要求提供参数。

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

{
    "sourceOfFunds": {
        "provided": {
            "card": {
                "expiry": {
                    "month": "05",
                    "year": "21"
                },
                "number": "5123456789012346"
            }
        },
        "type": "CARD"
    }
}
Run Code Online (Sandbox Code Playgroud)

问题 3:需要授权

修复:如果使用 Postman,请点击“授权”,将“类型”设置为Basic Auth,将“用户名”设置为Merchant.YOUR_MERCHANT_ID,将“密码”设置为YOUR_API_PASSWORD


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

方法:PUT

网址:https://测试my.sample.gateway .mastercard.com / API / REST /版本/ 46 /贸易/ MY_MERCHANT_ID /标记/ 9999999999999999

授权:在授权选项卡中正确设置

身体 > 原始:

{
    "sourceOfFunds": {
        "provided": {
            "card": {
                "expiry": {
                    "month": "05",
                    "year": "21"
                },
                "number": "5123456789012346"
            }
        },
        "type": "CARD"
    }
}
Run Code Online (Sandbox Code Playgroud)

回复:

{
    "error": {
        "cause": "INVALID_REQUEST",
        "explanation": "Value '9999999999999999' is invalid. Card token must not be supplied",
        "field": "tokenid",
        "validationType": "INVALID"
    },
    "result": "ERROR"
}
Run Code Online (Sandbox Code Playgroud)

问:不确定如何标记交易..?!我被问题 #4困住了。

evi*_*iko 4

好吧,终于想通了。MPGS 有 2 种创建/更新令牌的方法:

  1. 您提供代币的代币化(注意:PUT方法)
  2. MPGS 为您生成令牌的令牌化(注意:POST方法)

他们非常相似。

我用第二个选项就可以了。

注意:这是POST方法!

方法:邮寄

网址:https:// SUBDOMAIN_YOU_SHOULD_BE_USING .mastercard.com/api/rest/version/50/merchant/ YOUR_MERCHANT_ID /token

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

要发送的示例数据(在邮递员中,这应该位于 Body > raw 中):

{
    "sourceOfFunds": {
        "provided": {
            "card": {
                "expiry": {
                    "month": "05",
                    "year": "21"
                },
                "number": "5123456789012346"
            }
        },
        "type": "CARD"
    }
}
Run Code Online (Sandbox Code Playgroud)

响应示例:

{
    "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"
}
Run Code Online (Sandbox Code Playgroud)

  • `{ "error": { "cause": "INVALID_REQUEST", "explanation": "缺少参数。商户未启用令牌化", "field": "sourceOfFunds.token", "validationType": "MISSING" }, "result": "ERROR" }` 这是我的问题我正在使用此端点的 POST https://ap-gateway.mastercard.com/api/rest/version/57/merchant/{merchant_id}/token (2认同)