首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果我选择“直接”付费方法,Google支付“快速启动演示”不显示卡列表。

如果我选择“直接”付费方法,Google支付“快速启动演示”不显示卡列表。
EN

Stack Overflow用户
提问于 2019-11-29 13:06:33
回答 2查看 301关注 0票数 2

我已经遵循了教程提供的这里。快速启动演示可以找到这里

如果在下面的方法中选择"tokenizationSpecification“参数,

代码语言:javascript
复制
private static JSONObject getGatewayTokenizationSpecification() throws JSONException {
return new JSONObject(){{
  put("type", "PAYMENT_GATEWAY");
  put("parameters", new JSONObject(){{
    put("gateway", "example");
    put("gatewayMerchantId", "exampleGatewayMerchantId");
    }
  });
}};

}

很好,但如果我选择下面的方法,

代码语言:javascript
复制
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;
}

不工作。没有显示我的卡片列表。

备注:-I执行了下面的方法来生成公钥,并将其替换为常量文件。

生成私钥openssl ecparam -name prime256v1 -genkey -noout -out key.pem

代码语言:javascript
复制
# 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" -

问题:- -Do我必须在google中有开发者的个人资料才能运行演示?

EN

回答 2

Stack Overflow用户

发布于 2019-12-02 19:24:48

在这种情况下,国家可能是一个因素。

为了消除这种情况,您可以尝试创建一个新的Google帐户来进行测试吗?在美国创建这个Google帐户,并在该帐户中添加一个支付方法/信用卡。

使用以下示例测试它:https://jsfiddle.net/pxsb4jhn/ (它对我有用,我位于美国)

代码语言:javascript
复制
const allowedCardNetworks = ["AMEX", "DISCOVER", "INTERAC", "JCB", "MASTERCARD", "VISA"];

const tokenizationSpecification = {
  "type": "DIRECT",
  "parameters": {
    "protocolVersion": "ECv2",
    "publicKey": "BOdoXP+9Aq473SnGwg3JU1aiNpsd9vH2ognq4PtDtlLGa3Kj8TPf+jaQNPyDSkh3JUhiS0KyrrlWhAgNZKHYF2Y="
  }
};

如果它工作和显示卡,它很可能是一个问题,直接集成现在可以在国家的用户使用。

它仍然不起作用,这可能是卡不支持直接整合的一个问题,在这种情况下,尝试使用另一张卡(最好是来自美国这样的另一个国家--如果你没有可用的卡,这可能会很困难)。

票数 1
EN

Stack Overflow用户

发布于 2019-12-02 06:14:34

本商户没有接受卡可供使用。

这条信息通常是在当前Google用户没有任何与商家提供的支付选项兼容的卡片时发出的。特别是allowedCardNetworksallowedAuthMethods

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59105433

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档