1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        JPay微信和支付寶支付的二次封裝

        聯(lián)合創(chuàng)作 · 2023-09-24 15:02

        JPay

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

         


        使用方法

        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注冊activityapplication節(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.gradle`的 `applicationId`修改為申請應(yīng)用的包名
         3. 測試的時候修改默認(rèn)的簽名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支付詳細(xì)介紹參考資料 博客地址


        [Android版-微信APP支付]

        [Android版-支付寶APP支付]

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

        瀏覽 19
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        編輯 分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        編輯 分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            绿巨人破解 | 五月天色欲 | 原纱央莉av电影在线 | 18禁免费网站 | 亚洲一级特黄大片 | 久久开心激情网 | 久久久久久久久久成人永久免费视频 | 又湿又黄裸乳漫画无遮挡网站 | 甘雨被啪漫画禁漫天堂 | 日韩三级毛片 |