# CheckoutDemo **Repository Path**: zhiwentan/CheckoutDemo ## Basic Information - **Project Name**: CheckoutDemo - **Description**: 收银台sdk的使用demo - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-02-28 - **Last Updated**: 2021-11-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### Android收银台sdk使用 ## 使用demo https://gitee.com/zhiwentan/CheckoutDemo.git ## 接入方法: gradle 加入: ```groovy repositories { flatDir { dirs file('libs') } } dependencies { implementation 'com.squareup.retrofit2:retrofit:2.6.2' implementation 'com.squareup.retrofit2:converter-gson:2.6.2' implementation 'com.squareup.okhttp3:okhttp:4.9.0' implementation 'com.squareup.okhttp3:logging-interceptor:4.9.0' implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.19' implementation "com.tencent.mm.opensdk:wechat-sdk-android-without-mta:+" implementation (name: 'sgmw_checkout-release-v1.1.0', ext: 'aar') implementation (name: 'alipaySdk-15.6.5-20190718211159-noUtdid', ext: 'aar') implementation (name: 'Sgmw-SensorsAnalyticsSDK-3.2.7', ext: 'aar') } ``` 混淆配置: ```java -keep public class com.baojun.checkout.api.** { *; } -keep public class com.baojun.checkout.di.** { *; } -keep public class com.baojun.checkout.UnionPayActivity { *; } ``` 接入环境:(在Application中配置) ```java /** * 初始化设置 * * @param d 是否是debug模式,ture则为debug,会输出日志 * @param appId 微信appId * @param machId 支付平台商户id * @param appName 应用Application,由支付平台分配提供 */ CheckoutApplication.init(true, "wxc4da9d6e527ea9b5", "2018032602448527", "llb-test"); //false指使用正式环境(默认配置) ``` 输出日志(默认开启) ```java /** * 是否开启日志输出,TAG为“CheckoutApplication”,默认输出 * * @param enable true:开启日志 * false:关闭日志 */ CheckoutApplication.enableLog(true); ``` 快速接入: ```java CheckoutBuilder builder = new CheckoutBuilder(MainActivity.this); builder.setorderNo("S2002271800006") .setOrderType("8") .show(); ``` 完整功能: ```java CheckoutBuilder builder = new CheckoutBuilder(MainActivity.this); builder.setorderNo("S2002271800006") .setOrderType("8") .setSubOrderNo("") .setSplitNo("") .setOrderAmount(2) .setPayResultCallback(new PayResult() { @Override public void result(Activity activity, boolean b) { //重写super方法,实现自定义页面跳转支付结果页面 //super.result(activity, b); } }) .setPayResultPageActionCallback(new PayResultPageAction() { @Override public void back(Activity activity) { super.back(activity); } @Override public void sure(Activity activity) { super.sure(activity); } }) .setUserActionCallback(new UserAction() { @Override public void laterPay(Activity activity) { super.laterPay(activity); } @Override public void backCheckout(Activity activity) { super.backCheckout(activity); } }) .show(); ``` | 参数名称 | 说明 | 是否必填 | 类型 | | ---------- | ---------------------------- | -------- | ------ | | orderId | 订单No(主订单) | true | string | | orderType | 订单类型 | true | string | | subOrderNo | 子订单编号 | false | string | | setSplitNo | 分笔支付标识 | false | string | | amount | 待支付金额(分笔支付时必填) | false | double | 三个回调方法: 1.收银台页面用户操作: ```java public interface UserActionCallback { void laterPay(Activity activity);//稍后支付按钮 void backCheckout(Activity activity);//左上角返回按钮 } ``` 2.支付结果回调: ```java public interface PayResultCallback { void result(Activity activity, boolean type); } //type:ture表示支付成功。 ``` 3.sdk自带支付结果页面用户操作: ```java public interface PayResultPageActionCallback { void back(Activity activity);//左上角返回按钮 void sure(Activity activity);//确认按钮 } ``` 以上支付接口提供抽象类,默认实现: 支付结果回调为跳转自带结果页面;其他默认finish页面。