海外登录支付调研记录

本文详述了海外应用的支付接入流程,包括Google Play的前期配置、Facebook环境搭建和Google结算的接入。重点讨论了Google Play的支付测试,强调了测试账号、地区设置、商品创建以及错误排查等方面的问题。
摘要由CSDN通过智能技术生成

一、前期调研准备

1、google play商店配置

在360手机助手下载“GO谷歌安装器”,不要在手机助手上直接下载Google play,不知道为啥不能用。建议使用“GO谷歌安装器”里面配置环境的时候会配置安装Google play

2、facebook下载安装

facebook在Google play上找不到。地址一上传就审核拒绝,大家自己找APKPure,里面有这个应用

3、关于google play支付

前期准备
(1)申请一个google play开发者账号,需要支付25美金,确保你使用的是visa卡,不然支付费用的时候会有问题。
(2)提前准备好一个apk(占位用,只需要放入结算权限,不需要接入google 结算sdk),在google play控制台上传你的apk
(3)发布一个beta的测试版本(注意第一次在Google play上发布应用的时候审核时间会比较慢,而且提交的内容要接近真实游戏,不要自己编造,我提交的apk相关的内容都是自己的测试demo,然后审核就被拒了两次,建议提交内容的时候规范真实点,比较容易好过,只需要提交测试版,个人觉得正式版的审核会更慢),发布之前需要按照后台提示完成以下选项(提交商品详情内容)(确定内容分级)(选择发布范围)等,之后才能正常发布
(4)添加测试人员,等应用审核通过之后,会得到一个地址,把地址发给对方,让对方点击同意加入测试即可
(5)需要创建应用内商品(商品id,商品描述,定价),按提示填就可以了
(6)注意注意注意,如果要测试一定要审核通过才行啊!!!!!
(7)添加无需真实支付的测试人员:链接地址

目前遇到的问题是,只有两种账号能支付成功(测试账号+付费区、测试账号+visa卡支付过的):
==即使添加了测试账号,你的账号如果是非付费区,依然会连接支付服务失败。==这里建议大家进行下修改地区,只需要在google账号设置里增加地址就行,至于具体的地址,在网上都能搜到。

二、facebook

1、facebook环境配置

注意点
(1):按照文档提示步骤添加配置文件,facebook_app_id和fb_login_protocol_scheme就在配置的string.xml文件中
(2):重要~ 发布密钥散列。

keytool -exportcert -alias basefunctool_release -keystore "keystore文件" | openssl-0.9.8e_X64\bin\openssl sha1 -binary | openssl-0.9.8e_X64\bin\openssl base64

opnssl下载地址:https://download.csdn.net/download/fanwei4751/12613256

facebook登录后报错:Key hash does not match。明明是按照官方的提示设置的。最后才发现问题便出在openssl上,openssl较新的版本09.8k存在bug,其计算得出的key hash可能是错误的,我们回滚到0.9.8e版本,问题就解决了。

2、报错
SERVER_ERROR: [code] 1675030 [message]: 执行查询时出错。 [extra]: 

账号权限不足,需要在facebook后台添加测试账号。一般在上线前调试阶段会用到

三、Google 结算接入

1、确保Google Play配置正确

(1)在Google Play Console上传测试版本APK,并发布测试版本成功,确定上传APK的包名、版本号、APK签名。
(2)在Google Play Console上配置应用内商品
(3)将测试账号加入测试计划
(4)确保本地的测试包与上传的测试版本APK的包名、版本号、APK签名相同

2、消耗型商品支付接入
(1)连接到 Google Play和注册支付监听

调用支付前需要先保证初始化成功。如果初始化失败,建议重试几次。isConnectSucc = true就表示初始化成功了,可以进行后续操作了

private BillingClient billingClient;
private boolean isConnectSucc = false; //google支付是否连接上成功

/**
 * 初始化支付 :连接到 Google Play
 */
private void connectPay() {
   
    //purchasesUpdatedListener是支付后的回调监听
    billingClient = BillingClient.newBuilder(this).enablePendingPurchases().setListener(purchasesUpdatedListener).build();

    billingClient.startConnection(new BillingClientStateListener() {
   
        @Override
        public void onBillingSetupFinished(BillingResult billingResult) {
   
            if (billingResult.getResponseCode() == BillingClient.BillingResponseCode.OK) {
   
                isConnectSucc = true;
                // The BillingClient is ready. You can query purchases here.
                showLog("Init success,The BillingClient is ready");
                //每次进行重连的时候都应该消耗之前缓存的商品,不然可能会导致用户支付不了
                queryAndConsumePurchase();
            }
        }

        @Override
        public void onBillingServiceDisconnected() {
   
            //断开连接,当收到此回调时可以重新连接google否则会出现服务无法使用问题
            showLog("Init failed,Billing Service Disconnected,The BillingClient is not ready");
        }
    });
}
(2)查询商品信息后调用支付。支付的结果会显示在初始化时注册的支付监听中
1) 先查询商品信息
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值