我已按照提供的教程进行操作 HERE.可以找到快速入门演示HERE .
如果我在方法下方的“tokenizationSpecification”参数中选择,
private static JSONObject getGatewayTokenizationSpecification() throws JSONException {
return new JSONObject(){{
put("type", "PAYMENT_GATEWAY");
put("parameters", new JSONObject(){{
put("gateway", "example");
put("gatewayMerchantId", "exampleGatewayMerchantId");
}
});
}};
}
它工作正常,但如果我选择以下方法,
private static JSONObject getDirectTokenizationSpecification()
throws JSONException, RuntimeException {
if (Constants.DIRECT_TOKENIZATION_PARAMETERS.isEmpty()
|| Constants.DIRECT_TOKENIZATION_PUBLIC_KEY.isEmpty()
|| Constants.DIRECT_TOKENIZATION_PUBLIC_KEY == null
|| Constants.DIRECT_TOKENIZATION_PUBLIC_KEY == "REPLACE_ME") {
throw new RuntimeException(
"Please edit the Constants.java file to add protocol version & public key.");
}
JSONObject tokenizationSpecification = new JSONObject();
tokenizationSpecification.put("type", "DIRECT");
JSONObject parameters = new JSONObject(Constants.DIRECT_TOKENIZATION_PARAMETERS);
tokenizationSpecification.put("parameters", parameters);
return tokenizationSpecification;
}
它不工作。[不显示我的卡片列表。]
注意:-我已经执行了以下方法来生成公钥并将其替换为常量文件。
#生成私钥 openssl ecparam -name prime256v1 -genkey -noout -out key.pem
# generate a base64-encoded public key
openssl ec -in key.pem -pubout -text -noout 2> /dev/null | grep "pub:" -A5 | sed 1d | xxd -r -p | base64 | paste -sd "\0" -
问题:- - 我必须在谷歌支付中有开发者资料才能运行演示吗?
最佳答案
在这种情况下,国家/地区可能是一个因素。
要消除这种情况,您可以尝试创建一个新的 Google 帐户以进行测试吗?在美国创建此 Google 帐户并向该帐户添加付款方式/信用卡。
使用以下示例对其进行测试:https://jsfiddle.net/pxsb4jhn/ (它适用于我,我位于美国)
const allowedCardNetworks = ["AMEX", "DISCOVER", "INTERAC", "JCB", "MASTERCARD", "VISA"];
const tokenizationSpecification = {
"type": "DIRECT",
"parameters": {
"protocolVersion": "ECv2",
"publicKey": "BOdoXP+9Aq473SnGwg3JU1aiNpsd9vH2ognq4PtDtlLGa3Kj8TPf+jaQNPyDSkh3JUhiS0KyrrlWhAgNZKHYF2Y="
}
};
如果它能正常工作并显示卡片,则可能是您使用的用户所在的国家/地区现在提供 DIRECT 集成的问题。
它仍然不起作用,这可能是卡不支持 DIRECT 集成的问题,在这种情况下,请尝试使用不同的卡(最好来自美国等其他国家/地区 - 如果您不这样做,这可能会很困难有一个可用的)。
关于android - 如果我为支付 token 化选项选择 "quick-start-demo"方法,Google Pay "DIRECT"不显示卡列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59105433/