微信、支付寶App支付-JPay0.0.2發(fā)布

JPay

對微信App支付、支付寶App支付的二次封裝,對外提供一個相對簡單的接口以及支付結(jié)果的回調(diào)

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權(quán)限聲明
<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節(jié)點添加如下類容

 <!-- 微信支付 -->
        <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. 發(fā)起支付

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以及相關(guān)的key我們都從服務(wù)端獲取

4.1 客戶端使用說明

  1. AndroidManifest.xml 的包名修改為申請應(yīng)用的包名
  2. 將應(yīng)用中的build.gradleapplicationId修改為申請應(yīng)用的包名
  3. 測試的時候修改默認的簽名key

將key復(fù)制到項目的根目錄(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 服務(wù)端使用說明

  1. 開源項目地址weixin_guide
  2. 開源項目如何下載、如何導(dǎo)入到IDE 參考之前寫的文章微信公眾號之項目導(dǎo)入
  3. 微信支付服務(wù)端具體實現(xiàn)在com.javen.weixin.controller.WeixinPayController.java 類中的appPay()
  4. 支付寶支付服務(wù)端具體實現(xiàn)在com.javen.alipay.AliPayController.java 類中的appPay()

4.3 參考資料

微信、支付寶APP支付詳細介紹參考資料 博客地址

Android版-微信APP支付

Android版-支付寶APP支付

支付寶Wap支付你了解多少?

安利

微信公眾號開發(fā):訂閱號、服務(wù)號

AndroidStudio多渠道打包

Android依賴管理與私服搭建

Android Studio 上傳aar(Library)到JCenter

如有疑問歡迎留言

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,716評論 25 709
  • 銀聯(lián)支付,支付寶支付,微信支付的三大總結(jié),之前也有寫過兩篇。 微信支付,支付寶支付,銀聯(lián)支付——三大支付總結(jié): h...
    LucasAdam閱讀 5,076評論 2 23
  • 日歷本在那里 它停止了翻頁 始終在那里 生活同理得證 哭笑取決自己 你只存在于體驗之中 一或者無窮 單色,三色或者...
    只有經(jīng)歷知道閱讀 782評論 2 9
  • 昨天老師叫我寫一篇關(guān)于我對魯迅的看法的文章,要求是不要一味地夸大他的功績,也說說他在我心中有什么不好的。我隨便寫了...
    卿戎閱讀 576評論 0 0
  • 文/若水希言 上帝讓一個人毀滅,必先讓這個人瘋狂。極度的好,往往帶來極端的壞。 (一) 高三的生活忙碌且辛苦,人人...
    若水希言閱讀 1,203評論 6 10

友情鏈接更多精彩內(nèi)容