Android開源:Android-Pay - 兩行三行代碼實現微信和支付寶支付

adsads123 7年前發布 | 16K 次閱讀 安卓開發 Android開發 移動開發

Android-Pay

支持微信和支付寶兩種主流支付的集成庫, 兩行代碼實現微信支付, 三行代碼實現支付寶支付

引入

gradle

對應的項目中的build.gradle文件添加依賴:

dependencies {
    //添加支付庫
    compile 'io.github.mayubao:pay_library:1.0.0'
}

maven

<dependency>
  <groupId>io.github.mayubao</groupId>
  <artifactId>pay_library</artifactId>
  <version>1.0.0</version>
  <type>pom</type>
</dependency>

使用

微信支付使用

//1.創建微信支付請求
        WechatPayReq wechatPayReq = new WechatPayReq.Builder()
                .with(this) //activity實例
                .setAppId(appid) //微信支付AppID
                .setPartnerId(partnerid)//微信支付商戶號
                .setPrepayId(prepayid)//預支付碼
//                              .setPackageValue(wechatPayReq.get)//"Sign=WXPay"
                .setNonceStr(noncestr)
                .setTimeStamp(timestamp)//時間戳
                .setSign(sign)//簽名
                .create();
        //2.發送微信支付請求
        PayAPI.getInstance().sendPayRequest(wechatPayReq);

    //關于微信支付的回調
    //wechatPayReq.setOnWechatPayListener(new OnWechatPayListener);</code></pre> 

注意:這里沒有金額設置,金額的信息已經包含在預支付碼prepayid了。

支付寶支付使用

//1.創建支付寶支付配置
        AliPayAPI.Config config = new AliPayAPI.Config.Builder()
                .setRsaPrivate(rsa_private) //設置私鑰 (商戶私鑰,pkcs8格式)
                .setRsaPublic(rsa_public)//設置公鑰(// 支付寶公鑰)
                .setPartner(partner) //設置商戶
                .setSeller(seller) //設置商戶收款賬號
                .create();

        //2.創建支付寶支付請求
        AliPayReq aliPayReq = new AliPayReq.Builder()
                .with(activity)//Activity實例
                .apply(config)//支付寶支付通用配置
                .setOutTradeNo(outTradeNo)//設置唯一訂單號
                .setPrice(price)//設置訂單價格
                .setSubject(orderSubject)//設置訂單標題
                .setBody(orderBody)//設置訂單內容 訂單詳情
                .setCallbackUrl(callbackUrl)//設置回調地址
                .create()//
                .setOnAliPayListener(null);//

        //3.發送支付寶支付請求
        PayAPI.getInstance().sendPayRequest(aliPayReq);

        //關于支付寶支付的回調
        //aliPayReq.setOnAliPayListener(new OnAliPayListener);

混淆

#pay_library
-dontwarn io.github.mayubao.pay_library.**
-keep class io.github.mayubao.pay_library.** {*;}

#wechat pay
-dontwarn com.tencent.**
-keep class com.tencent.** {*;}


#alipay
-dontwarn com.alipay.**
-keep class com.alipay.** {*;}

-dontwarn  com.ta.utdid2.**
-keep class com.ta.utdid2.** {*;}

-dontwarn  com.ut.device.**
-keep class com.ut.device.** {*;}

-dontwarn  org.json.alipay.**
-keep class corg.json.alipay.** {*;}

文檔

微信支付官方文檔 支付流程

https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_5

支付寶支付官方文檔 支付流程

https://doc.open.alipay.com/docs/doc.htm?spm=a219a.7629140.0.0.sdGXaH&treeId=204&articleId=105296&docType=1

注意

微信支付

  • 微信支付必須要在 正式簽名正確包名 的應用中才能成功調起。(**重點)

    即商戶在微信開放平臺申請開發應用后對應包名和對應簽名的應用才能成功調起。 詳情請參考微信支付的開發流程文檔。

    https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_5

  • 微信支付API沒有在客戶端顯示的設置回調,回調是在Server端設置的。(與支付寶支付的區別,支付寶的回調是在客戶端設置的)

支付寶支付

 

 

 

 

 本文由用戶 adsads123 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!