微信、支付寶App支付-JPay0.0.2釋出
JPay
對微信App支付、支付寶App支付的二次封裝,對外提供一個相對簡單的介面以及支付結果的回撥
GitHub:https://github.com/Javen205/JPay
OsChina:http://git.oschina.net/javen205/JPay
使用方法
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 客戶端使用說明
- 將
AndroidManifest.xml
的包名修改為申請應用的包名 - 將應用中的
build.gradle
的applicationId
修改為申請應用的包名 - 測試的時候修改預設的簽名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
}
}
4.2 服務端使用說明
- 開源專案地址weixin_guide
- 開源專案如何下載、如何匯入到IDE 參考之前寫的文章微信公眾號之專案匯入
- 微信支付服務端具體實現在
com.javen.weixin.controller.WeixinPayController.java
類中的appPay()
- 支付寶支付服務端具體實現在
com.javen.alipay.AliPayController.java
類中的appPay()
4.3 參考資料
微信、支付寶APP支付詳細介紹參考資料 部落格地址
安利
Android Studio 上傳aar(Library)到JCenter
如有疑問歡迎留言
相關文章
- 微信支付,支付寶支付
- 支付寶、微信支付(.NET)
- 關於微信支付,支付寶支付
- 使用 yansongda/pay 進行支付寶和微信 App 支付APP
- 支付寶微信合單支付
- 微信App支付APP
- PHP-Laravel支付寶支付和微信支付PHPLaravel
- 微信、支付寶支付那點事
- 在App中對接微信和支付寶APP
- 微信支付團隊釋出“微信青蛙pro” 支援刷臉支付功能
- 關於支付寶以及微信支付的整合
- Laravel 搞定支付寶和微信掃碼支付Laravel
- uni-app 微信支付APP
- Python提取支付寶和微信支付二維碼Python
- android 整合微信支付和支付寶支付其實很簡單Android
- Taro 1.1 釋出,全面支援微信/百度/支付寶 小程式
- java實現沙箱測試環境支付寶支付(demo)和整合微信支付和支付寶支付到springmvc+spring+mybatis環境全過程(支付寶和微信支付、附原始碼)JavaSpringMVCMyBatis原始碼
- XorPay 個人支付平臺【支援個人微信支付和支付寶支付介面】
- Android 接入微信支付寶支付Android
- pay-spring-boot 開箱即用的Java支付模組,整合支付寶支付、微信支付SpringbootJava
- 支付寶、微信支付收款碼禁止商用系誤讀NL
- mui 判斷手機客戶端是否安裝微信或支付寶或淘寶等,mui 獲取微信、支付寶支付通道UI客戶端
- 手機APP如何接入支付寶支付APP
- flutter 支付寶APP支付 (包含後臺)FlutterAPP
- go-zero之App支付寶支付GoAPP
- 微信APP支付-簽名問題APP
- 對iOS端支付寶和微信支付程式碼進行整合iOS
- 微信發支付寶紅包(花唄)
- 移動支付新時代——低程式碼如何對接支付寶和微信支付
- 微信app支付 java後臺接AndroidAPPJavaAndroid
- Lumen/Laravel 中支付寶 / 微信第三方 App 登陸LaravelAPP
- 微信和支付寶的支付流程,以及開發中遇到的坑?
- Epic港服開通支付寶、微信支付 更方便買遊戲遊戲
- 關於建行龍支付的聚合支付微信,支付寶 對接PC和H5H5
- 微信App支付:微信支付的appid,appsecret,商戶號mch_id,微信交易支付金鑰(mch_key)在哪裡檢視APP
- 支付寶小程式對比微信小程式微信小程式
- 面試集錦(十)支付寶與微信面試
- 微信,支付寶小程式實現原理概述
- nodejs微信支付之掃碼支付NodeJS