微信糠睡、支付寶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)系作者
  • 序言:七十年代末帖世,一起剝皮案震驚了整個濱河市休蟹,隨后出現(xiàn)的幾起案子沸枯,更是在濱河造成了極大的恐慌,老刑警劉巖赂弓,帶你破解...
    沈念sama閱讀 216,324評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件绑榴,死亡現(xiàn)場離奇詭異,居然都是意外死亡盈魁,警方通過查閱死者的電腦和手機翔怎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,356評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來杨耙,“玉大人赤套,你說我怎么就攤上這事∩耗ぃ” “怎么了容握?”我有些...
    開封第一講書人閱讀 162,328評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長车柠。 經(jīng)常有香客問我剔氏,道長,這世上最難降的妖魔是什么竹祷? 我笑而不...
    開封第一講書人閱讀 58,147評論 1 292
  • 正文 為了忘掉前任谈跛,我火速辦了婚禮,結(jié)果婚禮上塑陵,老公的妹妹穿的比我還像新娘币旧。我一直安慰自己,他們只是感情好猿妈,可當(dāng)我...
    茶點故事閱讀 67,160評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著巍虫,像睡著了一般彭则。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上占遥,一...
    開封第一講書人閱讀 51,115評論 1 296
  • 那天俯抖,我揣著相機與錄音,去河邊找鬼瓦胎。 笑死芬萍,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的搔啊。 我是一名探鬼主播柬祠,決...
    沈念sama閱讀 40,025評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼负芋!你這毒婦竟也來了漫蛔?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,867評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎莽龟,沒想到半個月后蠕嫁,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,307評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡毯盈,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,528評論 2 332
  • 正文 我和宋清朗相戀三年剃毒,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片搂赋。...
    茶點故事閱讀 39,688評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡赘阀,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出厂镇,到底是詐尸還是另有隱情纤壁,我是刑警寧澤,帶...
    沈念sama閱讀 35,409評論 5 343
  • 正文 年R本政府宣布捺信,位于F島的核電站酌媒,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏迄靠。R本人自食惡果不足惜秒咨,卻給世界環(huán)境...
    茶點故事閱讀 41,001評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望掌挚。 院中可真熱鬧雨席,春花似錦、人聲如沸吠式。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,657評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽特占。三九已至糙置,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間是目,已是汗流浹背谤饭。 一陣腳步聲響...
    開封第一講書人閱讀 32,811評論 1 268
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留懊纳,地道東北人揉抵。 一個月前我還...
    沈念sama閱讀 47,685評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像嗤疯,于是被迫代替她去往敵國和親冤今。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,573評論 2 353

推薦閱讀更多精彩內(nèi)容

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