Android ONE store支付封装

本文介绍了Android应用内集成ONE store支付的详细过程,包括查看官方文档、下载jar包、支付流程、回调处理和横屏配置。强调了验证消费的重要性,并提供了一个完整的支付流程概述。适合需要为韩国市场开发游戏应用的开发者参考。
摘要由CSDN通过智能技术生成

前提:

之前写过一篇Android Google应用内支付,刚好公司的主营业务是海外app开发。前段时间也需要支持了韩国那边的应用内支付,给的文档上面讲了需要集成onestore支付。由于对韩国那边的应用内支付没有什么概念,所以就百度了一番。奈何,文档太少或者写的不是很清晰(难道能说是因为自己不太理解)。所以,自己就看着官方文档做了集成了一番,踩了不少坑。但是,总体来说,比较官方文档讲的比较清楚。好了,讲了这么多,下面看如何集成吧。

首先

  • 1、查看文档
    要做ONE store集成开发,第一步当然是查看官方文档了,我这里集成的是最新的版本,也就是v5版本。也有之前的v3和v4等版本,但是,人要向前看不是。所以,就集成了最新的版本了。

onestore官方文档.png

onestore官方文档集成.png

  • 2、下载ONE store的jar包(在如下图所示的地方下载对应的开发包和官方demo)
    题外话:感觉官方的demo写的真的不咋地,还没有文档写的清楚,并且让人看得云里雾里的。

image.png
注意:官方jar包下载地址在github上面,不清楚的可以点这里查看
jar下载地址.png
注意:上面红框标注的就是我们需要的jar包

  • 3、支付接入文档(两种实现方式)
    1、调用AIDL接口实现
    2、使用SDK实现(建议使用第二种,笔者使用的就是第二种)
    image.png

其次

上面讲了那么多,那么看看官方文档的接入到底是个什么样子的呢?下面是目录截图
image.png

  • 1、在看到了上面的截图之后,我们这里讲一下支付的整个流程。

  • 第一步:安装ONE store客户端,如果不安装ONE store的客户端是不能支付的,并且需要自备梯子。

  • 第二步:初始化ONE store,如果初始化失败或者连接不到ONE store也是不能调起ONE store支付的。

  • 第三步:查询是否支持ONE store支付,如果支持再进行下一步。

  • 第四步:查询购买记录,并且进行消费(主要是针对管理型商品(inapp))。注意:如果不进行消费是不能进行购买请求的(和Google支付很相似),这里笔者刚开始被坑了很久,一直不能支付,主要还是没有认真看文档,哈哈哈。

  • 第五步:填写相关信息,进行购买请求。

  • 第六步:这里呢,主要是对onestore购买请求的回调处理。比如说拿到支付ID和订单号,上传到自己的服务器进行验证处理。如果验证通过了,服务器那边会和ONE store对接验证,然后,ONE store会进行发货处理,然后服务器给你一个反馈,然后,你再次调用__消费处理__,这样,一个完整的支付流程就完了。

  • 第七步:释放操作。

  • 2、说了那么多,估计你们看文字都看累了,下面,看代码。

     public class OneStorePlayManager {
    
     @SuppressLint("StaticFieldLeak")
     //支付客户端
     private static PurchaseClient mPurchaseClient;
     //版本
    private static final int IAP_API_VERSION = 5;
    private static final String TAG = OneStorePlayManager.class.getSimpleName();
     //签名验证
    private static final String KEY_FACTORY_ALGORITHM = "RSA";
    private static final String SIGNATURE_ALGORITHM = "SHA512withRSA";
     //公钥
    private static String mPublicKey;
    //是否初始化
    private static boolean mIsInit = false;
    private static final String PURCHASE_ID = "PURCHASE_ID";
    private static final String DEVELOPER_PAYLOAD = "DEVELOPER_PAYLOAD";
    //是否消费
    private static boolean mISConsume = false;
    
    private static void init(Context context, String publickey) {
      mPurchaseClient = new PurchaseClient(context, publickey);
      mPublicKey = publickey;
    }
    
    
    /**
     * 初始化
     *
     * @param context   上下文
     * @param mListener 回调
     */
    public static void initOneStore(final Activity context, final String pub
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值