Android Google应用内支付(新的集成方式)

前言

之前写过一篇通过AIDL方式集成Google支付
的文章,如有需要,可以去看看。但是,不建议使用。为啥呢?,因为最近看Google文档中说已经不再支持AIDL的方式了。所以今天就来说说新的Google支付继承方式,当然,我们这里只说集成方式,配置可以看Google(应用内支付)官方文档

准备工作

要集成Google支付的准备工作有哪些呢?

  • 1、手机上安装__Google服务__(当然是针对国内的用户,国外的相信大部分都有Google服务);
  • 2、一个绑定信用卡的Google账号;
  • 3、Google play客户端;
  • 4、Google play console用于配置应用内商品信息);

首先

上面的准备工作都做好了之后需要干什么呢?当然是在Google play console上配置相关应用和商品信息了,至于如何配置具体可以参考Google支付配置

  • 1、支付流程说明
    关于Google支付的流程说明:
    1>前提条件

    1、检查你的包名和签名文件是否和Google Console 上面上传的apk包是否一致
    2、检查版本号是否和Google console发布的apk版本是否一致
    3、检查你是否可以购买,是否绑定了银行卡,手机支不支持Google支付,手机是否有Google服务
    

    2>支付流程

     1、第一步,初始化Google支付
     2、第二步,初始化成功后调用查询购买的商品操作,查询成功调用消耗操作,防止不能购买的情 况发生
     3、第三步,生成订单号进行购买操作
     4、第四步,购买成功后再次调用一次消耗操作(为了下次购买可以成功)
     5、第五步,拿到Google支付返回的相关信息,在服务器进行验证操作。
     6、第六步,服务器拿到你上传的相关信息和Google支付进行交互验证,验证成功后Google发货,服务器给你返回相关信息
    
  • 2、集成工作
    首先在你的项目的build.gradle文件中加入Google支付的在线依赖

    implementation 'com.android.billingclient:billing:2.1.0'
    

注意:我用的时候版本是2.1.0,你可以去官网查查最新的版本

其次

上面是接入的前提条件,下面看具体代码

public class GooglePlayHelper {
private static final String TAG = GooglePlayHelper.class.getSimpleName();
private static final int GAME_ORDER_ID=0x01;

//订单号
private String mOrderID;
//商品集合
private WeakReference<Activity> mActivityRef;
//回调
private OnRechargeStateListener mListener;
//商品
private String mSku;
private String goods_number;//  商品ID,游戏提供
private BillingClient mBillingClient;
private int mPayTest;
private String mConsume = "0";

GooglePlayHelper(Activity activity, 
                String goods_number, int mPayTest,
                 String sku, OnRechargeStateListener mListener) {
    this.mActivityRef = new WeakReference<>(activity);
    this.goods_number = goods_number;
    this.mSku = sku;
    this.mPayTest = mPayTest;
    this.mListener = mListener;
}




/**
 * 初始化
 */
void init() {
    mBillingClient = BillingClient.newBuilder(mActivityRef.get())
            .setListener(mPurchasesUpdatedListener)
            .enablePendingPurchases()
            .build();
    if (!mBillingClient.isReady()) {
        mBillingClient.startConnection(new BillingClientStateListener() {
            @Override
            public void onBillingSetupFinished(BillingResult billingResult) {
                if (b
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值