Ano*_*elo 3 base64 json checkout applepay
如何以某种方式获取 Apple Pay 支付令牌的示例(如此处所述),而不实际使用 Apple 设备向 Apple 请求付款?
我正在创建一个端点,该端点将接受 Apple Pay 支付令牌,该令牌与请求 Apple 付款的设备上收到的令牌完全相同。然而,它是一个二进制数据,因此必须将其解码为我认为的普通 json 对象。这个 json 对象的格式/结构是什么?
从 Checkout.com 关于 Apple Pay 的文档(此处)中,我假设解码后的 json 对象看起来像这样(尽管他们将其标记为“示例”,所以我不能确定):
{
"type": "applepay",
"token_data": {
"version": "EC_v1",
"data": "t7GeajLB9skXB...",
"signature": "MIAGCSqGSIb3DQEHAq...",
"header": {
"ephemeralPublicKey": "MFkwEwYHKoZIzj...",
"publicKeyHash": "tqYV+tmG9aMh+l/K6cicU...",
"transactionId": "3cee89679130a4b2617c..."
}
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,为简洁起见,上述字段中的数据已被缩短。
Apple 向请求付款的设备发送的确切对象/数据是什么?
任何帮助将不胜感激!
我已经设法弄清楚苹果发送了什么作为支付令牌。
\n\nApple 发送一个PKPaymentToken可以解码为 json 的二进制数据 ( )。json 对象如下所示:
{\n "data":"...",\n "signature":"...",\n "version":"..",\n "header":{\n "applicationData":"...",\n "ephemeralPublicKey":"...",\n "wrappedKey":"...",\n "publicKeyHash":"...",\n "transactionId":"..."\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n\n因此,使用支付令牌首先需要将二进制数据解码为 json,然后可以将其发送给商家(例如 Checkout 或 Stripe)。需要注意的是,json对象中的一些字段是加密的。它们可以在未加密或加密的情况下使用。例如,Checkout 接受加密字段。
\n\n代币
\n\n\n\n\ndata : 支付数据字典,Base64编码为字符串
\n\nheader : 标题字典
\n\n签名:分离的 PKCS #7 签名,Base64 编码为字符串
\n\n版本:字符串
\n
标头
\n\n\n\n\n\napplicationData:SHA\xe2\x80\x93256 哈希,十六进制编码为字符串
\n\nephemeralPublicKey:X.509 编码的密钥字节,Base64 编码为字符串
\n\nwrappedKey : Base64 编码的字符串
\n\npublicKeyHash:SHA\xe2\x80\x93256 哈希,Base64 编码为字符串
\n\ntransactionId:十六进制标识符,作为字符串
\n
| 归档时间: |
|
| 查看次数: |
6901 次 |
| 最近记录: |