我正在使用 Visa 应用内配置来获取一些测试卡信息和 Google Pay 的 OPC(不透明支付卡)(沙盒数据)。
然后,我将检索到的 OPC 编码为 Base64,并将其与 PushTokenizeRequest 对象中的卡信息一起传递给
tapAndPayClient.pushTokenize()
。
但是,当在 Android 上运行该应用程序并在 Google Pay 中确认地址后,我遇到一条错误消息:“出现问题。参数无效。”
我收到的OPC对象如下:
{
"paymentAccountReference": "V1234567890124514231274459132",
"last4": "9132",
"expirationDate": {"month": "12", "year": "2030"},
"encAddress": "eyJraWQiOiJiNTFkZmEyMyIsImVuYy.....",
"opaquePaymentCard": "eyJhdWQiOiIxODk5NzZhNi0yZm......",
"vCardID": "v-123-c1a347c1-bd85-43e3-88c2-a8070f4d1901"
}
我使用以下代码将 OPC 编码为 Base64:
String encodedResponseBody = Base64.getEncoder().encodeToString(responseBody.getBytes());
任何帮助将不胜感激。
根据 Android Push Provisioning API 文档,您应该像这样发送 OPC:
Base64.encodeToString(responseBody.toByteArray(), Base64.NO_WRAP),