- **使用方法**
- ### 1、引入
- ```
- compile 'com.javen205.jpay:jpaysdk:latest.release.here'
- ```
- ### 2. Android Manifest配置
- ##### 2.1权限声明
- ```
- <uses-permission android:name="android.permission.INTERNET"/>
- <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
- <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
- <uses-permission android:name="android.permission.READ_PHONE_STATE" />
- <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
- ```
- ##### 2.2注册activity
- `application`节点添加如下类容
- ```
- <!-- 微信支付 -->
- <activity
- android:name="com.javen205.jpay.weixin.WXPayEntryActivity"
- android:configChanges="orientation|keyboardHidden|navigation|screenSize"
- android:launchMode="singleTop"
- android:theme="@android:style/Theme.Translucent.NoTitleBar" />
- <activity-alias
- android:name=".wxapi.WXPayEntryActivity"
- android:exported="true"
- android:targetActivity="com.javen205.jpay.weixin.WXPayEntryActivity" />
- <!-- 微信支付 end -->
- <!-- alipay sdk begin -->
- <activity
- android:name="com.alipay.sdk.app.H5PayActivity"
- android:configChanges="orientation|keyboardHidden|navigation|screenSize"
- android:exported="false"
- android:screenOrientation="behind"
- android:windowSoftInputMode="adjustResize|stateHidden" >
- </activity>
- <activity
- android:name="com.alipay.sdk.app.H5AuthActivity"
- android:configChanges="orientation|keyboardHidden|navigation"
- android:exported="false"
- android:screenOrientation="behind"
- android:windowSoftInputMode="adjustResize|stateHidden" >
- </activity>
- <!-- alipay sdk end -->
- ```
- ### 3. 发起支付
- ##### 3.1 微信支付
- ```
- JPay.getIntance(mContext).toPay(JPay.PayMode.WXPAY, payParameters, new JPay.JPayListener() {
- @Override
- public void onPaySuccess() {
- Toast.makeText(mContext, "支付成功", Toast.LENGTH_SHORT).show()
- }
- @Override
- public void onPayError(int error_code, String message) {
- Toast.makeText(mContext, "支付失败>"+error_code+" "+ message, Toast.LENGTH_SHORT).show();
- }
- @Override
- public void onPayCancel() {
- Toast.makeText(mContext, "取消了支付", Toast.LENGTH_SHORT).show();
- }
- });
- ```
- `payParameters` 为JSON字符串格式如下:
- ```
- {
- "appId": "",
- "partnerId": "",
- "prepayId": "",
- "sign": "",
- "nonceStr" : "",
- "timeStamp": ""
- }
- ```
- 或者
- ```
- JPay.getIntance(mContext).toWxPay(appId, partnerId, prepayId, nonceStr, timeStamp, sign, new JPay.JPayListener() {
- @Override
- public void onPaySuccess() {
- Toast.makeText(mContext, "支付成功", Toast.LENGTH_SHORT).show();
- }
- @Override
- public void onPayError(int error_code, String message) {
- Toast.makeText(mContext, "支付失败>"+error_code+" "+ message, Toast.LENGTH_SHORT).show();
- }
- @Override
- public void onPayCancel() {
- Toast.makeText(mContext, "取消了支付", Toast.LENGTH_SHORT).show();
- }
- });
- ```
- ##### 3.2 支付宝支付
- ```
- JPay.getIntance(mContext).toPay(JPay.PayMode.ALIPAY, orderInfo, new JPay.JPayListener() {
- @Override
- public void onPaySuccess() {
- Toast.makeText(mContext, "支付成功", Toast.LENGTH_SHORT).show();
- }
- @Override
- public void onPayError(int error_code, String message) {
- Toast.makeText(mContext, "支付失败>"+error_code+" "+ message, Toast.LENGTH_SHORT).show();
- }
- @Override
- public void onPayCancel() {
- Toast.makeText(mContext, "取消了支付", Toast.LENGTH_SHORT).show();
- }
- });
- ```
- 或者
- ```
- Alipay.getInstance(mContext).startAliPay(orderInfo, new JPay.JPayListener() {
- @Override
- public void onPaySuccess() {
- }
- @Override
- public void onPayError(int error_code, String message) {
- }
- @Override
- public void onPayCancel() {
- }
- });
- ```
- ### 4.案例的使用
- > appId以及相关的key我们都从服务端获取
- #### 4.1 客户端使用说明
- 1. 将`AndroidManifest.xml` 的包名修改为申请应用的包名
- 2. 将应用中的`build.gradle`的 `applicationId`修改为申请应用的包名
- 3. 测试的时候修改默认的签名key
- > 将key复制到项目的根目录(app)中并修改`buildTypes` 配置如下
- ```
- signingConfigs {
- release {
- storeFile file("wxkey")
- storePassword '123456'
- keyAlias '1'
- keyPassword '123456'
- }
- }
- buildTypes {
- release {
- minifyEnabled false
- proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
- }
- debug {
- signingConfig signingConfigs.release
- }
- }
评论(0)