2019-11-07 Android谷歌支付SDK集成问题记录

2019-11-07  本文已影响0人  馒Care

谷歌支付流程

1.谷歌支付介绍

https://developers.google.com/pay/api/android/overview

2.集成清单流程,按照谷歌的官方文档说明,必须满足这个链接里面显示的清单文件所有条件

https://developers.google.com/pay/api/android/guides/test-and-deploy/integration-checklist

3.谷歌支付SDK集成步骤,这里之所以先让你看集成清单流程,是想突出,流程比SDK集成重要,先看懂集成清单,才更加有利于你把SDK进行集成

https://developers.google.com/pay/api/android/guides/tutorial

4.关键API讲解 gateway gatewayMerchantId

private static JSONObject getGatewayTokenizationSpecification() throws JSONException {
        return new JSONObject() {{
            put("type", "PAYMENT_GATEWAY");
            put("parameters", new JSONObject() {
                {
                    /**
                     * geteway 这里显示的是example只是让你跑demo用的。实际情况下,需要根据你们公司的业务进行设置,
                     * 例如我们用的是stripe。这个地方就要替换example为stripe
                     * 参考链接:https://developers.google.com/pay/api/android/reference/request-objects#gateway 然后直接看Gateway 相关的属性
                     * gatewayMerchantId:YOUR_GATEWAY_MERCHANT_ID" 就是你们申请的商家账号(这个地方会有很多坑。)
                     */
                    put("gateway", "example");
                    put("gatewayMerchantId", "exampleGatewayMerchantId");
                }
            });
        }};
    }

代码注释描述的比较清晰了。这个地方是决定能否正常使用谷歌支付的关键点,如果你是直接用demo跑的,谷歌都会正常调用起你的支付、付款流程,里面的关键参数:gateway/gatewayMerchantId 需要根据正式环境申请的数据进行填写
5.关键API讲解
PaymentsClient
WalletConstants.ENVIRONMENT_PRODUCTION
WalletConstants.ENVIRONMENT_TEST

mPaymentsClient =
                Wallet.getPaymentsClient(this,
                            new Wallet.WalletOptions.Builder().setEnvironment(WalletConstants.ENVIRONMENT_TEST)
                                .build());

如果我们直接跑demo。会发现这里显示的环境是测试环境,需要知道的是,测试环境只是告知我们支付的流程,并不能用于我们上线的时候使用,因为测试支付流程是不会正常扣款的。所以,我们需要设置成WalletConstants.ENVIRONMENT_PRODUCTION

问题点(全文最关键的点)

1.当我们按照上述流程进行测试环境的流程拉通后,必定要走生产环境的流程WalletConstants.ENVIRONMENT_PRODUCTION,这个时候,会发现一直无法正常调用起谷歌支付,也许会提醒你,“该商户未开通gooogle pay” 或者405等问题。查找相关问题,
请参考:https://developers.google.com/pay/api/android/support/troubleshooting
这里强行解释一波。出现这些问题的根节点,在于,我们没有向谷歌发起申请,要求生产访问的申请,请参考

https://developers.google.com/pay/api/android/guides/test-and-deploy/request-prod-access
https://services.google.com/fb/forms/googlepayAPIenable/

里面有很多参数需要填写,比较关键的地方

这一项,相当重要了。你需要做的是,录一段视频,放到外网,我是放facebook上面,然后把链接贴上去。这段视频,要拍摄的是你app里面有关于支付的使用流程,越详细越好,要在app里面进行菜单选择、购物车添加、发起支付(这里的支付,直接用测试环境进行支付).谷歌想知道,为什么你需要集成支付功能。所以这一段视频是相当关键的,决定了你是否能够在生产环境进行支付。

payments.developers.google.com/signup.
你需要在这个链接里面填写相关公司的资料。然后点击NEXT 选择你需要集成支付功能的apk项目点击enable。打开

至此,谷歌SDK支付功能已经全部讲解完毕,网上有很多教程,我觉得讲的都不够透彻,完全没有讲解到点上,云里雾里,附上申请成功后,谷歌反馈的邮件信息,只要收到这封邮件,一切都是很顺理成章了

image.png
上一篇下一篇

猜你喜欢

热点阅读