最近公司打算游戏出海,接入Google Play Billing进行支付,记录一下
接入流程
- 展示支付界面
- 初始化
BillingClient
- 连接
startConnection
- 调起支付
launchBillingFlow
- 监听支付回调
- 与自己服务器校验支付:将
PurschaseToken
发至服务器,由服务器purchases.products.get
查询支付结果,若支付成功服务器调用cp进行发货并调用purchases.products.acknowledge
确认此笔支付 - 上一步骤中也可以客户端调用
billingClient.consumeAsync
进行确认 - 完成支付
注意事项
- 针对非一次性商品(可多次购买),需要调用
billingClient.consumeAsync
进行消耗确认,若上一笔支付没有进行billingClient.consumeAsync
,再次支付时会提示"您已拥有此内容",google认为你消耗了此笔支付才能进行下一笔同sku的支付 - 针对一次性商品,需要调用
billingClient.acknowledgePurchase
接口确认购买,下次用户再购买时将无法购买了,会提示"您已拥有此内容"
网友评论