WeX5支付寶微信付款

引入cordova插件

require("$UI/system/lib/cordova/cordova");
require("cordova!cordova-plugin-device");
require("cordova!com.justep.cordova.plugin.weixin.v3");
require("cordova!com.justep.cordova.plugin.alipay");
require("cordova!cordova-plugin-geolocation");
require("cordova!com.justep.cordova.plugin.baidulocation");
require("cordova!cn.jpush.phonegap.JPushPlugin");
require("cordova!com.justep.cordova.plugin.unionpay");

支付代碼

    /**
        支付失敗參數(shù):
               <0 支付失敗 按照不同支付類(lèi)型 返回值不同
               0 貨到付款
           1 用戶(hù)采用微信支付付款完成
           2 用戶(hù)采用微信應(yīng)用中js-sdk支付付款完成
           3 用戶(hù)采用支付寶支付付款完成
           4 用戶(hù)采用銀聯(lián)支付付款完成
          ....未完待續(xù) 
     **/
    Model.prototype.payOrder = function(payType,orderID) {
        var payDtd = $.Deferred();
//      var payType = this.comp('payTypeSelect').val();
        if (payType === "faceToFace" || payType === "") {
            payDtd.resolve(0);
        } else if (payType === "weixin") {
            this.payOrderByWeixin(payDtd, orderID);
        } else if (payType == "alipay") {
            this.payOrderByAlipay(payDtd, orderID);
        } else if (payType == "weixinJSSDK") {
            this.payOrderByWeixinJSSDK(payDtd,orderID);
        } else if (payType == "union") {
            this.payOrderByUnion(payDtd,orderID);
        } else {
            payDtd.reject(0);
        }
        return payDtd.promise();
    };

    /**  
        -23 當(dāng)前環(huán)境不支持微信支付
        -20 微信支付失敗
     */
    Model.prototype.payOrderByWeixinJSSDK = function(payDtd, orderID) {
        if (!navigator.WxApi) {
            payDtd.reject(-33);
            return;
        }
        var tradeNo = orderID;
        var notifyUrl = location.origin + "/baas/weixin/weixin/notify";
        this.wxApi.chooseWXPay({
            body : "x5外賣(mài)",
            mchId : "1228613502",
            notifyUrl : notifyUrl,
            outTradeNo : tradeNo,
            totalFee : "1"
        }).done(function() {
            payDtd.resolve(2);
        }).fail(function() {
            payDtd.reject(-20);
        });
    };

    /** 
     * 9000 操作成功。 
     * 4000 系統(tǒng)異常。 
     * 4001 數(shù)據(jù)格式不正確。  
     * 4003 該用戶(hù)綁定的支付寶賬戶(hù)被凍結(jié)或不允許支付。 
     * 4004  該用戶(hù)已解除綁定。 
     * 4005  綁定失敗或沒(méi)有綁定。 
     * 4006  訂單支付失敗。 
     * 4010  重新綁定賬戶(hù)。  
     * 6000 支付服務(wù)正在進(jìn)行升級(jí)操作。 
     * 6001 用戶(hù)中途取消支付操作。
     * 
        當(dāng)請(qǐng)求支付已經(jīng)到alipay應(yīng)用但是失敗 錯(cuò)誤編碼 以 -33 + message(message是非常大的整數(shù)一般都3000+)  
        -33 當(dāng)前環(huán)境不支持支付寶支付
        -30 支付寶支付支付請(qǐng)求被拒絕
     */
    Model.prototype.payOrderByAlipay = function(payDtd, orderID) {
        console.log('使用alipay支付');
        var self = this; 
        if (!navigator.alipay) {
            payDtd.reject(-33);//
            return;
        }
        var notifyUrl = location.origin;
        var tradeNo = orderID;
        
        
        var alipay = navigator.alipay;
        alipay.pay({
            "seller" : "13697170643", // 賣(mài)家支付寶賬號(hào)或?qū)?yīng)的支付寶唯一用戶(hù)號(hào)
            "subject" : self.params.bname, // 商品名稱(chēng)
            "body" : '', // 商品詳情
//          "price" : self.params.price, // 金額,單位為RMB
            "price" : 0.01,
            "tradeNo" : self.params.ordernumber, // 唯一訂單號(hào)
            "timeout" : "30m", // 超時(shí)設(shè)置
            "notifyUrl" : notifyUrl
        }, // 服務(wù)器通知路徑
        function(message) {
            var responseCode = parseInt(message);
            if (responseCode === 9000) {
                payDtd.resolve(3);
                console.log('支付寶付款成功');
                
            } else if (!isNaN(responseCode)) {
                payDtd.reject((-33) + responseCode);
                console.log('當(dāng)前環(huán)境不支持支付寶支付');
            } else {
                payDtd.reject(-30);
                console.log('支付寶支付支付請(qǐng)求被拒絕');
            }
        }, function(msg) {
            payDtd.reject(-30);
            console.log('支付寶支付支付請(qǐng)求被拒絕');
        });
    };
    /** 
        當(dāng)請(qǐng)求支付已經(jīng)到weixin應(yīng)用但是失敗 錯(cuò)誤編碼 以 -13 + message(message如果為weixin異常一定為負(fù)數(shù)) 
        -13 當(dāng)前環(huán)境不支持微信支付 
        -12 微信獲取accessToken失敗
        -11 微信生成預(yù)支付訂單失敗
        -10 微信支付請(qǐng)求被拒絕
     */
    Model.prototype.payOrderByWeixin = function(payDtd, orderID) {
        var self = this;
        if (!navigator.weixin) {
            payDtd.reject(-13);
            return;
        }
        var notifyUrl = location.origin;
        var traceID = justep.UUID.createUUID();
        var traceNo = orderID;

        var weixin = navigator.weixin;
        weixin.generatePrepayId({
            "body" : self.params.bname, // 商品名稱(chēng)
            "feeType" : "1",//貨幣類(lèi)型,1表示人民幣
            "notifyUrl" : notifyUrl,//后臺(tái)接口
//          "totalFee" : self.params.price, // 金額,單位為RMB
            "totalFee" : "0.01",
            "traceId" : traceID,    //猜測(cè)是商戶(hù)賬號(hào)
            "tradeNo" : orderID     // 唯一訂單號(hào)
            
        }, function(prepayId) {
            weixin.sendPayReq(prepayId, function(message) {
                var responseCode = parseInt(message);
                if (responseCode === 0) {
                    payDtd.resolve(1);
                    //支付成功
                } else if (!isNaN(responseCode)) {
                    payDtd.reject((-13) + responseCode);
                } else {
                    payDtd.reject(-10);
                }
            }, function(message) {
                justep.Util.hint("微信支付失敗!");
                payDtd.reject(-10);
            });
        }, function(message) {
            justep.Util.hint("微信支付失敗!");
            payDtd.reject(-11);
        });
    };

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,002評(píng)論 6 542
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,400評(píng)論 3 429
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事。” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 178,136評(píng)論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 63,714評(píng)論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 72,452評(píng)論 6 412
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 55,818評(píng)論 1 328
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,812評(píng)論 3 446
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 42,997評(píng)論 0 290
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,552評(píng)論 1 335
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 41,292評(píng)論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,510評(píng)論 1 374
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,035評(píng)論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,721評(píng)論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 35,121評(píng)論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 36,429評(píng)論 1 294
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 52,235評(píng)論 3 398
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,480評(píng)論 2 379

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