微信、支付寶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
如有疑問歡迎留言
相關文章
- 在App中對接微信和支付寶APP
- 使用 yansongda/pay 進行支付寶和微信 App 支付APP
- Taro 1.1 釋出,全面支援微信/百度/支付寶 小程式
- PHP-Laravel支付寶支付和微信支付PHPLaravel
- 支付寶App支付全解析APP
- Laravel 搞定支付寶和微信掃碼支付Laravel
- Android 接入微信支付寶支付Android
- 微信支付團隊釋出“微信青蛙pro” 支援刷臉支付功能
- 微信支付,支付寶支付,銀聯支付——三大支付總結
- 微信App支付APP
- 手機APP如何接入支付寶支付APP
- flutter 支付寶APP支付 (包含後臺)FlutterAPP
- go-zero之App支付寶支付GoAPP
- Python提取支付寶和微信支付二維碼Python
- 支付寶收款正式釋出:路邊買茶葉蛋也可掃碼支付
- 2行程式碼調起微信支付寶支付行程
- 網路支付新規出臺:支付寶微信發大額紅包需認證
- Lumen/Laravel 中支付寶 / 微信第三方 App 登陸LaravelAPP
- java實現沙箱測試環境支付寶支付(demo)和整合微信支付和支付寶支付到springmvc+spring+mybatis環境全過程(支付寶和微信支付、附原始碼)JavaSpringMVCMyBatis原始碼
- uni-app 1.4 釋出,一套程式碼,發行小程式(微信/支付寶/百度)、H5、App多個平臺APPH5
- XorPay 個人支付平臺【支援個人微信支付和支付寶支付介面】
- 面試集錦(十)支付寶與微信面試
- 一鍵生成釋出百度小程式、微信小程式、支付寶和今日頭條小程式微信小程式
- android 整合微信支付和支付寶支付其實很簡單Android
- iOS不用官方SDK實現微信和支付寶支付XHPayKitiOS
- 對iOS端支付寶和微信支付程式碼進行整合iOS
- vue 專案快速輸出微信、支付寶、百度小程式Vue
- 微信和支付寶相繼釋出新規,這些福利或將消失
- mui 判斷手機客戶端是否安裝微信或支付寶或淘寶等,mui 獲取微信、支付寶支付通道UI客戶端
- 個人開發者福音,輕鬆接入個人簽約微信支付、支付寶支付妙招
- 移動支付新時代——低程式碼如何對接支付寶和微信支付
- 微信,支付寶小程式實現原理概述
- 支付寶小程式對比微信小程式微信小程式
- pay-spring-boot 開箱即用的Java支付模組,整合支付寶支付、微信支付SpringbootJava
- uni-app 微信支付APP
- 微信App支付全解析APP
- Epic港服開通支付寶、微信支付 更方便買遊戲遊戲
- WebViewH5跳轉微信支付、支付寶、QQ錢包WAPWebViewH5