我正在尝试在我的网站上使用Google Pay。一旦我确认付款,Google就会返回以下数据结构:
但是我需要这样的东西:
{
"signature":"MEYCIQDTe92wpG6OUgxJ/8Qnr36XzSgjGGCM7R3LwxjgwPYMTAIhAJDrjHG9wEm1BxVM6MMMB+jGTGpi3VScEMVbHIUsObFi",
"protocolVersion":"ECv2",
"signedMessage":"{\"encryptedMessage\":\"FY8w/U3IbdsZQovX8ufNGFDOePgc/genRiMjHyvuIBqLY4a6uPz7wI0ra31K6YbFJlAnCjFhTwSvDxAYXw6hlmI8sESO5eM1eZlzfP3+NoKV80OXKvOM/xI/qOQEqpEQEVXx6Bw2EpMMFW8yBaA8XPUNee3EJlUk+/f8lRdRcNmI65QKPLAzUnySo75HzBkSc5It/8/oXdYwR93/K6HRKGZuD+bIaxy3SUvC9ehQqhBoP+A34yQX1knfJ1qjBMhhVVcPZHi+Bg6LXA4ms/lfDdim6D1Epr6XQhc2h4RZ/dT+6Enn81s/8ym+jMMs8kqsW9ib8vkdTARv9AbUu7zeGPrKTCAxwc1n6joRR72dSnNCI9j9sxd9tkuC9wuRyDmjbWT+hRZgLc1v/xzzNImo3NxdKdaPzKBE3t9XQZY5fp3lZELaoXAuxAZYtZ7bX64Mz9c28wD8EM+krvfbmGMiBjIt8EfeH48/SjeaUKfDu+yQnjPJAKbDZPhKJ1jqlY/ChP0Om7spQacT86QUVK/DwfzukwvwwRJkWydNEac5fgfS2T6ToZ+PW4VHbxkDnY/h+B0uwdlNQIL2a3Ar5Q\\u003d\\u003d\",\"ephemeralPublicKey\":\"BGkK4bSvob+e7ZgaNV/4vSJYYa10OJzd3aUk9yPEP6iNBRcfHiD/NTvhKjN4P24l0tEzH3L8TrySl6AczPJpCkw\\u003d\",\"tag\":\"xGEhEfJESIyBSfq2fExWiZxNWelnm3m4i8P7cgsarqg\\u003d\"}"
}
请问我应该怎么做才能获得第二个数据结构。谢谢!
答案 0 :(得分:1)
在paymentMethodData.tokenizationData.token
下可以找到您需要的响应。但是,此字段的内容由传递给loadPaymentData
的请求参数确定。您是否可以包含用于生成上述响应的请求?
仅供参考,以下JSFiddle将产生与您所追求的结果类似的结果:
const tokenizationSpecification = {
type: 'DIRECT',
parameters: {
'protocolVersion': 'ECv2',
'publicKey': 'BMzk6xvwPgU8vjB...7KRu4tuRmhm6nv8=',
}
};
/*
{
"signature":"MEUCI...TougPg",
"protocolVersion":"ECv2",
"signedMessage": "{\"encryptedMessage\":\"VhQuaN...5o0Ny6Y\\u003d\"}"
}
*/
我通过使用discouraged的DIRECT
标记化规范实现了这一点:
要点:直接集成允许商家在其服务器上解密Google Pay响应。要符合资格,您必须符合支付卡行业(PCI)数据安全标准(DSS)1级标准。您的服务器还需要具有必需的基础结构,以安全地处理用户的付款凭证。
代表实际商家提供网关或处理服务的第三方没有资格使用直接集成。如果您有关于如何集成为支付服务提供商的疑问,请与我们联系。
如果您不满足必要的先决条件,我们建议您使用受支持的网关来接收付款令牌。
答案 1 :(得分:0)
不确定这是否仍然是一个未解决的问题。但是,这是我的2美分,可能是您解决方案的答案。
请注意 :如果仅使用WorldPay / Vantiv,这是一个答案。
从上面您第一次获得令牌后,我相信您将网关用作“ 主动”
"gateway": "vantiv"
"vantiv:merchantPayPageId": "YOUR_PAY_PAGE_ID"
"vantiv:merchantOrderId": "YOUR_ORDER_ID"
"vantiv:merchantTransactionId": "YOUR_TRANSACTION_ID"
"vantiv:merchantReportGroup": "*web"
如果您想获得带有署名和signatureMessage的第二个响应,那么您要做的就是将网关更改为“ worldpay ”,您应该会得到相同的响应:
"gateway": "worldpay"
"gatewayMerchantId": "YOUR_WORLDPAY_MERCHANT_ID"
您可以找到请求here