pingpp-js 2.3.0 → 2.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,4 +1,12 @@
1
1
  # ChangeLog
2
+
3
+ ## 2.3.1
4
+
5
+ - 更新纯签约支付宝地址为 `https`
6
+ - 更新 minimist 到 1.2.6 版本(CVE-2021-44906)
7
+
8
+ ---
9
+
2
10
  ## 2.3.0
3
11
  - 新增: 支持易宝-微信公众号支付和易宝-微信小程序支付
4
12
  - 更新: 移除库分期支持
package/dist/pingpp.js CHANGED
@@ -1,2 +1,2 @@
1
- !function(e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).pingpp=e()}(function(){return function t(r,l,i){function c(a,e){if(!l[a]){if(!r[a]){var n="function"==typeof require&&require;if(!e&&n)return n(a,!0);if(o)return o(a,!0);throw(n=new Error("Cannot find module '"+a+"'")).code="MODULE_NOT_FOUND",n}n=l[a]={exports:{}},r[a][0].call(n.exports,function(e){return c(r[a][1][e]||e)},n,n.exports,t,r,l,i)}return l[a].exports}for(var o="function"==typeof require&&require,e=0;e<i.length;e++)c(i[e]);return c}({1:[function(e,a,n){var t={}.hasOwnProperty,r=e('./callbacks'),l=e('./utils');a.exports={signAgreement:function(e){if('string'==typeof e)try{a=JSON.parse(e)}catch(e){return r.innerAgreementCallback('fail',r.error('json_decode_fail',e)),!1}else a=e;if(void 0===a)return r.innerAgreementCallback('fail',r.error('json_decode_fail')),!1;if(!t.call(a,'object')||'agreement'!==a.object||!t.call(a,'channel')||!t.call(a,'credential')||'object'!=typeof a.credential)return r.innerAgreementCallback('fail',r.error('invalid_object')),!1;if(!t.call(a.credential,a.channel))return r.innerAgreementCallback('fail',r.error('invalid_credential')),!1;var a,n,e=a.credential[a.channel];return'string'==typeof e?n=e:t.call(e,'credential')&&'string'==typeof e.credential&&(n=e.credential),void 0===n?(r.innerAgreementCallback('fail',r.error('invalid_credential')),!1):('alipay'===a.channel.substring(0,6)&&l.deviceDetectorMobile()&&(a=new URL(n),n='http://d.alipay.com/i/index.htm?iframeSrc='+encodeURIComponent("alipays://platformapi/startapp?appId=60000157&appClearTop=false&startMultApp=YES&sign_params="+encodeURIComponent(a.search.substring(1)))),setTimeout(function(){l.redirectTo(n)},0),!0)}}},{"./callbacks":2,"./utils":55}],2:[function(n,e,a){e.exports={userCallback:void 0,urlReturnCallback:void 0,urlReturnChannels:['alipay_pc_direct'],userAgreementCallback:void 0,innerCallback:function(e,a){'function'==typeof this.userCallback&&(void 0===a&&(a=this.error()),this.userCallback(e,a),this.userCallback=void 0,n('./payment_elements').clear())},error:function(e,a){return{msg:e=void 0===e?'':e,extra:a=void 0===a?'':a}},triggerUrlReturnCallback:function(e,a){'function'==typeof this.urlReturnCallback&&this.urlReturnCallback(e,a)},shouldReturnUrlByCallback:function(e){return'function'==typeof this.urlReturnCallback&&-1!==this.urlReturnChannels.indexOf(e)},innerAgreementCallback:function(e,a){'function'==typeof this.userAgreementCallback&&(void 0===a&&(a=this.error()),this.userAgreementCallback(e,a),this.userAgreementCallback=void 0)}}},{"./payment_elements":52}],3:[function(e,a,n){var t=e('../utils'),r=e('../callbacks');a.exports={handleCharge:function(e){var a=e.credential[e.channel];'string'==typeof a?t.redirectTo(a,e.channel):r.innerCallback('fail',r.error('invalid_credential','credential 格式不正确'))}}},{"../callbacks":2,"../utils":55}],4:[function(e,a,n){arguments[4][3][0].apply(n,arguments)},{"../callbacks":2,"../utils":55,dup:3}],5:[function(e,a,n){var t=e('../callbacks'),r={}.hasOwnProperty;a.exports={PINGPP_NOTIFY_URL_BASE:'https://notify.pingxx.com/notify',handleCharge:function(e){e=e.credential[e.channel];e||r.call(e,'orderInfo')?this.callpay(e.orderInfo):t.innerCallback('fail',t.error('invalid_credential','missing_alipay'))},alipayLiteEnabled:function(){return'undefined'!=typeof my&&my.tradePay},callpay:function(e){var a=this;if(this.alipayLiteEnabled())return this.alipayLitePay(e);if('undefined'!=typeof navigator&&/AlipayClient/.test(navigator.userAgent||navigator.swuserAgent))return this.waitAlipayJSBridgde(function(){a.alipayJsBridgePay(e)});var n='请在支付宝小程序或者支付宝应用内中打开';console.log(n),t.innerCallback('fail',t.error(n))},waitAlipayJSBridgde:function(e){window.AlipayJSBridge?e&&e():document.addEventListener('AlipayJSBridgeReady',e,!1)},alipayJsBridgePay:function(e){AlipayJSBridge.call('tradePay',{orderStr:e},this.alipayResultHandler)},alipayLitePay:function(e){var a={};a.orderStr=e,a.complete=this.alipayResultHandler,my.tradePay(a)},alipayResultHandler:function(e){var a={resultCode:e.resultCode};r.call(e,'memo')&&(a.memo=e.memo),r.call(e,'result')&&(a.result=e.result),'9000'==e.resultCode?t.innerCallback('success',t.error('',a)):'6001'==e.resultCode?t.innerCallback('cancel',t.error('用户取消支付',a)):t.innerCallback('fail',t.error('支付失败',a))},runTestMode:function(e){e='/charges/'+e.id;my.httpRequest({url:this.PINGPP_NOTIFY_URL_BASE+e+'?livemode=false',success:function(e){'success'==e.data?t.innerCallback('success'):t.innerCallback('fail',t.error('testmode_notify_fail'))},fail:function(){t.innerCallback('fail',t.error('network_err'))}})}}},{"../callbacks":2}],6:[function(e,a,n){var t=e('../callbacks');a.exports={PINGPP_NOTIFY_URL_BASE:'https://notify.pingxx.com/notify',handleCharge:function(e){e=e.credential[e.channel];e?this.callpay(e):t.innerCallback('fail',t.error('invalid_credential','missing_alipay_lite'))},alipayLiteEnabled:function(){return'undefined'!=typeof my&&my.tradePay},callpay:function(e){var a;this.alipayLiteEnabled()?((a={}).tradeNO=e,a.complete=function(e){9e3==e.resultCode?t.innerCallback('success'):6001==e.resultCode?t.innerCallback('cancel',t.error('用户取消支付')):t.innerCallback('fail',t.error('支付失败'))},my.tradePay(a)):console.log('请在支付宝小程序中打开')},runTestMode:function(e){e='/charges/'+e.id;my.httpRequest({url:this.PINGPP_NOTIFY_URL_BASE+e+'?livemode=false',success:function(e){'success'==e.data?t.innerCallback('success'):t.innerCallback('fail',t.error('testmode_notify_fail'))},fail:function(){t.innerCallback('fail',t.error('network_err'))}})}}},{"../callbacks":2}],7:[function(e,a,n){var t=e('../utils'),r={}.hasOwnProperty;a.exports={ALIPAY_PC_DIRECT_URL:'https://mapi.alipay.com/gateway.do',handleCharge:function(e){var a=e.channel,n=e.credential[a],e=this.ALIPAY_PC_DIRECT_URL;r.call(n,'channel_url')&&(e=n.channel_url),r.call(n,'_input_charset')||r.call(n,'service')&&'create_direct_pay_by_user'===n.service&&(n._input_charset='utf-8');n=t.stringifyData(n,a,!0);t.redirectTo(e+'?'+n,a)}}},{"../utils":55}],8:[function(e,a,n){var t={}.hasOwnProperty,r=e('../callbacks');a.exports={handleCharge:function(e){e=e.credential[e.channel];t.call(e,'transaction_no')?this.tradePay(e.transaction_no):r.innerCallback('fail',r.error('invalid_credential','missing_field_transaction_no'))},ready:function(e){window.AlipayJSBridge?e&&e():document.addEventListener('AlipayJSBridgeReady',e,!1)},tradePay:function(e){this.ready(function(){AlipayJSBridge.call('tradePay',{tradeNO:e},function(e){'9000'==e.resultCode?r.innerCallback('success'):'6001'==e.resultCode?r.innerCallback('cancel',r.error(e.result)):r.innerCallback('fail',r.error(e.result))})})}}},{"../callbacks":2}],9:[function(e,a,n){var t=e('./commons/redirect_base');a.exports={handleCharge:function(e){t.handleCharge(e)}}},{"./commons/redirect_base":25}],10:[function(e,a,n){var t=e('../utils'),r=e('../mods'),l={}.hasOwnProperty;a.exports={ALIPAY_WAP_URL_OLD:'https://wappaygw.alipay.com/service/rest.htm',ALIPAY_WAP_URL:'https://mapi.alipay.com/gateway.do',handleCharge:function(e){var a=e.channel,n=e.credential[a],e=this.ALIPAY_WAP_URL;l.call(n,'req_data')?e=this.ALIPAY_WAP_URL_OLD:l.call(n,'channel_url')&&(e=n.channel_url),l.call(n,'_input_charset')||(l.call(n,'service')&&'alipay.wap.create.direct.pay.by.user'===n.service||l.call(n,'req_data'))&&(n._input_charset='utf-8');e=e+'?'+t.stringifyData(n,a,!0),n=r.getExtraModule('ap');t.inWeixin()&&void 0!==n?n.pay(e):t.redirectTo(e,a)}}},{"../mods":51,"../utils":55}],11:[function(e,a,n){arguments[4][9][0].apply(n,arguments)},{"./commons/redirect_base":25,dup:9}],12:[function(e,a,n){var t=e('../utils'),r=e('../callbacks'),l={}.hasOwnProperty;a.exports={handleCharge:function(e){var a=e.channel,e=e.credential[a];l.call(e,'url')?t.redirectTo(e.url+'?'+t.stringifyData(e,a),a):r.innerCallback('fail',r.error('invalid_credential','missing_field:url'))}}},{"../callbacks":2,"../utils":55}],13:[function(e,a,n){var t=e('../utils'),r={}.hasOwnProperty;a.exports={ALIPAY_PC_DIRECT_URL:'https://intlmapi.alipay.com/gateway.do',handleCharge:function(e){var a=e.channel,n=e.credential[a],e=this.ALIPAY_PC_DIRECT_URL;r.call(n,'channel_url')&&(e=n.channel_url),r.call(n,'_input_charset')||r.call(n,'service')&&'create_forex_trade'===n.service&&(n._input_charset='utf-8');n=t.stringifyData(n,a,!0);t.redirectTo(e+'?'+n,a)}}},{"../utils":55}],14:[function(e,a,n){var t=e('../utils'),r=e('../mods'),l={}.hasOwnProperty;a.exports={ALIPAY_WAP_URL:'https://intlmapi.alipay.com/gateway.do',handleCharge:function(e){var a=e.channel,n=e.credential[a],e=this.ALIPAY_WAP_URL;l.call(n,'channel_url')&&(e=n.channel_url),l.call(n,'_input_charset')||l.call(n,'service')&&'create_forex_trade_wap'===n.service&&(n._input_charset='utf-8');e=e+'?'+t.stringifyData(n,a,!0),n=r.getExtraModule('ap');t.inWeixin()&&void 0!==n?n.pay(e):t.redirectTo(e,a)}}},{"../mods":51,"../utils":55}],15:[function(e,a,n){var r=e('../callbacks'),t=e('../utils'),l=e('../stash'),i=e('../mods'),c={}.hasOwnProperty;a.exports={PINGPP_NOTIFY_URL_BASE:'https://notify.pingxx.com/notify',handleCharge:function(e){for(var a=e.credential[e.channel],n=['appId','timeStamp','nonceStr','package','signType','paySign'],t=0;t<n.length;t++)if(!c.call(a,n[t]))return void r.innerCallback('fail',r.error('invalid_credential','missing_field_'+n[t]));l.jsApiParameters=a,this.callpay()},callpay:function(){var e=this,a=i.getExtraModule('wx_jssdk');void 0!==a&&a.jssdkEnabled()?a.callpay():'undefined'==typeof WeixinJSBridge?(a=function(){e.jsApiCall()},document.addEventListener?document.addEventListener('WeixinJSBridgeReady',a,!1):document.attachEvent&&(document.attachEvent('WeixinJSBridgeReady',a),document.attachEvent('onWeixinJSBridgeReady',a))):this.jsApiCall()},jsApiCall:function(){c.call(l,'jsApiParameters')&&WeixinJSBridge.invoke('getBrandWCPayRequest',l.jsApiParameters,function(e){delete l.jsApiParameters,'get_brand_wcpay_request:ok'==e.err_msg?r.innerCallback('success'):'get_brand_wcpay_request:cancel'==e.err_msg?r.innerCallback('cancel'):r.innerCallback('fail',r.error('wx_result_fail',e.err_msg))})},runTestMode:function(e){confirm('模拟付款?')&&(e='/charges/'+e.id,t.request(this.PINGPP_NOTIFY_URL_BASE+e+'?livemode=false','GET',null,function(e,a){200<=a&&a<400&&'success'==e?r.innerCallback('success'):r.innerCallback('fail',r.error('testmode_notify_fail','http_code:'+a+';response:'+e))},function(){r.innerCallback('fail',r.error('network_err'))}))}}},{"../callbacks":2,"../mods":51,"../stash":53,"../utils":55}],16:[function(e,a,n){arguments[4][9][0].apply(n,arguments)},{"./commons/redirect_base":25,dup:9}],17:[function(e,a,n){var t=e('../utils'),r={}.hasOwnProperty,l=e('../callbacks');a.exports={CCB_WAP_URL_BASE:'https://ibsbjstar.ccb.com.cn/CCBIS/ccbMain?',handleCharge:function(e){var a=e.channel,e=e.credential[a];r.call(e,'orderinfo')?(e=this.CCB_WAP_URL_BASE+e.orderinfo,t.redirectTo(e,a)):l.innerCallback('fail',l.error('invalid_credential','missing_field:orderinfo'))}}},{"../callbacks":2,"../utils":55}],18:[function(e,a,n){var t=e('../utils'),r=e('../callbacks');a.exports={handleCharge:function(e){var a=e.credential[e.channel];'string'==typeof a?t.redirectTo(a,e.channel):r.innerCallback('fail',r.error('invalid_credential','credential 格式不正确'))}}},{"../callbacks":2,"../utils":55}],19:[function(e,a,n){arguments[4][18][0].apply(n,arguments)},{"../callbacks":2,"../utils":55,dup:18}],20:[function(e,a,n){var t=e('../utils'),r=e('../callbacks');a.exports={handleCharge:function(e){var a=e.credential[e.channel];'string'==typeof a?t.redirectTo(a,e.channel):r.innerCallback('fail',r.error('invalid_credential','credential 格式不正确'))}}},{"../callbacks":2,"../utils":55}],21:[function(e,a,n){arguments[4][18][0].apply(n,arguments)},{"../callbacks":2,"../utils":55,dup:18}],22:[function(e,a,n){arguments[4][18][0].apply(n,arguments)},{"../callbacks":2,"../utils":55,dup:18}],23:[function(e,a,n){var t=e('../utils'),r={}.hasOwnProperty;a.exports={handleCharge:function(e){var a,n=e.channel,n=e.credential[n];r.call(n,'channel_url')&&(a=n.channel_url,delete n.channel_url),t.formSubmit(a,'post',n)}}},{"../utils":55}],24:[function(e,a,n){var t=e('../utils'),r={}.hasOwnProperty;a.exports={CMB_WALLET_URL:'https://netpay.cmbchina.com/netpayment/BaseHttp.dll?MB_EUserPay',handleCharge:function(e){var a=e.credential[e.channel],e=this.CMB_WALLET_URL;r.call(a,'ChannelUrl')&&(e=a.ChannelUrl,delete a.ChannelUrl),r.call(a,'channelVersion')&&delete a.channelVersion,t.formSubmit(e,'post',a)}}},{"../utils":55}],25:[function(e,a,n){var t=e('../../utils'),r=e('../../callbacks'),l={}.hasOwnProperty;a.exports={handleCharge:function(e){var a,n=e.credential[e.channel];if('string'==typeof n)a=n;else{if(!l.call(n,'url'))return void r.innerCallback('fail',r.error('invalid_credential','credential format is incorrect'));a=n.url}t.redirectTo(a,e.channel)}}},{"../../callbacks":2,"../../utils":55}],26:[function(e,a,n){var t=e('../utils');a.exports={CP_B2B_URL:'https://payment.chinapay.com/CTITS/service/rest/page/nref/000000000017/0/0/0/0/0',handleCharge:function(e){e=e.credential[e.channel];t.formSubmit(this.CP_B2B_URL,'post',e)}}},{"../utils":55}],27:[function(e,a,n){var t,o,r=e('../../stash'),l={}.hasOwnProperty;o={PADCHAR:'=',ALPHA:'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',makeDOMException:function(){try{return new DOMException(DOMException.INVALID_CHARACTER_ERR)}catch(e){var a=new Error('DOM Exception 5');return a.code=a.number=5,a.name=a.description='INVALID_CHARACTER_ERR',a.toString=function(){return'Error: '+a.name+': '+a.message},a}},getbyte64:function(e,a){a=o.ALPHA.indexOf(e.charAt(a));if(-1===a)throw o.makeDOMException();return a},decode:function(e){var a,n,t=o.getbyte64,r=(e=''+e).length;if(0===r)return e;if(r%4!=0)throw o.makeDOMException();a=0,e.charAt(r-1)===o.PADCHAR&&(a=1,e.charAt(r-2)===o.PADCHAR&&(a=2),r-=4);for(var l=[],i=0;i<r;i+=4)n=t(e,i)<<18|t(e,i+1)<<12|t(e,i+2)<<6|t(e,i+3),l.push(String.fromCharCode(n>>16,n>>8&255,255&n));switch(a){case 1:n=t(e,i)<<18|t(e,i+1)<<12|t(e,i+2)<<6,l.push(String.fromCharCode(n>>16,n>>8&255));break;case 2:n=t(e,i)<<18|t(e,i+1)<<12,l.push(String.fromCharCode(n>>16))}return l.join('')},getbyte:function(e,a){a=e.charCodeAt(a);if(255<a)throw o.makeDOMException();return a},encode:function(e){if(1!==arguments.length)throw new SyntaxError('Not enough arguments');var a,n,t=o.PADCHAR,r=o.ALPHA,l=o.getbyte,i=[],c=(e=''+e).length-e.length%3;if(0===e.length)return e;for(a=0;a<c;a+=3)n=l(e,a)<<16|l(e,a+1)<<8|l(e,a+2),i.push(r.charAt(n>>18)),i.push(r.charAt(n>>12&63)),i.push(r.charAt(n>>6&63)),i.push(r.charAt(63&n));switch(e.length-c){case 1:n=l(e,a)<<16,i.push(r.charAt(n>>18)+r.charAt(n>>12&63)+t+t);break;case 2:n=l(e,a)<<16|l(e,a+1)<<8,i.push(r.charAt(n>>18)+r.charAt(n>>12&63)+r.charAt(n>>6&63)+t)}return i.join('')}},(t={}).url='pay.htm',t.pay=function(e){e=encodeURIComponent(o.encode(e));l.call(r,'APURL')&&(t.url=r.APURL),location.href=t.url+'?goto='+e},t.decode=function(e){return o.decode(decodeURIComponent(e))},a.exports=t},{"../../stash":53}],28:[function(e,a,n){e=e('./wx_lite');a.exports=e},{"./wx_lite":39}],29:[function(e,a,n){var t=e('./commons/redirect_base'),r=e('../callbacks'),l=e('../utils'),i={}.hasOwnProperty;a.exports={handleCharge:function(e){var a=e.extra;i.call(a,'pay_channel')?'wx'!==(a=a.pay_channel)||l.inWeixin()?'alipay'!==a||l.inAlipay()?t.handleCharge(e):r.innerCallback('fail',r.error('Not in the Alipay browser')):r.innerCallback('fail',r.error('Not in the WeChat browser')):r.innerCallback('fail',r.error('invalid_charge','charge 格式不正确'))}}},{"../callbacks":2,"../utils":55,"./commons/redirect_base":25}],30:[function(e,a,n){var t=e('../utils'),r={}.hasOwnProperty;a.exports={JDPAY_WAP_URL_OLD:'https://m.jdpay.com/wepay/web/pay',JDPAY_H5_URL:'https://h5pay.jd.com/jdpay/saveOrder',JDPAY_PC_URL:'https://wepay.jd.com/jdpay/saveOrder',handleCharge:function(e){var a=e.credential[e.channel],e=this.JDPAY_H5_URL;r.call(a,'channelUrl')?(e=a.channelUrl,delete a.channelUrl):r.call(a,'merchantRemark')&&(e=this.JDPAY_WAP_URL_OLD),t.formSubmit(e,'post',a)}}},{"../utils":55}],31:[function(e,a,n){var t=e('../utils'),r={}.hasOwnProperty;a.exports={handleCharge:function(e){e=e.credential[e.channel];r.call(e,'bankUrl')&&(request_url=e.bankUrl,delete e.bankUrl),t.formSubmit(request_url,'post',e)}}},{"../utils":55}],32:[function(e,a,n){arguments[4][31][0].apply(n,arguments)},{"../utils":55,dup:31}],33:[function(e,a,n){var t=e('../utils');a.exports={handleCharge:function(e){var a=e.credential[e.channel],e=a.channelUrl;delete a.channelUrl,t.formSubmit(e,'post',a)}}},{"../utils":55}],34:[function(e,a,n){var t=e('../utils');a.exports={handleCharge:function(e){var a=e.credential[e.channel];t.redirectTo(a,e.channel)}}},{"../utils":55}],35:[function(e,a,n){var t=e('../callbacks'),r=e('../utils'),l=e('../stash'),i={}.hasOwnProperty;a.exports={SRC_URL:'https://open.mobile.qq.com/sdk/qqapi.js?_bid=152',ID:'mqq_api',handleCharge:function(e){e=e.credential[e.channel];i.call(e,'token_id')?(l.tokenId=e.token_id,r.loadUrlJs(this.ID,this.SRC_URL,this.callpay)):t.innerCallback('fail',t.error('invalid_credential','missing_token_id'))},callpay:function(){if('undefined'!=typeof mqq){if(0==mqq.QQVersion)return t.innerCallback('fail',t.error('Not in the QQ client')),void delete l.tokenId;mqq.tenpay.pay({tokenId:l.tokenId},function(e){0==e.resultCode?t.innerCallback('success'):t.innerCallback('fail',t.error(e.retmsg))})}else t.innerCallback('fail',t.error('network_err'));delete l.tokenId}}},{"../callbacks":2,"../stash":53,"../utils":55}],36:[function(e,a,n){arguments[4][23][0].apply(n,arguments)},{"../utils":55,dup:23}],37:[function(e,a,n){var t=e('../utils');a.exports={UPACP_PC_URL:'https://gateway.95516.com/gateway/api/frontTransReq.do',handleCharge:function(e){e=e.credential[e.channel];t.formSubmit(this.UPACP_PC_URL,'post',e)}}},{"../utils":55}],38:[function(e,a,n){var t=e('../utils');a.exports={UPACP_WAP_URL:'https://gateway.95516.com/gateway/api/frontTransReq.do',handleCharge:function(e){e=e.credential[e.channel];t.formSubmit(this.UPACP_WAP_URL,'post',e)}}},{"../utils":55}],39:[function(e,a,n){var r=e('../stash'),l=e('../callbacks'),i={}.hasOwnProperty;a.exports={PINGPP_NOTIFY_URL_BASE:'https://notify.pingxx.com/notify',handleCharge:function(e){for(var a=e.credential[e.channel],n=['appId','timeStamp','nonceStr','package','signType','paySign'],t=0;t<n.length;t++)if(!i.call(a,n[t]))return void l.innerCallback('fail',l.error('invalid_credential','missing_field_'+n[t]));r.jsApiParameters=a,this.callpay()},wxLiteEnabled:function(){return'undefined'!=typeof wx&&wx.requestPayment},callpay:function(){var e;this.wxLiteEnabled()?(delete(e=r.jsApiParameters).appId,e.complete=function(e){'requestPayment:ok'===e.errMsg&&l.innerCallback('success'),'requestPayment:cancel'!==e.errMsg&&'requestPayment:fail cancel'!==e.errMsg||l.innerCallback('cancel',l.error('用户取消支付')),'undefined'!==e.err_code&&'undefined'!==e.err_desc&&l.innerCallback('fail',l.error(e.err_desc,e))},wx.requestPayment(e)):console.log('请在微信小程序中打开')},runTestMode:function(e){e='/charges/'+e.id;wx.request({url:this.PINGPP_NOTIFY_URL_BASE+e+'?livemode=false',success:function(e){'success'==e.data?l.innerCallback('success'):l.innerCallback('fail',l.error('testmode_notify_fail'))},fail:function(){l.innerCallback('fail',l.error('network_err'))}})}}},{"../callbacks":2,"../stash":53}],40:[function(e,a,n){arguments[4][28][0].apply(n,arguments)},{"./wx_lite":39,dup:28}],41:[function(e,a,n){arguments[4][15][0].apply(n,arguments)},{"../callbacks":2,"../mods":51,"../stash":53,"../utils":55,dup:15}],42:[function(e,a,n){e=e('./wx_pub');a.exports=e},{"./wx_pub":41}],43:[function(e,a,n){var t=e('../utils'),r=e('../callbacks'),l={}.hasOwnProperty;a.exports={handleCharge:function(e){var a=e.credential[e.channel];'string'==typeof a?t.redirectTo(a,e.channel):'object'==typeof a&&l.call(a,'url')?t.redirectTo(a.url,e.channel):r.innerCallback('fail',r.error('invalid_credential','credential 格式不正确'))}}},{"../callbacks":2,"../utils":55}],44:[function(e,a,n){var i=e('../utils'),c=e('../callbacks'),o={}.hasOwnProperty;a.exports={YEEPAY_WAP_URL:'https://ok.yeepay.com/paymobile/api/pay/request',YEEPAY_WAP_TEST_URL:'http://mobiletest.yeepay.com/paymobile/api/pay/request',handleCharge:function(e){for(var a,n=e.channel,t=e.credential[n],r=['merchantaccount','encryptkey','data'],l=0;l<r.length;l++)if(!o.call(t,r[l]))return void c.innerCallback('fail',c.error('invalid_credential','missing_field_'+r[l]));a=o.call(t,'mode')&&'test'==t.mode?this.YEEPAY_WAP_TEST_URL:this.YEEPAY_WAP_URL,i.redirectTo(a+'?'+i.stringifyData(t,n,!0),e.channel)}}},{"../callbacks":2,"../utils":55}],45:[function(e,a,n){e=e('./wx_lite');a.exports=e},{"./wx_lite":39}],46:[function(e,a,n){arguments[4][45][0].apply(n,arguments)},{"./wx_lite":39,dup:45}],47:[function(e,a,n){arguments[4][42][0].apply(n,arguments)},{"./wx_pub":41,dup:42}],48:[function(e,a,n){a.exports={Error:function(e,a){this.message=e,this.extra=a}}},{}],49:[function(e,a,n){var t=e('./stash'),r=e('./utils');a.exports={init:function(){var e=this;r.documentReady(function(){try{r.inWxLite()||r.inAlipayLite()||e.initPuid()}catch(e){}})},initPuid:function(){if('undefined'!=typeof window&&'undefined'!=typeof localStorage&&null!==localStorage){var e=localStorage.getItem('pingpp_uid');if(null===e){e=r.randomString();try{localStorage.setItem('pingpp_uid',e)}catch(e){}}t.puid=e}}}},{"./stash":53,"./utils":55}],50:[function(e,a,n){function PingppSDK(){e('./init').init()}var t=e('./version').v,r={}.hasOwnProperty;PingppSDK.prototype.version=t,a.exports=new PingppSDK;var l=e('./testmode'),i=e('./callbacks'),c=e('./errors').Error,o=e('./mods'),s=e('./stash'),u=e('./payment_elements');PingppSDK.prototype.createPayment=function(e,a,n,t){'function'==typeof a&&(i.userCallback=a);try{u.init(e)}catch(e){if(e instanceof c)return void i.innerCallback('fail',i.error(e.message,e.extra));throw e}if(r.call(u,'id'))if(r.call(u,'channel')){r.call(u,'app')&&('string'==typeof u.app?s.app_id=u.app:'object'==typeof u.app&&'string'==typeof u.app.id&&(s.app_id=u.app.id));a=u.channel;if(r.call(u,'credential'))if(u.paid&&0===u.actual_amount)i.innerCallback('success');else if(u.credential)if(r.call(u.credential,a))if(r.call(u,'livemode')){e=o.getChannelModule(a);if(void 0===e)return console.error('channel module "'+a+'" is undefined'),void i.innerCallback('fail',i.error('invalid_channel','channel module "'+a+'" is undefined'));!1!==u.livemode?(void 0!==n&&(s.signature=n),'boolean'==typeof t&&(s.debug=t),e.handleCharge(u)):(r.call(e,'runTestMode')?e:l).runTestMode(u)}else i.innerCallback('fail',i.error('invalid_charge','no_livemode_field'));else i.innerCallback('fail',i.error('invalid_credential','credential_is_incorrect'));else i.innerCallback('fail',i.error('invalid_credential','credential_is_undefined'));else i.innerCallback('fail',i.error('invalid_charge','no_credential'))}else i.innerCallback('fail',i.error('invalid_charge','no_channel'));else i.innerCallback('fail',i.error('invalid_charge','no_charge_id'))},PingppSDK.prototype.setAPURL=function(e){s.APURL=e},PingppSDK.prototype.setUrlReturnCallback=function(e,a){if('function'!=typeof e)throw'callback need to be a function';if(i.urlReturnCallback=e,void 0!==a){if(!Array.isArray(a))throw'channels need to be an array';i.urlReturnChannels=a}},PingppSDK.prototype.signAgreement=function(e,a){'function'==typeof a&&(i.userAgreementCallback=a);a=o.getExtraModule('agreement');return void 0===a?(console.error('module "agreement" is undefined'),i.innerCallback('fail',i.error('invalid_module','module "agreement" is undefined')),!1):a.signAgreement(e)}},{"./callbacks":2,"./errors":48,"./init":49,"./mods":51,"./payment_elements":52,"./stash":53,"./testmode":54,"./version":56}],51:[function(e,a,n){var t={}.hasOwnProperty,r={};(a.exports=r).channels={alipay:e('./channels/alipay'),alipay_lite:e('./channels/alipay_lite'),abc_pay:e('./channels/abc_pay'),abc_pub:e('./channels/abc_pub'),alipay_pc_direct:e('./channels/alipay_pc_direct'),alipay_qr:e('./channels/alipay_qr'),alipay_qr_lakala:e('./channels/alipay_qr_lakala'),alipay_wap:e('./channels/alipay_wap'),alipay_wap_lakala:e('./channels/alipay_wap_lakala'),bfb_wap:e('./channels/bfb_wap'),cb_alipay_pc_direct:e('./channels/cb_alipay_pc_direct'),cb_alipay_wap:e('./channels/cb_alipay_wap'),cb_wx_pub:e('./channels/cb_wx_pub'),ccb_qr:e('./channels/ccb_qr'),ccb_wap:e('./channels/ccb_wap'),chinaums_alipay_pub:e('./channels/chinaums_alipay_pub'),chinaums_alipay_wap:e('./channels/chinaums_alipay_wap'),chinaums_upacp_wap:e('./channels/chinaums_upacp_wap'),chinaums_wx_pub:e('./channels/chinaums_wx_pub'),chinaums_wx_wap:e('./channels/chinaums_wx_wap'),cmb_pc_qr:e('./channels/cmb_pc_qr'),cmb_wallet:e('./channels/cmb_wallet'),cp_b2b:e('./channels/cp_b2b'),isv_lite:e('./channels/isv_lite'),isv_wap:e('./channels/isv_wap'),jdpay_wap:e('./channels/jdpay_wap'),nucc_b2b_lakala:e('./channels/nucc_b2b_lakala'),nucc_b2c_lakala:e('./channels/nucc_b2c_lakala'),pab_pc:e('./channels/pab_pc'),paypal:e('./channels/paypal'),qpay_pub:e('./channels/qpay_pub'),upacp_b2b:e('./channels/upacp_b2b'),upacp_pc:e('./channels/upacp_pc'),upacp_wap:e('./channels/upacp_wap'),wx_lite:e('./channels/wx_lite'),wx_lite_pab:e('./channels/wx_lite_pab'),wx_pub:e('./channels/wx_pub'),wx_pub_pab:e('./channels/wx_pub_pab'),wx_wap:e('./channels/wx_wap'),yeepay_wap:e('./channels/yeepay_wap'),yeepay_wx_pub:e('./channels/yeepay_wx_pub'),yeepay_wx_pub_ofl:e('./channels/yeepay_wx_pub'),yeepay_wx_lite:e('./channels/yeepay_wx_lite'),yeepay_wx_lite_ofl:e('./channels/yeepay_wx_lite_ofl')},r.extras={ap:e('./channels/extras/ap'),agreement:e('./agreement')},r.getChannelModule=function(e){if(t.call(r.channels,e))return r.channels[e]},r.getExtraModule=function(e){if(t.call(r.extras,e))return r.extras[e]}},{"./agreement":1,"./channels/abc_pay":3,"./channels/abc_pub":4,"./channels/alipay":5,"./channels/alipay_lite":6,"./channels/alipay_pc_direct":7,"./channels/alipay_qr":8,"./channels/alipay_qr_lakala":9,"./channels/alipay_wap":10,"./channels/alipay_wap_lakala":11,"./channels/bfb_wap":12,"./channels/cb_alipay_pc_direct":13,"./channels/cb_alipay_wap":14,"./channels/cb_wx_pub":15,"./channels/ccb_qr":16,"./channels/ccb_wap":17,"./channels/chinaums_alipay_pub":18,"./channels/chinaums_alipay_wap":19,"./channels/chinaums_upacp_wap":20,"./channels/chinaums_wx_pub":21,"./channels/chinaums_wx_wap":22,"./channels/cmb_pc_qr":23,"./channels/cmb_wallet":24,"./channels/cp_b2b":26,"./channels/extras/ap":27,"./channels/isv_lite":28,"./channels/isv_wap":29,"./channels/jdpay_wap":30,"./channels/nucc_b2b_lakala":31,"./channels/nucc_b2c_lakala":32,"./channels/pab_pc":33,"./channels/paypal":34,"./channels/qpay_pub":35,"./channels/upacp_b2b":36,"./channels/upacp_pc":37,"./channels/upacp_wap":38,"./channels/wx_lite":39,"./channels/wx_lite_pab":40,"./channels/wx_pub":41,"./channels/wx_pub_pab":42,"./channels/wx_wap":43,"./channels/yeepay_wap":44,"./channels/yeepay_wx_lite":45,"./channels/yeepay_wx_lite_ofl":46,"./channels/yeepay_wx_pub":47}],52:[function(e,a,n){var l=e('./errors').Error,i={}.hasOwnProperty;a.exports={id:null,or_id:null,channel:null,app:null,credential:{},extra:null,livemode:null,order_no:null,time_expire:null,paid:!1,status:null,actual_amount:null,init:function(e){var a,n;if('string'==typeof e)try{a=JSON.parse(e)}catch(e){throw new l('json_decode_fail',e)}else a=e;if(void 0===a)throw new l('json_decode_fail');if(i.call(a,'object')&&'order'==a.object){a.or_id=a.id,a.order_no=a.merchant_order_no;var t=a.charge_essentials;if(a.channel=t.channel,a.credential=t.credential,a.extra=t.extra,i.call(a,'charge')&&null!=a.charge)a.id=a.charge;else if(i.call(t,'id')&&null!=t.id)a.id=t.id;else if(i.call(a,'charges'))for(var r=0;r<a.charges.data.length;r++)if(a.charges.data[r].channel===t.channel){a.id=a.charges.data[r].id;break}}else i.call(a,'object')&&'recharge'==a.object&&(a=a.charge);for(n in this)i.call(a,n)&&(this[n]=a[n]);return this},clear:function(){for(var e in this)'function'!=typeof this[e]&&(this[e]=null)}}},{"./errors":48}],53:[function(e,a,n){a.exports={}},{}],54:[function(e,a,n){var t=e('./utils'),r={}.hasOwnProperty;a.exports={PINGPP_MOCK_URL:'https://sissi.pingxx.com/mock.php',runTestMode:function(e){var a={ch_id:e.id,scheme:'http',channel:e.channel};r.call(e,'order_no')?a.order_no=e.order_no:r.call(e,'orderNo')&&(a.order_no=e.orderNo),r.call(e,'time_expire')?a.time_expire=e.time_expire:r.call(e,'timeExpire')&&(a.time_expire=e.timeExpire),r.call(e,'extra')&&(a.extra=encodeURIComponent(JSON.stringify(e.extra))),t.redirectTo(this.PINGPP_MOCK_URL+'?'+t.stringifyData(a),e.channel)}}},{"./utils":55}],55:[function(e,a,n){var t=e('./callbacks'),o={}.hasOwnProperty,s=a.exports={stringifyData:function(e,a,n){void 0===n&&(n=!1);var t,r=[];for(t in e)o.call(e,t)&&'function'!=typeof e[t]&&('bfb_wap'==a&&'url'==t||'yeepay_wap'==a&&'mode'==t||'channel_url'!=t&&r.push(t+'='+(n?encodeURIComponent(e[t]):e[t])));return r.join('&')},request:function(e,a,n,t,r,l){if('undefined'!=typeof XMLHttpRequest){var i=new XMLHttpRequest;if(void 0!==i.timeout&&(i.timeout=6e3),'GET'===(a=a.toUpperCase())&&'object'==typeof n&&n&&(e+='?'+s.stringifyData(n,'',!0)),i.open(a,e,!0),void 0!==l)for(var c in l)o.call(l,c)&&i.setRequestHeader(c,l[c]);'POST'===a?(i.setRequestHeader('Content-type','application/json; charset=utf-8'),i.send(JSON.stringify(n))):i.send(),void 0===t&&(t=function(){}),void 0===r&&(r=function(){}),i.onreadystatechange=function(){4==i.readyState&&t(i.responseText,i.status,i)},i.onerror=function(e){r(i,0,e)}}else console.log('Function XMLHttpRequest is undefined.')},formSubmit:function(e,a,n){if('undefined'!=typeof window){var t,r,l=document.createElement('form');for(t in l.setAttribute('method',a),l.setAttribute('action',e),n)o.call(n,t)&&((r=document.createElement('input')).setAttribute('type','hidden'),r.setAttribute('name',t),r.setAttribute('value',n[t]),l.appendChild(r));document.body.appendChild(l),l.submit()}else console.log('Not a browser, form submit url: '+e)},randomString:function(e){void 0===e&&(e=32);for(var a='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',n=a.length,t='',r=0;r<e;r++)t+=a.charAt(Math.floor(Math.random()*n));return t},redirectTo:function(e,a){t.shouldReturnUrlByCallback(a)?t.triggerUrlReturnCallback(null,e):'undefined'!=typeof window?window.location.href=e:console.log('Not a browser, redirect url: '+e)},inWeixin:function(){return'undefined'!=typeof navigator&&-1!==navigator.userAgent.toLowerCase().indexOf('micromessenger')},inAlipay:function(){return'undefined'!=typeof navigator&&-1!==navigator.userAgent.toLowerCase().indexOf('alipayclient')},inWxLite:function(){return'undefined'!=typeof wx&&(wx.miniProgram||wx.requestPayment)},inAlipayLite:function(){return'undefined'!=typeof my&&my.tradePay},documentReady:function(e){'undefined'==typeof document||'loading'!=document.readyState?e():document.addEventListener('DOMContentLoaded',e)},loadUrlJs:function(e,a,n){var t=document.getElementsByTagName('head')[0],r=null;null==document.getElementById(e)?((r=document.createElement('script')).setAttribute('type','text/javascript'),r.setAttribute('src',a),r.setAttribute('id',e),r.async=!0,null!=n&&(r.onload=r.onreadystatechange=function(){if(r.ready)return!1;r.readyState&&'loaded'!=r.readyState&&'complete'!=r.readyState||(r.ready=!0,n())}),t.appendChild(r)):null!=n&&n()},deviceDetectorMobile:function(){return/Mobi/.test(window.navigator.userAgent)}}},{"./callbacks":2}],56:[function(e,a,n){a.exports={v:'2.3.0'}},{}]},{},[50])(50)});
1
+ !function(e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).pingpp=e()}(function(){return function t(r,l,i){function c(a,e){if(!l[a]){if(!r[a]){var n="function"==typeof require&&require;if(!e&&n)return n(a,!0);if(o)return o(a,!0);throw(n=new Error("Cannot find module '"+a+"'")).code="MODULE_NOT_FOUND",n}n=l[a]={exports:{}},r[a][0].call(n.exports,function(e){return c(r[a][1][e]||e)},n,n.exports,t,r,l,i)}return l[a].exports}for(var o="function"==typeof require&&require,e=0;e<i.length;e++)c(i[e]);return c}({1:[function(e,a,n){var t={}.hasOwnProperty,r=e('./callbacks'),l=e('./utils');a.exports={signAgreement:function(e){if('string'==typeof e)try{a=JSON.parse(e)}catch(e){return r.innerAgreementCallback('fail',r.error('json_decode_fail',e)),!1}else a=e;if(void 0===a)return r.innerAgreementCallback('fail',r.error('json_decode_fail')),!1;if(!t.call(a,'object')||'agreement'!==a.object||!t.call(a,'channel')||!t.call(a,'credential')||'object'!=typeof a.credential)return r.innerAgreementCallback('fail',r.error('invalid_object')),!1;if(!t.call(a.credential,a.channel))return r.innerAgreementCallback('fail',r.error('invalid_credential')),!1;var a,n,e=a.credential[a.channel];return'string'==typeof e?n=e:t.call(e,'credential')&&'string'==typeof e.credential&&(n=e.credential),void 0===n?(r.innerAgreementCallback('fail',r.error('invalid_credential')),!1):('alipay'===a.channel.substring(0,6)&&l.deviceDetectorMobile()&&(a=new URL(n),n='https://d.alipay.com/i/index.htm?iframeSrc='+encodeURIComponent("alipays://platformapi/startapp?appId=60000157&appClearTop=false&startMultApp=YES&sign_params="+encodeURIComponent(a.search.substring(1)))),setTimeout(function(){l.redirectTo(n)},0),!0)}}},{"./callbacks":2,"./utils":55}],2:[function(n,e,a){e.exports={userCallback:void 0,urlReturnCallback:void 0,urlReturnChannels:['alipay_pc_direct'],userAgreementCallback:void 0,innerCallback:function(e,a){'function'==typeof this.userCallback&&(void 0===a&&(a=this.error()),this.userCallback(e,a),this.userCallback=void 0,n('./payment_elements').clear())},error:function(e,a){return{msg:e=void 0===e?'':e,extra:a=void 0===a?'':a}},triggerUrlReturnCallback:function(e,a){'function'==typeof this.urlReturnCallback&&this.urlReturnCallback(e,a)},shouldReturnUrlByCallback:function(e){return'function'==typeof this.urlReturnCallback&&-1!==this.urlReturnChannels.indexOf(e)},innerAgreementCallback:function(e,a){'function'==typeof this.userAgreementCallback&&(void 0===a&&(a=this.error()),this.userAgreementCallback(e,a),this.userAgreementCallback=void 0)}}},{"./payment_elements":52}],3:[function(e,a,n){var t=e('../utils'),r=e('../callbacks');a.exports={handleCharge:function(e){var a=e.credential[e.channel];'string'==typeof a?t.redirectTo(a,e.channel):r.innerCallback('fail',r.error('invalid_credential','credential 格式不正确'))}}},{"../callbacks":2,"../utils":55}],4:[function(e,a,n){arguments[4][3][0].apply(n,arguments)},{"../callbacks":2,"../utils":55,dup:3}],5:[function(e,a,n){var t=e('../callbacks'),r={}.hasOwnProperty;a.exports={PINGPP_NOTIFY_URL_BASE:'https://notify.pingxx.com/notify',handleCharge:function(e){e=e.credential[e.channel];e||r.call(e,'orderInfo')?this.callpay(e.orderInfo):t.innerCallback('fail',t.error('invalid_credential','missing_alipay'))},alipayLiteEnabled:function(){return'undefined'!=typeof my&&my.tradePay},callpay:function(e){var a=this;if(this.alipayLiteEnabled())return this.alipayLitePay(e);if('undefined'!=typeof navigator&&/AlipayClient/.test(navigator.userAgent||navigator.swuserAgent))return this.waitAlipayJSBridgde(function(){a.alipayJsBridgePay(e)});var n='请在支付宝小程序或者支付宝应用内中打开';console.log(n),t.innerCallback('fail',t.error(n))},waitAlipayJSBridgde:function(e){window.AlipayJSBridge?e&&e():document.addEventListener('AlipayJSBridgeReady',e,!1)},alipayJsBridgePay:function(e){AlipayJSBridge.call('tradePay',{orderStr:e},this.alipayResultHandler)},alipayLitePay:function(e){var a={};a.orderStr=e,a.complete=this.alipayResultHandler,my.tradePay(a)},alipayResultHandler:function(e){var a={resultCode:e.resultCode};r.call(e,'memo')&&(a.memo=e.memo),r.call(e,'result')&&(a.result=e.result),'9000'==e.resultCode?t.innerCallback('success',t.error('',a)):'6001'==e.resultCode?t.innerCallback('cancel',t.error('用户取消支付',a)):t.innerCallback('fail',t.error('支付失败',a))},runTestMode:function(e){e='/charges/'+e.id;my.httpRequest({url:this.PINGPP_NOTIFY_URL_BASE+e+'?livemode=false',success:function(e){'success'==e.data?t.innerCallback('success'):t.innerCallback('fail',t.error('testmode_notify_fail'))},fail:function(){t.innerCallback('fail',t.error('network_err'))}})}}},{"../callbacks":2}],6:[function(e,a,n){var t=e('../callbacks');a.exports={PINGPP_NOTIFY_URL_BASE:'https://notify.pingxx.com/notify',handleCharge:function(e){e=e.credential[e.channel];e?this.callpay(e):t.innerCallback('fail',t.error('invalid_credential','missing_alipay_lite'))},alipayLiteEnabled:function(){return'undefined'!=typeof my&&my.tradePay},callpay:function(e){var a;this.alipayLiteEnabled()?((a={}).tradeNO=e,a.complete=function(e){9e3==e.resultCode?t.innerCallback('success'):6001==e.resultCode?t.innerCallback('cancel',t.error('用户取消支付')):t.innerCallback('fail',t.error('支付失败'))},my.tradePay(a)):console.log('请在支付宝小程序中打开')},runTestMode:function(e){e='/charges/'+e.id;my.httpRequest({url:this.PINGPP_NOTIFY_URL_BASE+e+'?livemode=false',success:function(e){'success'==e.data?t.innerCallback('success'):t.innerCallback('fail',t.error('testmode_notify_fail'))},fail:function(){t.innerCallback('fail',t.error('network_err'))}})}}},{"../callbacks":2}],7:[function(e,a,n){var t=e('../utils'),r={}.hasOwnProperty;a.exports={ALIPAY_PC_DIRECT_URL:'https://mapi.alipay.com/gateway.do',handleCharge:function(e){var a=e.channel,n=e.credential[a],e=this.ALIPAY_PC_DIRECT_URL;r.call(n,'channel_url')&&(e=n.channel_url),r.call(n,'_input_charset')||r.call(n,'service')&&'create_direct_pay_by_user'===n.service&&(n._input_charset='utf-8');n=t.stringifyData(n,a,!0);t.redirectTo(e+'?'+n,a)}}},{"../utils":55}],8:[function(e,a,n){var t={}.hasOwnProperty,r=e('../callbacks');a.exports={handleCharge:function(e){e=e.credential[e.channel];t.call(e,'transaction_no')?this.tradePay(e.transaction_no):r.innerCallback('fail',r.error('invalid_credential','missing_field_transaction_no'))},ready:function(e){window.AlipayJSBridge?e&&e():document.addEventListener('AlipayJSBridgeReady',e,!1)},tradePay:function(e){this.ready(function(){AlipayJSBridge.call('tradePay',{tradeNO:e},function(e){'9000'==e.resultCode?r.innerCallback('success'):'6001'==e.resultCode?r.innerCallback('cancel',r.error(e.result)):r.innerCallback('fail',r.error(e.result))})})}}},{"../callbacks":2}],9:[function(e,a,n){var t=e('./commons/redirect_base');a.exports={handleCharge:function(e){t.handleCharge(e)}}},{"./commons/redirect_base":25}],10:[function(e,a,n){var t=e('../utils'),r=e('../mods'),l={}.hasOwnProperty;a.exports={ALIPAY_WAP_URL_OLD:'https://wappaygw.alipay.com/service/rest.htm',ALIPAY_WAP_URL:'https://mapi.alipay.com/gateway.do',handleCharge:function(e){var a=e.channel,n=e.credential[a],e=this.ALIPAY_WAP_URL;l.call(n,'req_data')?e=this.ALIPAY_WAP_URL_OLD:l.call(n,'channel_url')&&(e=n.channel_url),l.call(n,'_input_charset')||(l.call(n,'service')&&'alipay.wap.create.direct.pay.by.user'===n.service||l.call(n,'req_data'))&&(n._input_charset='utf-8');e=e+'?'+t.stringifyData(n,a,!0),n=r.getExtraModule('ap');t.inWeixin()&&void 0!==n?n.pay(e):t.redirectTo(e,a)}}},{"../mods":51,"../utils":55}],11:[function(e,a,n){arguments[4][9][0].apply(n,arguments)},{"./commons/redirect_base":25,dup:9}],12:[function(e,a,n){var t=e('../utils'),r=e('../callbacks'),l={}.hasOwnProperty;a.exports={handleCharge:function(e){var a=e.channel,e=e.credential[a];l.call(e,'url')?t.redirectTo(e.url+'?'+t.stringifyData(e,a),a):r.innerCallback('fail',r.error('invalid_credential','missing_field:url'))}}},{"../callbacks":2,"../utils":55}],13:[function(e,a,n){var t=e('../utils'),r={}.hasOwnProperty;a.exports={ALIPAY_PC_DIRECT_URL:'https://intlmapi.alipay.com/gateway.do',handleCharge:function(e){var a=e.channel,n=e.credential[a],e=this.ALIPAY_PC_DIRECT_URL;r.call(n,'channel_url')&&(e=n.channel_url),r.call(n,'_input_charset')||r.call(n,'service')&&'create_forex_trade'===n.service&&(n._input_charset='utf-8');n=t.stringifyData(n,a,!0);t.redirectTo(e+'?'+n,a)}}},{"../utils":55}],14:[function(e,a,n){var t=e('../utils'),r=e('../mods'),l={}.hasOwnProperty;a.exports={ALIPAY_WAP_URL:'https://intlmapi.alipay.com/gateway.do',handleCharge:function(e){var a=e.channel,n=e.credential[a],e=this.ALIPAY_WAP_URL;l.call(n,'channel_url')&&(e=n.channel_url),l.call(n,'_input_charset')||l.call(n,'service')&&'create_forex_trade_wap'===n.service&&(n._input_charset='utf-8');e=e+'?'+t.stringifyData(n,a,!0),n=r.getExtraModule('ap');t.inWeixin()&&void 0!==n?n.pay(e):t.redirectTo(e,a)}}},{"../mods":51,"../utils":55}],15:[function(e,a,n){var r=e('../callbacks'),t=e('../utils'),l=e('../stash'),i=e('../mods'),c={}.hasOwnProperty;a.exports={PINGPP_NOTIFY_URL_BASE:'https://notify.pingxx.com/notify',handleCharge:function(e){for(var a=e.credential[e.channel],n=['appId','timeStamp','nonceStr','package','signType','paySign'],t=0;t<n.length;t++)if(!c.call(a,n[t]))return void r.innerCallback('fail',r.error('invalid_credential','missing_field_'+n[t]));l.jsApiParameters=a,this.callpay()},callpay:function(){var e=this,a=i.getExtraModule('wx_jssdk');void 0!==a&&a.jssdkEnabled()?a.callpay():'undefined'==typeof WeixinJSBridge?(a=function(){e.jsApiCall()},document.addEventListener?document.addEventListener('WeixinJSBridgeReady',a,!1):document.attachEvent&&(document.attachEvent('WeixinJSBridgeReady',a),document.attachEvent('onWeixinJSBridgeReady',a))):this.jsApiCall()},jsApiCall:function(){c.call(l,'jsApiParameters')&&WeixinJSBridge.invoke('getBrandWCPayRequest',l.jsApiParameters,function(e){delete l.jsApiParameters,'get_brand_wcpay_request:ok'==e.err_msg?r.innerCallback('success'):'get_brand_wcpay_request:cancel'==e.err_msg?r.innerCallback('cancel'):r.innerCallback('fail',r.error('wx_result_fail',e.err_msg))})},runTestMode:function(e){confirm('模拟付款?')&&(e='/charges/'+e.id,t.request(this.PINGPP_NOTIFY_URL_BASE+e+'?livemode=false','GET',null,function(e,a){200<=a&&a<400&&'success'==e?r.innerCallback('success'):r.innerCallback('fail',r.error('testmode_notify_fail','http_code:'+a+';response:'+e))},function(){r.innerCallback('fail',r.error('network_err'))}))}}},{"../callbacks":2,"../mods":51,"../stash":53,"../utils":55}],16:[function(e,a,n){arguments[4][9][0].apply(n,arguments)},{"./commons/redirect_base":25,dup:9}],17:[function(e,a,n){var t=e('../utils'),r={}.hasOwnProperty,l=e('../callbacks');a.exports={CCB_WAP_URL_BASE:'https://ibsbjstar.ccb.com.cn/CCBIS/ccbMain?',handleCharge:function(e){var a=e.channel,e=e.credential[a];r.call(e,'orderinfo')?(e=this.CCB_WAP_URL_BASE+e.orderinfo,t.redirectTo(e,a)):l.innerCallback('fail',l.error('invalid_credential','missing_field:orderinfo'))}}},{"../callbacks":2,"../utils":55}],18:[function(e,a,n){var t=e('../utils'),r=e('../callbacks');a.exports={handleCharge:function(e){var a=e.credential[e.channel];'string'==typeof a?t.redirectTo(a,e.channel):r.innerCallback('fail',r.error('invalid_credential','credential 格式不正确'))}}},{"../callbacks":2,"../utils":55}],19:[function(e,a,n){arguments[4][18][0].apply(n,arguments)},{"../callbacks":2,"../utils":55,dup:18}],20:[function(e,a,n){var t=e('../utils'),r=e('../callbacks');a.exports={handleCharge:function(e){var a=e.credential[e.channel];'string'==typeof a?t.redirectTo(a,e.channel):r.innerCallback('fail',r.error('invalid_credential','credential 格式不正确'))}}},{"../callbacks":2,"../utils":55}],21:[function(e,a,n){arguments[4][18][0].apply(n,arguments)},{"../callbacks":2,"../utils":55,dup:18}],22:[function(e,a,n){arguments[4][18][0].apply(n,arguments)},{"../callbacks":2,"../utils":55,dup:18}],23:[function(e,a,n){var t=e('../utils'),r={}.hasOwnProperty;a.exports={handleCharge:function(e){var a,n=e.channel,n=e.credential[n];r.call(n,'channel_url')&&(a=n.channel_url,delete n.channel_url),t.formSubmit(a,'post',n)}}},{"../utils":55}],24:[function(e,a,n){var t=e('../utils'),r={}.hasOwnProperty;a.exports={CMB_WALLET_URL:'https://netpay.cmbchina.com/netpayment/BaseHttp.dll?MB_EUserPay',handleCharge:function(e){var a=e.credential[e.channel],e=this.CMB_WALLET_URL;r.call(a,'ChannelUrl')&&(e=a.ChannelUrl,delete a.ChannelUrl),r.call(a,'channelVersion')&&delete a.channelVersion,t.formSubmit(e,'post',a)}}},{"../utils":55}],25:[function(e,a,n){var t=e('../../utils'),r=e('../../callbacks'),l={}.hasOwnProperty;a.exports={handleCharge:function(e){var a,n=e.credential[e.channel];if('string'==typeof n)a=n;else{if(!l.call(n,'url'))return void r.innerCallback('fail',r.error('invalid_credential','credential format is incorrect'));a=n.url}t.redirectTo(a,e.channel)}}},{"../../callbacks":2,"../../utils":55}],26:[function(e,a,n){var t=e('../utils');a.exports={CP_B2B_URL:'https://payment.chinapay.com/CTITS/service/rest/page/nref/000000000017/0/0/0/0/0',handleCharge:function(e){e=e.credential[e.channel];t.formSubmit(this.CP_B2B_URL,'post',e)}}},{"../utils":55}],27:[function(e,a,n){var t,o,r=e('../../stash'),l={}.hasOwnProperty;o={PADCHAR:'=',ALPHA:'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',makeDOMException:function(){try{return new DOMException(DOMException.INVALID_CHARACTER_ERR)}catch(e){var a=new Error('DOM Exception 5');return a.code=a.number=5,a.name=a.description='INVALID_CHARACTER_ERR',a.toString=function(){return'Error: '+a.name+': '+a.message},a}},getbyte64:function(e,a){a=o.ALPHA.indexOf(e.charAt(a));if(-1===a)throw o.makeDOMException();return a},decode:function(e){var a,n,t=o.getbyte64,r=(e=''+e).length;if(0===r)return e;if(r%4!=0)throw o.makeDOMException();a=0,e.charAt(r-1)===o.PADCHAR&&(a=1,e.charAt(r-2)===o.PADCHAR&&(a=2),r-=4);for(var l=[],i=0;i<r;i+=4)n=t(e,i)<<18|t(e,i+1)<<12|t(e,i+2)<<6|t(e,i+3),l.push(String.fromCharCode(n>>16,n>>8&255,255&n));switch(a){case 1:n=t(e,i)<<18|t(e,i+1)<<12|t(e,i+2)<<6,l.push(String.fromCharCode(n>>16,n>>8&255));break;case 2:n=t(e,i)<<18|t(e,i+1)<<12,l.push(String.fromCharCode(n>>16))}return l.join('')},getbyte:function(e,a){a=e.charCodeAt(a);if(255<a)throw o.makeDOMException();return a},encode:function(e){if(1!==arguments.length)throw new SyntaxError('Not enough arguments');var a,n,t=o.PADCHAR,r=o.ALPHA,l=o.getbyte,i=[],c=(e=''+e).length-e.length%3;if(0===e.length)return e;for(a=0;a<c;a+=3)n=l(e,a)<<16|l(e,a+1)<<8|l(e,a+2),i.push(r.charAt(n>>18)),i.push(r.charAt(n>>12&63)),i.push(r.charAt(n>>6&63)),i.push(r.charAt(63&n));switch(e.length-c){case 1:n=l(e,a)<<16,i.push(r.charAt(n>>18)+r.charAt(n>>12&63)+t+t);break;case 2:n=l(e,a)<<16|l(e,a+1)<<8,i.push(r.charAt(n>>18)+r.charAt(n>>12&63)+r.charAt(n>>6&63)+t)}return i.join('')}},(t={}).url='pay.htm',t.pay=function(e){e=encodeURIComponent(o.encode(e));l.call(r,'APURL')&&(t.url=r.APURL),location.href=t.url+'?goto='+e},t.decode=function(e){return o.decode(decodeURIComponent(e))},a.exports=t},{"../../stash":53}],28:[function(e,a,n){e=e('./wx_lite');a.exports=e},{"./wx_lite":39}],29:[function(e,a,n){var t=e('./commons/redirect_base'),r=e('../callbacks'),l=e('../utils'),i={}.hasOwnProperty;a.exports={handleCharge:function(e){var a=e.extra;i.call(a,'pay_channel')?'wx'!==(a=a.pay_channel)||l.inWeixin()?'alipay'!==a||l.inAlipay()?t.handleCharge(e):r.innerCallback('fail',r.error('Not in the Alipay browser')):r.innerCallback('fail',r.error('Not in the WeChat browser')):r.innerCallback('fail',r.error('invalid_charge','charge 格式不正确'))}}},{"../callbacks":2,"../utils":55,"./commons/redirect_base":25}],30:[function(e,a,n){var t=e('../utils'),r={}.hasOwnProperty;a.exports={JDPAY_WAP_URL_OLD:'https://m.jdpay.com/wepay/web/pay',JDPAY_H5_URL:'https://h5pay.jd.com/jdpay/saveOrder',JDPAY_PC_URL:'https://wepay.jd.com/jdpay/saveOrder',handleCharge:function(e){var a=e.credential[e.channel],e=this.JDPAY_H5_URL;r.call(a,'channelUrl')?(e=a.channelUrl,delete a.channelUrl):r.call(a,'merchantRemark')&&(e=this.JDPAY_WAP_URL_OLD),t.formSubmit(e,'post',a)}}},{"../utils":55}],31:[function(e,a,n){var t=e('../utils'),r={}.hasOwnProperty;a.exports={handleCharge:function(e){e=e.credential[e.channel];r.call(e,'bankUrl')&&(request_url=e.bankUrl,delete e.bankUrl),t.formSubmit(request_url,'post',e)}}},{"../utils":55}],32:[function(e,a,n){arguments[4][31][0].apply(n,arguments)},{"../utils":55,dup:31}],33:[function(e,a,n){var t=e('../utils');a.exports={handleCharge:function(e){var a=e.credential[e.channel],e=a.channelUrl;delete a.channelUrl,t.formSubmit(e,'post',a)}}},{"../utils":55}],34:[function(e,a,n){var t=e('../utils');a.exports={handleCharge:function(e){var a=e.credential[e.channel];t.redirectTo(a,e.channel)}}},{"../utils":55}],35:[function(e,a,n){var t=e('../callbacks'),r=e('../utils'),l=e('../stash'),i={}.hasOwnProperty;a.exports={SRC_URL:'https://open.mobile.qq.com/sdk/qqapi.js?_bid=152',ID:'mqq_api',handleCharge:function(e){e=e.credential[e.channel];i.call(e,'token_id')?(l.tokenId=e.token_id,r.loadUrlJs(this.ID,this.SRC_URL,this.callpay)):t.innerCallback('fail',t.error('invalid_credential','missing_token_id'))},callpay:function(){if('undefined'!=typeof mqq){if(0==mqq.QQVersion)return t.innerCallback('fail',t.error('Not in the QQ client')),void delete l.tokenId;mqq.tenpay.pay({tokenId:l.tokenId},function(e){0==e.resultCode?t.innerCallback('success'):t.innerCallback('fail',t.error(e.retmsg))})}else t.innerCallback('fail',t.error('network_err'));delete l.tokenId}}},{"../callbacks":2,"../stash":53,"../utils":55}],36:[function(e,a,n){arguments[4][23][0].apply(n,arguments)},{"../utils":55,dup:23}],37:[function(e,a,n){var t=e('../utils');a.exports={UPACP_PC_URL:'https://gateway.95516.com/gateway/api/frontTransReq.do',handleCharge:function(e){e=e.credential[e.channel];t.formSubmit(this.UPACP_PC_URL,'post',e)}}},{"../utils":55}],38:[function(e,a,n){var t=e('../utils');a.exports={UPACP_WAP_URL:'https://gateway.95516.com/gateway/api/frontTransReq.do',handleCharge:function(e){e=e.credential[e.channel];t.formSubmit(this.UPACP_WAP_URL,'post',e)}}},{"../utils":55}],39:[function(e,a,n){var r=e('../stash'),l=e('../callbacks'),i={}.hasOwnProperty;a.exports={PINGPP_NOTIFY_URL_BASE:'https://notify.pingxx.com/notify',handleCharge:function(e){for(var a=e.credential[e.channel],n=['appId','timeStamp','nonceStr','package','signType','paySign'],t=0;t<n.length;t++)if(!i.call(a,n[t]))return void l.innerCallback('fail',l.error('invalid_credential','missing_field_'+n[t]));r.jsApiParameters=a,this.callpay()},wxLiteEnabled:function(){return'undefined'!=typeof wx&&wx.requestPayment},callpay:function(){var e;this.wxLiteEnabled()?(delete(e=r.jsApiParameters).appId,e.complete=function(e){'requestPayment:ok'===e.errMsg&&l.innerCallback('success'),'requestPayment:cancel'!==e.errMsg&&'requestPayment:fail cancel'!==e.errMsg||l.innerCallback('cancel',l.error('用户取消支付')),'undefined'!==e.err_code&&'undefined'!==e.err_desc&&l.innerCallback('fail',l.error(e.err_desc,e))},wx.requestPayment(e)):console.log('请在微信小程序中打开')},runTestMode:function(e){e='/charges/'+e.id;wx.request({url:this.PINGPP_NOTIFY_URL_BASE+e+'?livemode=false',success:function(e){'success'==e.data?l.innerCallback('success'):l.innerCallback('fail',l.error('testmode_notify_fail'))},fail:function(){l.innerCallback('fail',l.error('network_err'))}})}}},{"../callbacks":2,"../stash":53}],40:[function(e,a,n){arguments[4][28][0].apply(n,arguments)},{"./wx_lite":39,dup:28}],41:[function(e,a,n){arguments[4][15][0].apply(n,arguments)},{"../callbacks":2,"../mods":51,"../stash":53,"../utils":55,dup:15}],42:[function(e,a,n){e=e('./wx_pub');a.exports=e},{"./wx_pub":41}],43:[function(e,a,n){var t=e('../utils'),r=e('../callbacks'),l={}.hasOwnProperty;a.exports={handleCharge:function(e){var a=e.credential[e.channel];'string'==typeof a?t.redirectTo(a,e.channel):'object'==typeof a&&l.call(a,'url')?t.redirectTo(a.url,e.channel):r.innerCallback('fail',r.error('invalid_credential','credential 格式不正确'))}}},{"../callbacks":2,"../utils":55}],44:[function(e,a,n){var i=e('../utils'),c=e('../callbacks'),o={}.hasOwnProperty;a.exports={YEEPAY_WAP_URL:'https://ok.yeepay.com/paymobile/api/pay/request',YEEPAY_WAP_TEST_URL:'https://mobiletest.yeepay.com/paymobile/api/pay/request',handleCharge:function(e){for(var a,n=e.channel,t=e.credential[n],r=['merchantaccount','encryptkey','data'],l=0;l<r.length;l++)if(!o.call(t,r[l]))return void c.innerCallback('fail',c.error('invalid_credential','missing_field_'+r[l]));a=o.call(t,'mode')&&'test'==t.mode?this.YEEPAY_WAP_TEST_URL:this.YEEPAY_WAP_URL,i.redirectTo(a+'?'+i.stringifyData(t,n,!0),e.channel)}}},{"../callbacks":2,"../utils":55}],45:[function(e,a,n){e=e('./wx_lite');a.exports=e},{"./wx_lite":39}],46:[function(e,a,n){arguments[4][45][0].apply(n,arguments)},{"./wx_lite":39,dup:45}],47:[function(e,a,n){arguments[4][42][0].apply(n,arguments)},{"./wx_pub":41,dup:42}],48:[function(e,a,n){a.exports={Error:function(e,a){this.message=e,this.extra=a}}},{}],49:[function(e,a,n){var t=e('./stash'),r=e('./utils');a.exports={init:function(){var e=this;r.documentReady(function(){try{r.inWxLite()||r.inAlipayLite()||e.initPuid()}catch(e){}})},initPuid:function(){if('undefined'!=typeof window&&'undefined'!=typeof localStorage&&null!==localStorage){var e=localStorage.getItem('pingpp_uid');if(null===e){e=r.randomString();try{localStorage.setItem('pingpp_uid',e)}catch(e){}}t.puid=e}}}},{"./stash":53,"./utils":55}],50:[function(e,a,n){function PingppSDK(){e('./init').init()}var t=e('./version').v,r={}.hasOwnProperty;PingppSDK.prototype.version=t,a.exports=new PingppSDK;var l=e('./testmode'),i=e('./callbacks'),c=e('./errors').Error,o=e('./mods'),s=e('./stash'),u=e('./payment_elements');PingppSDK.prototype.createPayment=function(e,a,n,t){'function'==typeof a&&(i.userCallback=a);try{u.init(e)}catch(e){if(e instanceof c)return void i.innerCallback('fail',i.error(e.message,e.extra));throw e}if(r.call(u,'id'))if(r.call(u,'channel')){r.call(u,'app')&&('string'==typeof u.app?s.app_id=u.app:'object'==typeof u.app&&'string'==typeof u.app.id&&(s.app_id=u.app.id));a=u.channel;if(r.call(u,'credential'))if(u.paid&&0===u.actual_amount)i.innerCallback('success');else if(u.credential)if(r.call(u.credential,a))if(r.call(u,'livemode')){e=o.getChannelModule(a);if(void 0===e)return console.error('channel module "'+a+'" is undefined'),void i.innerCallback('fail',i.error('invalid_channel','channel module "'+a+'" is undefined'));!1!==u.livemode?(void 0!==n&&(s.signature=n),'boolean'==typeof t&&(s.debug=t),e.handleCharge(u)):(r.call(e,'runTestMode')?e:l).runTestMode(u)}else i.innerCallback('fail',i.error('invalid_charge','no_livemode_field'));else i.innerCallback('fail',i.error('invalid_credential','credential_is_incorrect'));else i.innerCallback('fail',i.error('invalid_credential','credential_is_undefined'));else i.innerCallback('fail',i.error('invalid_charge','no_credential'))}else i.innerCallback('fail',i.error('invalid_charge','no_channel'));else i.innerCallback('fail',i.error('invalid_charge','no_charge_id'))},PingppSDK.prototype.setAPURL=function(e){s.APURL=e},PingppSDK.prototype.setUrlReturnCallback=function(e,a){if('function'!=typeof e)throw'callback need to be a function';if(i.urlReturnCallback=e,void 0!==a){if(!Array.isArray(a))throw'channels need to be an array';i.urlReturnChannels=a}},PingppSDK.prototype.signAgreement=function(e,a){'function'==typeof a&&(i.userAgreementCallback=a);a=o.getExtraModule('agreement');return void 0===a?(console.error('module "agreement" is undefined'),i.innerCallback('fail',i.error('invalid_module','module "agreement" is undefined')),!1):a.signAgreement(e)}},{"./callbacks":2,"./errors":48,"./init":49,"./mods":51,"./payment_elements":52,"./stash":53,"./testmode":54,"./version":56}],51:[function(e,a,n){var t={}.hasOwnProperty,r={};(a.exports=r).channels={alipay:e('./channels/alipay'),alipay_lite:e('./channels/alipay_lite'),abc_pay:e('./channels/abc_pay'),abc_pub:e('./channels/abc_pub'),alipay_pc_direct:e('./channels/alipay_pc_direct'),alipay_qr:e('./channels/alipay_qr'),alipay_qr_lakala:e('./channels/alipay_qr_lakala'),alipay_wap:e('./channels/alipay_wap'),alipay_wap_lakala:e('./channels/alipay_wap_lakala'),bfb_wap:e('./channels/bfb_wap'),cb_alipay_pc_direct:e('./channels/cb_alipay_pc_direct'),cb_alipay_wap:e('./channels/cb_alipay_wap'),cb_wx_pub:e('./channels/cb_wx_pub'),ccb_qr:e('./channels/ccb_qr'),ccb_wap:e('./channels/ccb_wap'),chinaums_alipay_pub:e('./channels/chinaums_alipay_pub'),chinaums_alipay_wap:e('./channels/chinaums_alipay_wap'),chinaums_upacp_wap:e('./channels/chinaums_upacp_wap'),chinaums_wx_pub:e('./channels/chinaums_wx_pub'),chinaums_wx_wap:e('./channels/chinaums_wx_wap'),cmb_pc_qr:e('./channels/cmb_pc_qr'),cmb_wallet:e('./channels/cmb_wallet'),cp_b2b:e('./channels/cp_b2b'),isv_lite:e('./channels/isv_lite'),isv_wap:e('./channels/isv_wap'),jdpay_wap:e('./channels/jdpay_wap'),nucc_b2b_lakala:e('./channels/nucc_b2b_lakala'),nucc_b2c_lakala:e('./channels/nucc_b2c_lakala'),pab_pc:e('./channels/pab_pc'),paypal:e('./channels/paypal'),qpay_pub:e('./channels/qpay_pub'),upacp_b2b:e('./channels/upacp_b2b'),upacp_pc:e('./channels/upacp_pc'),upacp_wap:e('./channels/upacp_wap'),wx_lite:e('./channels/wx_lite'),wx_lite_pab:e('./channels/wx_lite_pab'),wx_pub:e('./channels/wx_pub'),wx_pub_pab:e('./channels/wx_pub_pab'),wx_wap:e('./channels/wx_wap'),yeepay_wap:e('./channels/yeepay_wap'),yeepay_wx_pub:e('./channels/yeepay_wx_pub'),yeepay_wx_pub_ofl:e('./channels/yeepay_wx_pub'),yeepay_wx_lite:e('./channels/yeepay_wx_lite'),yeepay_wx_lite_ofl:e('./channels/yeepay_wx_lite_ofl')},r.extras={ap:e('./channels/extras/ap'),agreement:e('./agreement')},r.getChannelModule=function(e){if(t.call(r.channels,e))return r.channels[e]},r.getExtraModule=function(e){if(t.call(r.extras,e))return r.extras[e]}},{"./agreement":1,"./channels/abc_pay":3,"./channels/abc_pub":4,"./channels/alipay":5,"./channels/alipay_lite":6,"./channels/alipay_pc_direct":7,"./channels/alipay_qr":8,"./channels/alipay_qr_lakala":9,"./channels/alipay_wap":10,"./channels/alipay_wap_lakala":11,"./channels/bfb_wap":12,"./channels/cb_alipay_pc_direct":13,"./channels/cb_alipay_wap":14,"./channels/cb_wx_pub":15,"./channels/ccb_qr":16,"./channels/ccb_wap":17,"./channels/chinaums_alipay_pub":18,"./channels/chinaums_alipay_wap":19,"./channels/chinaums_upacp_wap":20,"./channels/chinaums_wx_pub":21,"./channels/chinaums_wx_wap":22,"./channels/cmb_pc_qr":23,"./channels/cmb_wallet":24,"./channels/cp_b2b":26,"./channels/extras/ap":27,"./channels/isv_lite":28,"./channels/isv_wap":29,"./channels/jdpay_wap":30,"./channels/nucc_b2b_lakala":31,"./channels/nucc_b2c_lakala":32,"./channels/pab_pc":33,"./channels/paypal":34,"./channels/qpay_pub":35,"./channels/upacp_b2b":36,"./channels/upacp_pc":37,"./channels/upacp_wap":38,"./channels/wx_lite":39,"./channels/wx_lite_pab":40,"./channels/wx_pub":41,"./channels/wx_pub_pab":42,"./channels/wx_wap":43,"./channels/yeepay_wap":44,"./channels/yeepay_wx_lite":45,"./channels/yeepay_wx_lite_ofl":46,"./channels/yeepay_wx_pub":47}],52:[function(e,a,n){var l=e('./errors').Error,i={}.hasOwnProperty;a.exports={id:null,or_id:null,channel:null,app:null,credential:{},extra:null,livemode:null,order_no:null,time_expire:null,paid:!1,status:null,actual_amount:null,init:function(e){var a,n;if('string'==typeof e)try{a=JSON.parse(e)}catch(e){throw new l('json_decode_fail',e)}else a=e;if(void 0===a)throw new l('json_decode_fail');if(i.call(a,'object')&&'order'==a.object){a.or_id=a.id,a.order_no=a.merchant_order_no;var t=a.charge_essentials;if(a.channel=t.channel,a.credential=t.credential,a.extra=t.extra,i.call(a,'charge')&&null!=a.charge)a.id=a.charge;else if(i.call(t,'id')&&null!=t.id)a.id=t.id;else if(i.call(a,'charges'))for(var r=0;r<a.charges.data.length;r++)if(a.charges.data[r].channel===t.channel){a.id=a.charges.data[r].id;break}}else i.call(a,'object')&&'recharge'==a.object&&(a=a.charge);for(n in this)i.call(a,n)&&(this[n]=a[n]);return this},clear:function(){for(var e in this)'function'!=typeof this[e]&&(this[e]=null)}}},{"./errors":48}],53:[function(e,a,n){a.exports={}},{}],54:[function(e,a,n){var t=e('./utils'),r={}.hasOwnProperty;a.exports={PINGPP_MOCK_URL:'https://sissi.pingxx.com/mock.php',runTestMode:function(e){var a={ch_id:e.id,scheme:'http',channel:e.channel};r.call(e,'order_no')?a.order_no=e.order_no:r.call(e,'orderNo')&&(a.order_no=e.orderNo),r.call(e,'time_expire')?a.time_expire=e.time_expire:r.call(e,'timeExpire')&&(a.time_expire=e.timeExpire),r.call(e,'extra')&&(a.extra=encodeURIComponent(JSON.stringify(e.extra))),t.redirectTo(this.PINGPP_MOCK_URL+'?'+t.stringifyData(a),e.channel)}}},{"./utils":55}],55:[function(e,a,n){var t=e('./callbacks'),o={}.hasOwnProperty,s=a.exports={stringifyData:function(e,a,n){void 0===n&&(n=!1);var t,r=[];for(t in e)o.call(e,t)&&'function'!=typeof e[t]&&('bfb_wap'==a&&'url'==t||'yeepay_wap'==a&&'mode'==t||'channel_url'!=t&&r.push(t+'='+(n?encodeURIComponent(e[t]):e[t])));return r.join('&')},request:function(e,a,n,t,r,l){if('undefined'!=typeof XMLHttpRequest){var i=new XMLHttpRequest;if(void 0!==i.timeout&&(i.timeout=6e3),'GET'===(a=a.toUpperCase())&&'object'==typeof n&&n&&(e+='?'+s.stringifyData(n,'',!0)),i.open(a,e,!0),void 0!==l)for(var c in l)o.call(l,c)&&i.setRequestHeader(c,l[c]);'POST'===a?(i.setRequestHeader('Content-type','application/json; charset=utf-8'),i.send(JSON.stringify(n))):i.send(),void 0===t&&(t=function(){}),void 0===r&&(r=function(){}),i.onreadystatechange=function(){4==i.readyState&&t(i.responseText,i.status,i)},i.onerror=function(e){r(i,0,e)}}else console.log('Function XMLHttpRequest is undefined.')},formSubmit:function(e,a,n){if('undefined'!=typeof window){var t,r,l=document.createElement('form');for(t in l.setAttribute('method',a),l.setAttribute('action',e),n)o.call(n,t)&&((r=document.createElement('input')).setAttribute('type','hidden'),r.setAttribute('name',t),r.setAttribute('value',n[t]),l.appendChild(r));document.body.appendChild(l),l.submit()}else console.log('Not a browser, form submit url: '+e)},randomString:function(e){void 0===e&&(e=32);for(var a='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',n=a.length,t='',r=0;r<e;r++)t+=a.charAt(Math.floor(Math.random()*n));return t},redirectTo:function(e,a){t.shouldReturnUrlByCallback(a)?t.triggerUrlReturnCallback(null,e):'undefined'!=typeof window?window.location.href=e:console.log('Not a browser, redirect url: '+e)},inWeixin:function(){return'undefined'!=typeof navigator&&-1!==navigator.userAgent.toLowerCase().indexOf('micromessenger')},inAlipay:function(){return'undefined'!=typeof navigator&&-1!==navigator.userAgent.toLowerCase().indexOf('alipayclient')},inWxLite:function(){return'undefined'!=typeof wx&&(wx.miniProgram||wx.requestPayment)},inAlipayLite:function(){return'undefined'!=typeof my&&my.tradePay},documentReady:function(e){'undefined'==typeof document||'loading'!=document.readyState?e():document.addEventListener('DOMContentLoaded',e)},loadUrlJs:function(e,a,n){var t=document.getElementsByTagName('head')[0],r=null;null==document.getElementById(e)?((r=document.createElement('script')).setAttribute('type','text/javascript'),r.setAttribute('src',a),r.setAttribute('id',e),r.async=!0,null!=n&&(r.onload=r.onreadystatechange=function(){if(r.ready)return!1;r.readyState&&'loaded'!=r.readyState&&'complete'!=r.readyState||(r.ready=!0,n())}),t.appendChild(r)):null!=n&&n()},deviceDetectorMobile:function(){return/Mobi/.test(window.navigator.userAgent)}}},{"./callbacks":2}],56:[function(e,a,n){a.exports={v:'2.3.1'}},{}]},{},[50])(50)});
2
2
  //# sourceMappingURL=pingpp.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["node_modules/browser-pack/_prelude.js","src/agreement.js","src/callbacks.js","src/channels/abc_pay.js","src/channels/alipay.js","src/channels/alipay_lite.js","src/channels/alipay_pc_direct.js","src/channels/alipay_qr.js","src/channels/alipay_qr_lakala.js","src/channels/alipay_wap.js","src/channels/bfb_wap.js","src/channels/cb_alipay_pc_direct.js","src/channels/cb_alipay_wap.js","src/channels/cb_wx_pub.js","src/channels/ccb_wap.js","src/channels/chinaums_alipay_pub.js","src/channels/chinaums_upacp_wap.js","src/channels/cmb_pc_qr.js","src/channels/cmb_wallet.js","src/channels/commons/redirect_base.js","src/channels/cp_b2b.js","src/channels/extras/ap.js","src/channels/isv_lite.js","src/channels/isv_wap.js","src/channels/jdpay_wap.js","src/channels/nucc_b2b_lakala.js","src/channels/pab_pc.js","src/channels/paypal.js","src/channels/qpay_pub.js","src/channels/upacp_pc.js","src/channels/upacp_wap.js","src/channels/wx_lite.js","src/channels/wx_pub_pab.js","src/channels/wx_wap.js","src/channels/yeepay_wap.js","src/channels/yeepay_wx_lite.js","src/errors.js","src/init.js","src/main.js","src/mods.js","src/payment_elements.js","src/stash.js","src/testmode.js","src/utils.js","src/version.js"],"names":["f","exports","module","define","amd","window","global","self","this","pingpp","r","e","n","t","o","i","c","require","u","a","Error","code","p","call","length","1","hasOwn","hasOwnProperty","callbacks","utils","signAgreement","agreement","agreementObj","JSON","parse","err","innerAgreementCallback","error","object","credential","channel","url","urlToOpen","substring","deviceDetectorMobile","URL","encodeURIComponent","search","setTimeout","redirectTo","userCallback","undefined","urlReturnCallback","urlReturnChannels","userAgreementCallback","innerCallback","result","clear","msg","extra","triggerUrlReturnCallback","shouldReturnUrlByCallback","indexOf","handleCharge","charge","PINGPP_NOTIFY_URL_BASE","callpay","orderInfo","alipayLiteEnabled","my","tradePay","orderStr","alipayLitePay","navigator","test","userAgent","swuserAgent","waitAlipayJSBridgde","alipayJsBridgePay","errmsg","console","log","callback","AlipayJSBridge","document","addEventListener","alipayResultHandler","tradePayParams","complete","res","resultCode","memo","runTestMode","path","id","httpRequest","success","data","fail","trade_no","tradeNO","alipay_lite","ALIPAY_PC_DIRECT_URL","baseURL","channel_url","service","_input_charset","query","stringifyData","transaction_no","ready","redirectBase","mods","ALIPAY_WAP_URL_OLD","ALIPAY_WAP_URL","targetURL","ap","getExtraModule","inWeixin","pay","stash","fields","k","jsApiParameters","wx_jssdk","jssdkEnabled","WeixinJSBridge","eventCallback","jsApiCall","attachEvent","invoke","err_msg","confirm","request","status","CCB_WAP_URL_BASE","formSubmit","CMB_WALLET_URL","request_url","ChannelUrl","channelVersion","CP_B2B_URL","b","PADCHAR","ALPHA","makeDOMException","DOMException","INVALID_CHARACTER_ERR","d","number","name","description","toString","message","getbyte64","charAt","decode","h","g","j","push","String","fromCharCode","join","getbyte","charCodeAt","encode","arguments","SyntaxError","APURL","location","href","decodeURIComponent","wxLite","pay_channel","inAlipay","JDPAY_WAP_URL_OLD","JDPAY_H5_URL","JDPAY_PC_URL","channelUrl","bankUrl","SRC_URL","ID","tokenId","token_id","loadUrlJs","mqq","QQVersion","tenpay","retmsg","UPACP_PC_URL","UPACP_WAP_URL","wxLiteEnabled","wx","requestPayment","wx_lite","appId","errMsg","err_code","err_desc","wxPub","YEEPAY_WAP_URL","YEEPAY_WAP_TEST_URL","mode","init","documentReady","inWxLite","inAlipayLite","initPuid","localStorage","puid","getItem","randomString","setItem","PingppSDK","version","v","prototype","testmode","PingppError","payment_elements","createPayment","chargeJSON","signature","debug","app","app_id","paid","actual_amount","channelModule","getChannelModule","livemode","setAPURL","setUrlReturnCallback","channels","Array","isArray","alipay","abc_pay","abc_pub","alipay_pc_direct","alipay_qr","alipay_qr_lakala","alipay_wap","alipay_wap_lakala","bfb_wap","cb_alipay_pc_direct","cb_alipay_wap","cb_wx_pub","ccb_qr","ccb_wap","chinaums_alipay_pub","chinaums_alipay_wap","chinaums_upacp_wap","chinaums_wx_pub","chinaums_wx_wap","cmb_pc_qr","cmb_wallet","cp_b2b","isv_lite","isv_wap","jdpay_wap","nucc_b2b_lakala","nucc_b2c_lakala","pab_pc","paypal","qpay_pub","upacp_b2b","upacp_pc","upacp_wap","wx_lite_pab","wx_pub","wx_pub_pab","wx_wap","yeepay_wap","yeepay_wx_pub","yeepay_wx_pub_ofl","yeepay_wx_lite","yeepay_wx_lite_ofl","extras","or_id","order_no","time_expire","charge_or_order","key","merchant_order_no","charge_essentials","charges","PINGPP_MOCK_URL","params","ch_id","scheme","orderNo","timeExpire","stringify","urlencode","output","method","requestData","successCallback","errorCallback","headers","XMLHttpRequest","xhr","timeout","toUpperCase","open","setRequestHeader","send","onreadystatechange","readyState","responseText","onerror","hiddenField","form","createElement","setAttribute","appendChild","body","submit","chars","maxPos","str","Math","floor","random","toLowerCase","miniProgram","fn","sid","jsurl","nodeHead","getElementsByTagName","nodeScript","getElementById","async","onload"],"mappings":"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","file":"pingpp.js","sourcesContent":["(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()","var hasOwn = {}.hasOwnProperty;\nvar callbacks = require('./callbacks');\nvar utils = require('./utils');\n\nmodule.exports = {\n signAgreement: function (agreement) {\n var agreementObj;\n if (typeof agreement === 'string') {\n try {\n agreementObj = JSON.parse(agreement);\n } catch (err) {\n callbacks.innerAgreementCallback('fail',\n callbacks.error('json_decode_fail', err));\n return false;\n }\n } else {\n agreementObj = agreement;\n }\n\n if (typeof agreementObj === 'undefined') {\n callbacks.innerAgreementCallback('fail',\n callbacks.error('json_decode_fail'));\n return false;\n }\n\n if (!hasOwn.call(agreementObj, 'object')\n || agreementObj.object !== 'agreement'\n || !hasOwn.call(agreementObj, 'channel')\n || !hasOwn.call(agreementObj, 'credential')\n || typeof agreementObj.credential !== 'object'\n ) {\n callbacks.innerAgreementCallback('fail',\n callbacks.error('invalid_object'));\n return false;\n }\n\n if (!hasOwn.call(agreementObj.credential, agreementObj.channel)) {\n callbacks.innerAgreementCallback('fail',\n callbacks.error('invalid_credential'));\n return false;\n }\n\n var credential = agreementObj.credential[agreementObj.channel];\n var urlToOpen;\n if (typeof credential === 'string') {\n urlToOpen = credential;\n } else if (hasOwn.call(credential, 'credential')\n && typeof credential.credential === 'string'\n ) {\n urlToOpen = credential.credential;\n }\n\n if (typeof urlToOpen === 'undefined') {\n callbacks.innerAgreementCallback('fail',\n callbacks.error('invalid_credential'));\n return false;\n }\n\n if (agreementObj.channel.substring(0, 6) === 'alipay' && utils.deviceDetectorMobile()) {\n var url = new URL(urlToOpen);\n urlToOpen = 'http://d.alipay.com/i/index.htm?iframeSrc='\n + encodeURIComponent('alipays://platformapi/startapp?appId=60000157'\n +'&appClearTop=false&startMultApp=YES&sign_params='\n + encodeURIComponent(url.search.substring(1))\n );\n }\n\n setTimeout(function() {\n utils.redirectTo(urlToOpen);\n }, 0);\n\n return true;\n }\n};","module.exports = {\n\n userCallback: undefined,\n\n urlReturnCallback: undefined,\n\n urlReturnChannels: [\n 'alipay_pc_direct', // 默认只开启 alipay_pc_direct 使用 callback 返回 URL\n ],\n\n userAgreementCallback: undefined,\n\n innerCallback: function(result, err) {\n if (typeof this.userCallback === 'function') {\n if (typeof err === 'undefined') {\n err = this.error();\n }\n this.userCallback(result, err);\n this.userCallback = undefined;\n var payment_elements = require('./payment_elements');\n payment_elements.clear();\n }\n },\n\n error: function(msg, extra) {\n msg = (typeof msg === 'undefined') ? '' : msg;\n extra = (typeof extra === 'undefined') ? '' : extra;\n return {\n msg: msg,\n extra: extra\n };\n },\n\n triggerUrlReturnCallback: function (err, url) {\n if (typeof this.urlReturnCallback === 'function') {\n this.urlReturnCallback(err, url);\n }\n },\n\n shouldReturnUrlByCallback: function (channel) {\n if (typeof this.urlReturnCallback !== 'function') {\n return false;\n }\n return this.urlReturnChannels.indexOf(channel) !== -1;\n },\n\n innerAgreementCallback: function(result, err) {\n if (typeof this.userAgreementCallback === 'function') {\n if (typeof err === 'undefined') {\n err = this.error();\n }\n this.userAgreementCallback(result, err);\n this.userAgreementCallback = undefined;\n }\n }\n};\n","var utils = require('../utils');\nvar callbacks = require('../callbacks');\nmodule.exports = {\n handleCharge: function (charge) {\n var credential = charge.credential[charge.channel];\n if (typeof credential === 'string') {\n utils.redirectTo(credential, charge.channel);\n } else {\n callbacks.innerCallback('fail',\n callbacks.error('invalid_credential', 'credential 格式不正确'));\n }\n }\n};\n","var callbacks = require('../callbacks');\nvar hasOwn = {}.hasOwnProperty;\n\n/*global my,AlipayJSBridge*/\nmodule.exports = {\n\n PINGPP_NOTIFY_URL_BASE: 'https://notify.pingxx.com/notify',\n\n handleCharge: function (charge) {\n var credential = charge.credential[charge.channel];\n if (credential || hasOwn.call(credential, 'orderInfo')) {\n this.callpay(credential.orderInfo);\n } else {\n callbacks.innerCallback('fail',\n callbacks.error('invalid_credential', 'missing_alipay'));\n }\n },\n\n alipayLiteEnabled: function () {\n return typeof my !== 'undefined' && my.tradePay;\n },\n\n // 支付宝小程序支付\n callpay: function (orderStr) {\n var self = this;\n if (this.alipayLiteEnabled()) {\n return this.alipayLitePay(orderStr);\n }\n\n if (typeof navigator !== 'undefined'\n && /AlipayClient/.test(navigator.userAgent || navigator.swuserAgent)) {\n return this.waitAlipayJSBridgde(function () {\n self.alipayJsBridgePay(orderStr);\n });\n }\n\n var errmsg = '请在支付宝小程序或者支付宝应用内中打开';\n console.log(errmsg);\n callbacks.innerCallback('fail', callbacks.error(errmsg));\n return;\n },\n\n waitAlipayJSBridgde: function (callback) {\n if (window.AlipayJSBridge) {\n callback && callback();\n } else {\n document.addEventListener('AlipayJSBridgeReady', callback, false);\n }\n },\n\n alipayJsBridgePay: function (orderStr) {\n AlipayJSBridge.call('tradePay', {\n orderStr: orderStr\n }, this.alipayResultHandler);\n },\n\n alipayLitePay: function (orderStr) {\n var tradePayParams = {};\n tradePayParams.orderStr = orderStr;\n tradePayParams.complete = this.alipayResultHandler;\n my.tradePay(tradePayParams);\n },\n\n alipayResultHandler: function (res) {\n var extra = {\n resultCode: res.resultCode\n };\n if (hasOwn.call(res, 'memo')) {\n extra.memo = res.memo;\n }\n if (hasOwn.call(res, 'result')) {\n extra.result = res.result;\n }\n // 支付成功\n if (res.resultCode == '9000') {\n callbacks.innerCallback('success', callbacks.error('', extra));\n } else if (res.resultCode == '6001') { // 取消支付\n callbacks.innerCallback('cancel', callbacks.error('用户取消支付', extra));\n } else {\n callbacks.innerCallback('fail', callbacks.error('支付失败', extra));\n }\n },\n\n runTestMode: function (charge) {\n var path = '/charges/' + charge.id;\n my.httpRequest({\n url: this.PINGPP_NOTIFY_URL_BASE + path + '?livemode=false',\n success: function(res) {\n if (res.data == 'success') {\n callbacks.innerCallback('success');\n } else {\n callbacks.innerCallback('fail',\n callbacks.error('testmode_notify_fail'));\n }\n },\n fail:function() {\n callbacks.innerCallback('fail', callbacks.error('network_err'));\n }\n });\n }\n};\n","var callbacks = require('../callbacks');\n\n/*global my*/\nmodule.exports = {\n\n PINGPP_NOTIFY_URL_BASE: 'https://notify.pingxx.com/notify',\n\n handleCharge: function (charge) {\n var trade_no = charge.credential[charge.channel];\n if (trade_no) {\n this.callpay(trade_no);\n } else {\n callbacks.innerCallback('fail',\n callbacks.error('invalid_credential', 'missing_alipay_lite'));\n }\n },\n\n alipayLiteEnabled: function () {\n return typeof my !== 'undefined' && my.tradePay;\n },\n\n //支付宝小程序支付\n callpay: function (tradeNO) {\n if (!this.alipayLiteEnabled()) {\n console.log('请在支付宝小程序中打开');\n return;\n }\n var alipay_lite = {};\n alipay_lite.tradeNO = tradeNO;\n alipay_lite.complete = function (res) {\n //支付成功\n if (res.resultCode == 9000) {\n callbacks.innerCallback('success');\n } else if (res.resultCode == 6001) { //取消支付\n callbacks.innerCallback('cancel', callbacks.error('用户取消支付'));\n } else {\n callbacks.innerCallback('fail', callbacks.error('支付失败'));\n }\n };\n my.tradePay(alipay_lite);\n },\n\n runTestMode: function (charge) {\n var path = '/charges/' + charge.id;\n my.httpRequest({\n url: this.PINGPP_NOTIFY_URL_BASE + path + '?livemode=false',\n success: function(res) {\n if (res.data == 'success') {\n callbacks.innerCallback('success');\n } else {\n callbacks.innerCallback('fail',\n callbacks.error('testmode_notify_fail'));\n }\n },\n fail:function() {\n callbacks.innerCallback('fail', callbacks.error('network_err'));\n }\n });\n }\n};\n","var utils = require('../utils');\nvar hasOwn = {}.hasOwnProperty;\n\nmodule.exports = {\n\n ALIPAY_PC_DIRECT_URL: 'https://mapi.alipay.com/gateway.do',\n\n handleCharge: function(charge) {\n var channel = charge.channel;\n var credential = charge.credential[channel];\n var baseURL = this.ALIPAY_PC_DIRECT_URL;\n if (hasOwn.call(credential, 'channel_url')) {\n baseURL = credential.channel_url;\n }\n if (!hasOwn.call(credential, '_input_charset')) {\n if(hasOwn.call(credential, 'service')\n && credential.service === 'create_direct_pay_by_user') {\n credential._input_charset = 'utf-8';\n }\n }\n var query = utils.stringifyData(credential, channel, true);\n utils.redirectTo(baseURL + '?' + query, channel);\n }\n};\n","var hasOwn = {}.hasOwnProperty;\nvar callbacks = require('../callbacks');\n\n/*global AlipayJSBridge*/\nmodule.exports = {\n\n handleCharge: function (charge) {\n var credential = charge.credential[charge.channel];\n if (hasOwn.call(credential, 'transaction_no')) {\n this.tradePay(credential.transaction_no);\n } else {\n callbacks.innerCallback('fail',\n callbacks.error('invalid_credential', 'missing_field_transaction_no'));\n }\n },\n\n ready: function (callback) {\n if (window.AlipayJSBridge) {\n callback && callback();\n } else {\n document.addEventListener('AlipayJSBridgeReady', callback, false);\n }\n },\n\n tradePay: function (tradeNO) {\n this.ready(function () {\n // 通过传入交易号唤起快捷调用方式(注意tradeNO大小写严格)\n AlipayJSBridge.call('tradePay', {\n tradeNO: tradeNO\n }, function (data) {\n if ('9000' == data.resultCode) {\n callbacks.innerCallback('success');\n } else if('6001' == data.resultCode) {\n callbacks.innerCallback('cancel', callbacks.error(data.result));\n } else {\n callbacks.innerCallback('fail',\n callbacks.error(data.result));\n }\n });\n });\n }\n};\n","var redirectBase = require('./commons/redirect_base');\n\nmodule.exports = {\n\n handleCharge: function(charge) {\n redirectBase.handleCharge(charge);\n }\n};\n","var utils = require('../utils');\nvar mods = require('../mods');\nvar hasOwn = {}.hasOwnProperty;\n\nmodule.exports = {\n\n ALIPAY_WAP_URL_OLD: 'https://wappaygw.alipay.com/service/rest.htm',\n ALIPAY_WAP_URL: 'https://mapi.alipay.com/gateway.do',\n\n handleCharge: function(charge) {\n var channel = charge.channel;\n var credential = charge.credential[channel];\n var baseURL = this.ALIPAY_WAP_URL;\n if (hasOwn.call(credential, 'req_data')) {\n baseURL = this.ALIPAY_WAP_URL_OLD;\n } else if (hasOwn.call(credential, 'channel_url')) {\n baseURL = credential.channel_url;\n }\n if (!hasOwn.call(credential, '_input_charset')) {\n if ((hasOwn.call(credential, 'service')\n && credential.service === 'alipay.wap.create.direct.pay.by.user')\n || hasOwn.call(credential, 'req_data')\n ) {\n credential._input_charset = 'utf-8';\n }\n }\n var query = utils.stringifyData(credential, channel, true);\n var targetURL = baseURL + '?' + query;\n var ap = mods.getExtraModule('ap');\n if (utils.inWeixin() && typeof ap !== 'undefined') {\n ap.pay(targetURL);\n } else {\n utils.redirectTo(targetURL, channel);\n }\n }\n};","var utils = require('../utils');\nvar callbacks = require('../callbacks');\nvar hasOwn = {}.hasOwnProperty;\n\nmodule.exports = {\n\n handleCharge: function(charge) {\n var channel = charge.channel;\n var credential = charge.credential[channel];\n\n if (!hasOwn.call(credential, 'url')) {\n callbacks.innerCallback('fail',\n callbacks.error('invalid_credential', 'missing_field:url'));\n return;\n }\n utils.redirectTo(credential.url + '?' +\n utils.stringifyData(credential, channel), channel);\n }\n};\n","var utils = require('../utils');\nvar hasOwn = {}.hasOwnProperty;\n\nmodule.exports = {\n\n ALIPAY_PC_DIRECT_URL: 'https://intlmapi.alipay.com/gateway.do',\n\n handleCharge: function(charge) {\n var channel = charge.channel;\n var credential = charge.credential[channel];\n var baseURL = this.ALIPAY_PC_DIRECT_URL;\n if (hasOwn.call(credential, 'channel_url')) {\n baseURL = credential.channel_url;\n }\n\n if (!hasOwn.call(credential, '_input_charset')) {\n if(hasOwn.call(credential, 'service')\n && credential.service === 'create_forex_trade') {\n credential._input_charset = 'utf-8';\n }\n }\n var query = utils.stringifyData(credential, channel, true);\n\n utils.redirectTo(baseURL + '?' + query, channel);\n }\n};\n","var utils = require('../utils');\nvar mods = require('../mods');\nvar hasOwn = {}.hasOwnProperty;\n\nmodule.exports = {\n\n ALIPAY_WAP_URL: 'https://intlmapi.alipay.com/gateway.do',\n\n handleCharge: function(charge) {\n var channel = charge.channel;\n var credential = charge.credential[channel];\n var baseURL = this.ALIPAY_WAP_URL;\n if (hasOwn.call(credential, 'channel_url')) {\n baseURL = credential.channel_url;\n }\n if (!hasOwn.call(credential, '_input_charset')) {\n if ((hasOwn.call(credential, 'service')\n && credential.service === 'create_forex_trade_wap')\n ) {\n credential._input_charset = 'utf-8';\n }\n }\n\n var query = utils.stringifyData(credential, channel, true);\n var targetURL = baseURL + '?' + query;\n var ap = mods.getExtraModule('ap');\n if (utils.inWeixin() && typeof ap !== 'undefined') {\n ap.pay(targetURL);\n } else {\n utils.redirectTo(targetURL, channel);\n }\n }\n};\n","var callbacks = require('../callbacks');\nvar utils = require('../utils');\nvar stash = require('../stash');\nvar mods = require('../mods');\nvar hasOwn = {}.hasOwnProperty;\n\n/*global WeixinJSBridge*/\nmodule.exports = {\n\n PINGPP_NOTIFY_URL_BASE: 'https://notify.pingxx.com/notify',\n\n handleCharge: function(charge) {\n var credential = charge.credential[charge.channel];\n var fields = [\n 'appId', 'timeStamp', 'nonceStr', 'package', 'signType', 'paySign'\n ];\n for (var k = 0; k < fields.length; k++) {\n if (!hasOwn.call(credential, fields[k])) {\n callbacks.innerCallback('fail',\n callbacks.error('invalid_credential', 'missing_field_' + fields[k]));\n return;\n }\n }\n stash.jsApiParameters = credential;\n this.callpay();\n },\n\n callpay: function() {\n var self = this;\n var wx_jssdk = mods.getExtraModule('wx_jssdk');\n if (typeof wx_jssdk !== 'undefined' && wx_jssdk.jssdkEnabled()) {\n wx_jssdk.callpay();\n } else if (typeof WeixinJSBridge == 'undefined') {\n var eventCallback = function() {\n self.jsApiCall();\n };\n if (document.addEventListener) {\n document.addEventListener('WeixinJSBridgeReady',\n eventCallback, false);\n } else if (document.attachEvent) {\n document.attachEvent('WeixinJSBridgeReady', eventCallback);\n document.attachEvent('onWeixinJSBridgeReady', eventCallback);\n }\n } else {\n this.jsApiCall();\n }\n },\n\n jsApiCall: function() {\n if (hasOwn.call(stash, 'jsApiParameters')) {\n WeixinJSBridge.invoke(\n 'getBrandWCPayRequest',\n stash.jsApiParameters,\n function(res) {\n delete stash.jsApiParameters;\n if (res.err_msg == 'get_brand_wcpay_request:ok') {\n callbacks.innerCallback('success');\n } else if (res.err_msg == 'get_brand_wcpay_request:cancel') {\n callbacks.innerCallback('cancel');\n } else {\n callbacks.innerCallback('fail',\n callbacks.error('wx_result_fail', res.err_msg));\n }\n }\n );\n }\n },\n\n runTestMode: function(charge) {\n var dopay = confirm('模拟付款?');\n if (dopay) {\n var path = '/charges/' + charge.id;\n utils.request(this.PINGPP_NOTIFY_URL_BASE + path + '?livemode=false',\n 'GET', null,\n function(data, status) {\n if (status >= 200 && status < 400 && data == 'success') {\n callbacks.innerCallback('success');\n } else {\n var extra = 'http_code:' + status + ';response:' + data;\n callbacks.innerCallback('fail',\n callbacks.error('testmode_notify_fail', extra));\n }\n },\n function() {\n callbacks.innerCallback('fail', callbacks.error('network_err'));\n });\n }\n }\n};\n","var utils = require('../utils');\nvar hasOwn = {}.hasOwnProperty;\nvar callbacks = require('../callbacks');\n\nmodule.exports = {\n\n CCB_WAP_URL_BASE: 'https://ibsbjstar.ccb.com.cn/CCBIS/ccbMain?',\n\n handleCharge: function(charge) {\n var channel = charge.channel;\n var credential = charge.credential[channel];\n if (!hasOwn.call(credential, 'orderinfo')) {\n callbacks.innerCallback('fail',\n callbacks.error('invalid_credential', 'missing_field:orderinfo'));\n return;\n }\n\n var targetURL = this.CCB_WAP_URL_BASE + credential['orderinfo'];\n utils.redirectTo(targetURL, channel);\n }\n};\n","var utils = require('../utils');\nvar callbacks = require('../callbacks');\nvar hasOwn = {}.hasOwnProperty;\n\nmodule.exports = {\n handleCharge: function (charge) {\n var credential = charge.credential[charge.channel];\n if (typeof credential === 'string') {\n utils.redirectTo(credential, charge.channel);\n } else {\n callbacks.innerCallback('fail',\n callbacks.error('invalid_credential', 'credential 格式不正确'));\n }\n }\n};\n","var utils = require('../utils');\nvar callbacks = require('../callbacks');\nvar hasOwn = {}.hasOwnProperty;\n\nmodule.exports = {\n handleCharge: function (charge) {\n var credential = charge.credential[charge.channel];\n if (typeof credential === 'string') {\n utils.redirectTo(credential, charge.channel);\n } else {\n callbacks.innerCallback('fail',\n callbacks.error('invalid_credential', 'credential 格式不正确'));\n }\n }\n};","var utils = require('../utils');\nvar hasOwn = {}.hasOwnProperty;\n\nmodule.exports = {\n\n handleCharge: function(charge) {\n var channel = charge.channel;\n var credential = charge.credential[channel];\n var baseURL;\n if (hasOwn.call(credential, 'channel_url')) {\n baseURL = credential.channel_url;\n delete credential.channel_url;\n }\n\n utils.formSubmit(baseURL, 'post', credential);\n }\n};\n","var utils = require('../utils');\nvar hasOwn = {}.hasOwnProperty;\n\nmodule.exports = {\n\n CMB_WALLET_URL:\n 'https://netpay.cmbchina.com/netpayment/BaseHttp.dll?MB_EUserPay',\n\n handleCharge: function(charge) {\n var credential = charge.credential[charge.channel];\n var request_url = this.CMB_WALLET_URL;\n if (hasOwn.call(credential, 'ChannelUrl')) {\n request_url = credential.ChannelUrl;\n delete credential.ChannelUrl;\n }\n\n if (hasOwn.call(credential, 'channelVersion')) {\n delete credential.channelVersion;\n }\n\n utils.formSubmit(request_url, 'post', credential);\n }\n};\n","var utils = require('../../utils');\nvar callbacks = require('../../callbacks');\nvar hasOwn = {}.hasOwnProperty;\n\nmodule.exports = {\n\n handleCharge: function(charge) {\n var credential = charge.credential[charge.channel];\n var targetURL;\n if (typeof credential === 'string') {\n targetURL = credential;\n } else if (hasOwn.call(credential, 'url')) {\n targetURL = credential.url;\n } else {\n callbacks.innerCallback('fail', callbacks.error('invalid_credential',\n 'credential format is incorrect'));\n return;\n }\n utils.redirectTo(targetURL, charge.channel);\n }\n};\n","var utils = require('../utils');\n\nmodule.exports = {\n\n CP_B2B_URL: 'https://payment.chinapay.com/CTITS/service/rest/page/nref/000000000017/0/0/0/0/0',\n\n handleCharge: function(charge) {\n var credential = charge.credential[charge.channel];\n utils.formSubmit(this.CP_B2B_URL, 'post', credential);\n }\n};\n","var stash = require('../../stash');\nvar hasOwn = {}.hasOwnProperty;\n\n(function() {\n var b = {};\n var a = {};\n a.PADCHAR = '=';\n a.ALPHA = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n a.makeDOMException = function() {\n try {\n return new DOMException(DOMException.INVALID_CHARACTER_ERR);\n } catch (d) {\n var c = new Error('DOM Exception 5');\n c.code = c.number = 5;\n c.name = c.description = 'INVALID_CHARACTER_ERR';\n c.toString = function() {\n return 'Error: ' + c.name + ': ' + c.message;\n };\n return c;\n }\n };\n a.getbyte64 = function(e, d) {\n var c = a.ALPHA.indexOf(e.charAt(d));\n if (c === -1) {\n throw a.makeDOMException();\n }\n return c;\n };\n a.decode = function(f) {\n f = '' + f;\n var j = a.getbyte64;\n var h, e, g;\n var d = f.length;\n if (d === 0) {\n return f;\n }\n if (d % 4 !== 0) {\n throw a.makeDOMException();\n }\n h = 0;\n if (f.charAt(d - 1) === a.PADCHAR) {\n h = 1;\n if (f.charAt(d - 2) === a.PADCHAR) {\n h = 2;\n }\n d -= 4;\n }\n var c = [];\n for (e = 0; e < d; e += 4) {\n g = (j(f, e) << 18) |\n (j(f, e + 1) << 12) |\n (j(f, e + 2) << 6) |\n j(f, e + 3);\n c.push(String.fromCharCode(g >> 16, (g >> 8) & 255, g & 255));\n }\n switch (h) {\n case 1:\n g = (j(f, e) << 18) | (j(f, e + 1) << 12) | (j(f, e + 2) << 6);\n c.push(String.fromCharCode(g >> 16, (g >> 8) & 255));\n break;\n case 2:\n g = (j(f, e) << 18) | (j(f, e + 1) << 12);\n c.push(String.fromCharCode(g >> 16));\n break;\n }\n return c.join('');\n };\n a.getbyte = function(e, d) {\n var c = e.charCodeAt(d);\n if (c > 255) {\n throw a.makeDOMException();\n }\n return c;\n };\n a.encode = function(f) {\n if (arguments.length !== 1) {\n throw new SyntaxError('Not enough arguments');\n }\n var g = a.PADCHAR;\n var h = a.ALPHA;\n var k = a.getbyte;\n var e, j;\n var c = [];\n f = '' + f;\n var d = f.length - f.length % 3;\n if (f.length === 0) {\n return f;\n }\n for (e = 0; e < d; e += 3) {\n j = (k(f, e) << 16) | (k(f, e + 1) << 8) | k(f, e + 2);\n c.push(h.charAt(j >> 18));\n c.push(h.charAt((j >> 12) & 63));\n c.push(h.charAt((j >> 6) & 63));\n c.push(h.charAt(j & 63));\n }\n switch (f.length - d) {\n case 1:\n j = k(f, e) << 16;\n c.push(h.charAt(j >> 18) + h.charAt((j >> 12) & 63) + g + g);\n break;\n case 2:\n j = (k(f, e) << 16) | (k(f, e + 1) << 8);\n c.push(h.charAt(j >> 18) +\n h.charAt((j >> 12) & 63) +\n h.charAt((j >> 6) & 63) + g);\n break;\n }\n return c.join('');\n };\n b.url = 'pay.htm';\n b.pay = function(d) {\n var c = encodeURIComponent(a.encode(d));\n if (hasOwn.call(stash, 'APURL')) {\n b.url = stash.APURL;\n }\n location.href = b.url + '?goto=' + c;\n };\n b.decode = function(c) {\n return a.decode(decodeURIComponent(c));\n };\n\n module.exports = b;\n})();\n","var wxLite = require('./wx_lite');\n\nmodule.exports = wxLite;\n","var redirectBase = require('./commons/redirect_base');\nvar callbacks = require('../callbacks');\nvar utils = require('../utils');\nvar hasOwn = {}.hasOwnProperty;\n\nmodule.exports = {\n handleCharge: function (charge) {\n var extra = charge.extra;\n if (hasOwn.call(extra, 'pay_channel')) {\n var pay_channel = extra.pay_channel;\n if (pay_channel === 'wx' && !utils.inWeixin()) {\n callbacks.innerCallback('fail',\n callbacks.error('Not in the WeChat browser'));\n return;\n } else if (pay_channel === 'alipay' && !utils.inAlipay()) {\n callbacks.innerCallback('fail',\n callbacks.error('Not in the Alipay browser'));\n return;\n }\n } else {\n callbacks.innerCallback('fail',\n callbacks.error('invalid_charge', 'charge 格式不正确'));\n return;\n }\n redirectBase.handleCharge(charge);\n }\n};\n","var utils = require('../utils');\nvar hasOwn = {}.hasOwnProperty;\n\nmodule.exports = {\n\n JDPAY_WAP_URL_OLD: 'https://m.jdpay.com/wepay/web/pay',\n JDPAY_H5_URL: 'https://h5pay.jd.com/jdpay/saveOrder',\n JDPAY_PC_URL: 'https://wepay.jd.com/jdpay/saveOrder',\n\n handleCharge: function(charge) {\n var credential = charge.credential[charge.channel];\n var request_url = this.JDPAY_H5_URL;\n if (hasOwn.call(credential, 'channelUrl')) {\n request_url = credential.channelUrl;\n delete credential.channelUrl;\n } else if (hasOwn.call(credential, 'merchantRemark')) {\n request_url = this.JDPAY_WAP_URL_OLD;\n }\n utils.formSubmit(request_url, 'post', credential);\n }\n};\n","var utils = require('../utils');\nvar hasOwn = {}.hasOwnProperty;\n\nmodule.exports = {\n handleCharge: function (charge) {\n var credential = charge.credential[charge.channel];\n if (hasOwn.call(credential, 'bankUrl')) {\n request_url = credential.bankUrl;\n delete credential.bankUrl;\n }\n\n utils.formSubmit(request_url, 'post', credential);\n }\n};\n","var utils = require('../utils');\n\nmodule.exports = {\n\n handleCharge: function(charge) {\n var credential = charge.credential[charge.channel];\n var request_url = credential.channelUrl;\n delete credential.channelUrl;\n\n utils.formSubmit(request_url, 'post', credential);\n }\n};\n","var utils = require('../utils');\n\nmodule.exports = {\n handleCharge: function(charge) {\n var credential = charge.credential[charge.channel];\n utils.redirectTo(credential, charge.channel);\n }\n};\n","var callbacks = require('../callbacks');\nvar utils = require('../utils');\nvar stash = require('../stash');\nvar hasOwn = {}.hasOwnProperty;\n\n/*global mqq*/\nmodule.exports = {\n SRC_URL: 'https://open.mobile.qq.com/sdk/qqapi.js?_bid=152',\n ID: 'mqq_api',\n\n handleCharge: function (charge) {\n var credential = charge.credential[charge.channel];\n\n if (!hasOwn.call(credential, 'token_id')) {\n callbacks.innerCallback('fail',\n callbacks.error('invalid_credential', 'missing_token_id'));\n return;\n }\n stash.tokenId = credential.token_id;\n utils.loadUrlJs(this.ID, this.SRC_URL, this.callpay);\n },\n\n callpay: function () {\n if (typeof mqq != 'undefined') {\n if (mqq.QQVersion == 0) {\n callbacks.innerCallback('fail',\n callbacks.error('Not in the QQ client'));\n delete stash.tokenId;\n return;\n }\n mqq.tenpay.pay({\n tokenId: stash.tokenId\n }, function (result) {\n if (result.resultCode == 0) {\n callbacks.innerCallback('success');\n } else {\n callbacks.innerCallback('fail',\n callbacks.error(result.retmsg));\n }\n });\n } else {\n callbacks.innerCallback('fail',\n callbacks.error('network_err'));\n }\n delete stash.tokenId;\n }\n};","var utils = require('../utils');\n\nmodule.exports = {\n\n UPACP_PC_URL: 'https://gateway.95516.com/gateway/api/frontTransReq.do',\n\n handleCharge: function(charge) {\n var credential = charge.credential[charge.channel];\n utils.formSubmit(this.UPACP_PC_URL, 'post', credential);\n }\n};\n","var utils = require('../utils');\n\nmodule.exports = {\n\n UPACP_WAP_URL: 'https://gateway.95516.com/gateway/api/frontTransReq.do',\n\n handleCharge: function(charge) {\n var credential = charge.credential[charge.channel];\n utils.formSubmit(this.UPACP_WAP_URL, 'post', credential);\n }\n};\n","/**\n * Created by yulitao on 2016/12/29.\n */\nvar stash = require('../stash');\nvar callbacks = require('../callbacks');\nvar hasOwn = {}.hasOwnProperty;\n/*global wx*/\nmodule.exports = {\n\n PINGPP_NOTIFY_URL_BASE: 'https://notify.pingxx.com/notify',\n\n handleCharge: function (charge) {\n var credential = charge.credential[charge.channel];\n var fields = [\n 'appId', 'timeStamp', 'nonceStr', 'package', 'signType', 'paySign'\n ];\n for (var k = 0; k < fields.length; k++) {\n if (!hasOwn.call(credential, fields[k])) {\n callbacks.innerCallback('fail',\n callbacks.error('invalid_credential', 'missing_field_' + fields[k]));\n return;\n }\n }\n stash.jsApiParameters = credential;\n this.callpay();\n },\n\n wxLiteEnabled: function () {\n return typeof wx !== 'undefined' && wx.requestPayment;\n },\n\n //微信小程序支付\n callpay: function () {\n if (!this.wxLiteEnabled()) {\n console.log('请在微信小程序中打开');\n return;\n }\n var wx_lite = stash.jsApiParameters;\n delete wx_lite.appId;\n wx_lite.complete = function (res) {\n //支付成功\n if (res.errMsg === 'requestPayment:ok') {\n callbacks.innerCallback('success');\n }\n //取消支付\n if (res.errMsg === 'requestPayment:cancel'\n || res.errMsg === 'requestPayment:fail cancel') {\n callbacks.innerCallback('cancel', callbacks.error('用户取消支付'));\n }\n //支付验证签名失败\n if (res.err_code !== 'undefined' && res.err_desc !== 'undefined') {\n callbacks.innerCallback('fail', callbacks.error(res.err_desc, res));\n }\n };\n wx.requestPayment(wx_lite);\n },\n\n runTestMode: function (charge) {\n var path = '/charges/' + charge.id;\n wx.request({\n url: this.PINGPP_NOTIFY_URL_BASE + path + '?livemode=false',\n success: function(res) {\n if (res.data == 'success') {\n callbacks.innerCallback('success');\n } else {\n callbacks.innerCallback('fail',\n callbacks.error('testmode_notify_fail'));\n }\n },\n fail:function() {\n callbacks.innerCallback('fail', callbacks.error('network_err'));\n }\n });\n }\n};\n","var wxPub = require('./wx_pub');\n\nmodule.exports = wxPub;\n","var utils = require('../utils');\nvar callbacks = require('../callbacks');\nvar hasOwn = {}.hasOwnProperty;\n\nmodule.exports = {\n\n handleCharge: function(charge) {\n var credential = charge.credential[charge.channel];\n if (typeof credential === 'string') {\n utils.redirectTo(credential, charge.channel);\n } else if (typeof credential === 'object'\n && hasOwn.call(credential, 'url')\n ) {\n utils.redirectTo(credential.url, charge.channel);\n } else {\n callbacks.innerCallback('fail',\n callbacks.error('invalid_credential', 'credential 格式不正确'));\n }\n }\n};\n","var utils = require('../utils');\nvar callbacks = require('../callbacks');\nvar hasOwn = {}.hasOwnProperty;\n\nmodule.exports = {\n\n YEEPAY_WAP_URL: 'https://ok.yeepay.com/paymobile/api/pay/request',\n YEEPAY_WAP_TEST_URL: 'http://mobiletest.yeepay.com/paymobile/api/pay/request',\n\n handleCharge: function(charge) {\n var channel = charge.channel;\n var credential = charge.credential[channel];\n var fields = ['merchantaccount', 'encryptkey', 'data'];\n for (var k = 0; k < fields.length; k++) {\n if (!hasOwn.call(credential, fields[k])) {\n callbacks.innerCallback('fail',\n callbacks.error('invalid_credential', 'missing_field_' + fields[k]));\n return;\n }\n }\n var baseURL;\n if (hasOwn.call(credential, 'mode') && credential.mode == 'test') {\n baseURL = this.YEEPAY_WAP_TEST_URL;\n } else {\n baseURL = this.YEEPAY_WAP_URL;\n }\n utils.redirectTo(baseURL + '?' +\n utils.stringifyData(credential, channel, true), charge.channel);\n }\n};\n","var wxPub = require('./wx_lite');\n\nmodule.exports = wxPub;\n","var error = function PingppError(message, extra) {\n this.message = message;\n this.extra = extra;\n};\n\nmodule.exports = {\n Error: error,\n};\n","var stash = require('./stash');\nvar utils = require('./utils');\n\nmodule.exports = {\n init: function() {\n var self = this;\n utils.documentReady(function(){\n try {\n (!(utils.inWxLite() || utils.inAlipayLite())) && self.initPuid();\n } catch (e){/* empty */}\n });\n },\n\n initPuid: function() {\n if (typeof window === 'undefined' || typeof localStorage === 'undefined'\n || localStorage === null) {\n return;\n }\n var puid = localStorage.getItem('pingpp_uid');\n if (puid === null) {\n puid = utils.randomString();\n try {\n localStorage.setItem('pingpp_uid', puid);\n } catch (e) {\n /* empty */\n }\n }\n stash.puid = puid;\n }\n};\n","var version = require('./version').v;\nvar hasOwn = {}.hasOwnProperty;\n\nvar PingppSDK = function () {\n require('./init').init();\n};\n\nPingppSDK.prototype.version = version;\n\nmodule.exports = new PingppSDK();\n\nvar testmode = require('./testmode');\nvar callbacks = require('./callbacks');\nvar PingppError = require('./errors').Error;\nvar mods = require('./mods');\nvar stash = require('./stash');\nvar payment_elements = require('./payment_elements');\n\nPingppSDK.prototype.createPayment = function (\n chargeJSON, callback, signature, debug\n) {\n if (typeof callback === 'function') {\n callbacks.userCallback = callback;\n }\n\n try {\n payment_elements.init(chargeJSON);\n } catch (e) {\n if (e instanceof PingppError) {\n callbacks.innerCallback('fail',\n callbacks.error(e.message, e.extra));\n return;\n } else {\n throw e;\n }\n }\n\n if (!hasOwn.call(payment_elements, 'id')) {\n callbacks.innerCallback('fail',\n callbacks.error('invalid_charge', 'no_charge_id'));\n return;\n }\n if (!hasOwn.call(payment_elements, 'channel')) {\n callbacks.innerCallback('fail',\n callbacks.error('invalid_charge', 'no_channel'));\n return;\n }\n\n if (hasOwn.call(payment_elements, 'app')) {\n if (typeof payment_elements.app === 'string') {\n stash.app_id = payment_elements.app;\n } else if (typeof payment_elements.app === 'object' &&\n typeof payment_elements.app.id === 'string') {\n stash.app_id = payment_elements.app.id;\n }\n }\n var channel = payment_elements.channel;\n if (!hasOwn.call(payment_elements, 'credential')) {\n callbacks.innerCallback('fail',\n callbacks.error('invalid_charge', 'no_credential'));\n return;\n }\n if (payment_elements.paid && payment_elements.actual_amount === 0) {\n callbacks.innerCallback('success');\n return;\n }\n\n if (!payment_elements.credential) {\n callbacks.innerCallback('fail',\n callbacks.error('invalid_credential', 'credential_is_undefined'));\n return;\n }\n if (!hasOwn.call(payment_elements.credential, channel)) {\n callbacks.innerCallback('fail',\n callbacks.error('invalid_credential', 'credential_is_incorrect'));\n return;\n }\n if (!hasOwn.call(payment_elements, 'livemode')) {\n callbacks.innerCallback('fail',\n callbacks.error('invalid_charge', 'no_livemode_field'));\n return;\n }\n var channelModule = mods.getChannelModule(channel);\n if (typeof channelModule === 'undefined') {\n console.error('channel module \"' + channel + '\" is undefined');\n callbacks.innerCallback('fail',\n callbacks.error('invalid_channel',\n 'channel module \"' + channel + '\" is undefined')\n );\n return;\n }\n if (payment_elements.livemode === false) {\n if (hasOwn.call(channelModule, 'runTestMode')) {\n channelModule.runTestMode(payment_elements);\n } else {\n testmode.runTestMode(payment_elements);\n }\n return;\n }\n\n if (typeof signature != 'undefined') {\n stash.signature = signature;\n }\n if (typeof debug == 'boolean') {\n stash.debug = debug;\n }\n channelModule.handleCharge(payment_elements);\n};\n\nPingppSDK.prototype.setAPURL = function (url) {\n stash.APURL = url;\n};\n\nPingppSDK.prototype.setUrlReturnCallback = function (callback, channels) {\n if (typeof callback === 'function') {\n callbacks.urlReturnCallback = callback;\n } else {\n throw 'callback need to be a function';\n }\n\n if (typeof channels !== 'undefined') {\n if (Array.isArray(channels)) {\n callbacks.urlReturnChannels = channels;\n } else {\n throw 'channels need to be an array';\n }\n }\n};\n\nPingppSDK.prototype.signAgreement = function (agreement, callback) {\n if (typeof callback === 'function') {\n callbacks.userAgreementCallback = callback;\n }\n\n var module = mods.getExtraModule('agreement');\n if (typeof module === 'undefined') {\n console.error('module \"agreement\" is undefined');\n callbacks.innerCallback('fail',\n callbacks.error('invalid_module',\n 'module \"agreement\" is undefined')\n );\n return false;\n }\n\n return module.signAgreement(agreement);\n};\n","var hasOwn = {}.hasOwnProperty;\nvar mods = {};\nmodule.exports = mods;\n\nmods.channels = {\n alipay: require('./channels/alipay'),\n alipay_lite: require('./channels/alipay_lite'),\n abc_pay: require('./channels/abc_pay'),\n abc_pub: require('./channels/abc_pub'),\n alipay_pc_direct: require('./channels/alipay_pc_direct'),\n alipay_qr: require('./channels/alipay_qr'),\n alipay_qr_lakala: require('./channels/alipay_qr_lakala'),\n alipay_wap: require('./channels/alipay_wap'),\n alipay_wap_lakala: require('./channels/alipay_wap_lakala'),\n bfb_wap: require('./channels/bfb_wap'),\n cb_alipay_pc_direct: require('./channels/cb_alipay_pc_direct'),\n cb_alipay_wap: require('./channels/cb_alipay_wap'),\n cb_wx_pub: require('./channels/cb_wx_pub'),\n ccb_qr: require('./channels/ccb_qr'),\n ccb_wap: require('./channels/ccb_wap'),\n chinaums_alipay_pub: require('./channels/chinaums_alipay_pub'),\n chinaums_alipay_wap: require('./channels/chinaums_alipay_wap'),\n chinaums_upacp_wap: require('./channels/chinaums_upacp_wap'),\n chinaums_wx_pub: require('./channels/chinaums_wx_pub'),\n chinaums_wx_wap: require('./channels/chinaums_wx_wap'),\n cmb_pc_qr: require('./channels/cmb_pc_qr'),\n cmb_wallet: require('./channels/cmb_wallet'),\n cp_b2b: require('./channels/cp_b2b'),\n isv_lite: require('./channels/isv_lite'),\n isv_wap: require('./channels/isv_wap'),\n jdpay_wap: require('./channels/jdpay_wap'),\n nucc_b2b_lakala: require('./channels/nucc_b2b_lakala'),\n nucc_b2c_lakala: require('./channels/nucc_b2c_lakala'),\n pab_pc: require('./channels/pab_pc'),\n paypal: require('./channels/paypal'),\n qpay_pub: require('./channels/qpay_pub'),\n upacp_b2b: require('./channels/upacp_b2b'),\n upacp_pc: require('./channels/upacp_pc'),\n upacp_wap: require('./channels/upacp_wap'),\n wx_lite: require('./channels/wx_lite'),\n wx_lite_pab: require('./channels/wx_lite_pab'),\n wx_pub: require('./channels/wx_pub'),\n wx_pub_pab: require('./channels/wx_pub_pab'),\n wx_wap: require('./channels/wx_wap'),\n yeepay_wap: require('./channels/yeepay_wap'),\n yeepay_wx_pub: require('./channels/yeepay_wx_pub'),\n yeepay_wx_pub_ofl: require('./channels/yeepay_wx_pub'),\n yeepay_wx_lite: require('./channels/yeepay_wx_lite'),\n yeepay_wx_lite_ofl: require('./channels/yeepay_wx_lite_ofl')\n};\n\nmods.extras = {\n ap: require('./channels/extras/ap'),\n agreement: require('./agreement')\n};\n\nmods.getChannelModule = function(channel) {\n if (hasOwn.call(mods.channels, channel)) {\n return mods.channels[channel];\n }\n return undefined;\n};\n\nmods.getExtraModule = function(name) {\n if (hasOwn.call(mods.extras, name)) {\n return mods.extras[name];\n }\n return undefined;\n};\n","/**\n * Created by dong on 2016/12/30.\n */\n\nvar PingppError = require('./errors').Error;\nvar hasOwn = {}.hasOwnProperty;\n\nmodule.exports = {\n id: null,\n or_id: null,\n channel: null,\n app: null,\n credential: {},\n extra: null,\n livemode: null,\n order_no: null,\n time_expire: null,\n paid: false,\n status: null,\n actual_amount: null,\n\n init: function (charge_or_order) {\n var charge;\n if (typeof charge_or_order === 'string') {\n try {\n charge = JSON.parse(charge_or_order);\n } catch (err) {\n throw new PingppError('json_decode_fail', err);\n }\n } else {\n charge = charge_or_order;\n }\n\n if (typeof charge === 'undefined') {\n throw new PingppError('json_decode_fail');\n }\n\n if (hasOwn.call(charge, 'object') && charge.object == 'order') {\n charge.or_id = charge.id;\n charge.order_no = charge.merchant_order_no;\n var charge_essentials = charge.charge_essentials;\n charge.channel = charge_essentials.channel;\n charge.credential = charge_essentials.credential;\n charge.extra = charge_essentials.extra;\n if(hasOwn.call(charge, 'charge') && charge.charge != null) {\n charge.id = charge.charge;\n } else if(hasOwn.call(charge_essentials, 'id')\n && charge_essentials.id != null) {\n charge.id = charge_essentials.id;\n } else if(hasOwn.call(charge, 'charges')) {\n for(var i = 0; i < charge.charges.data.length; i++){\n if(charge.charges.data[i].channel === charge_essentials.channel) {\n charge.id = charge.charges.data[i].id;\n break;\n }\n }\n }\n } else if(hasOwn.call(charge, 'object') && charge.object == 'recharge') {\n charge = charge.charge;\n }\n\n for (var key in this) {\n if (hasOwn.call(charge, key)) {\n this[key] = charge[key];\n }\n }\n return this;\n },\n\n clear: function () {\n for (var key in this) {\n if (typeof this[key] !== 'function') {\n this[key] = null;\n }\n }\n }\n};","module.exports = {\n};\n","var utils = require('./utils');\nvar hasOwn = {}.hasOwnProperty;\nmodule.exports = {\n PINGPP_MOCK_URL: 'https://sissi.pingxx.com/mock.php',\n\n runTestMode: function (charge) {\n var params = {\n 'ch_id': charge.id,\n 'scheme': 'http',\n 'channel': charge.channel\n };\n\n if (hasOwn.call(charge, 'order_no')) {\n params.order_no = charge.order_no;\n } else if (hasOwn.call(charge, 'orderNo')) {\n params.order_no = charge.orderNo;\n }\n if (hasOwn.call(charge, 'time_expire')) {\n params.time_expire = charge.time_expire;\n } else if (hasOwn.call(charge, 'timeExpire')) {\n params.time_expire = charge.timeExpire;\n }\n if (hasOwn.call(charge, 'extra')) {\n params.extra = encodeURIComponent(JSON.stringify(charge.extra));\n }\n utils.redirectTo(\n this.PINGPP_MOCK_URL + '?' + utils.stringifyData(params),\n charge.channel\n );\n }\n};\n","var callbacks = require('./callbacks');\nvar hasOwn = {}.hasOwnProperty;\n\nvar utils = module.exports = {\n\n /**\n * 对象转换成 query string\n * @param object data 待转对象\n * @param string channel 渠道\n * @param boolean urlencode 是否需要 urlencode\n *\n * @return string query string\n */\n stringifyData: function (data, channel, urlencode) {\n if (typeof urlencode == 'undefined') {\n urlencode = false;\n }\n var output = [];\n for (var i in data) {\n if (!hasOwn.call(data, i) || typeof data[i] === 'function') {\n continue;\n }\n if (channel == 'bfb_wap' && i == 'url') {\n continue;\n }\n if (channel == 'yeepay_wap' && i == 'mode') {\n continue;\n }\n if (i == 'channel_url') {\n continue;\n }\n output.push(i + '=' +\n (urlencode ? encodeURIComponent(data[i]) : data[i]));\n }\n return output.join('&');\n },\n\n /**\n * 网络请求\n * @param string url\n * @param string method 请求方式, POST, GET ...\n * @param object requestData 请求数据\n * @param function successCallback 成功回调 (data, statusCode, xhr)\n * @param function errorCallback 错误回调 (xhr, statusCode, error)\n */\n request: function (url, method, requestData,\n successCallback, errorCallback, headers) {\n if (typeof XMLHttpRequest === 'undefined') {\n console.log('Function XMLHttpRequest is undefined.');\n return;\n }\n var xhr = new XMLHttpRequest();\n if (typeof xhr.timeout !== 'undefined') {\n xhr.timeout = 6000;\n }\n method = method.toUpperCase();\n\n if (method === 'GET' && typeof requestData === 'object' && requestData) {\n url += '?' + utils.stringifyData(requestData, '', true);\n }\n xhr.open(method, url, true);\n if (typeof headers !== 'undefined') {\n for (var k in headers) {\n if (hasOwn.call(headers, k)) {\n xhr.setRequestHeader(k, headers[k]);\n }\n }\n }\n if (method === 'POST') {\n xhr.setRequestHeader('Content-type', 'application/json; charset=utf-8');\n xhr.send(JSON.stringify(requestData));\n } else {\n xhr.send();\n }\n if (typeof successCallback == 'undefined') {\n successCallback = function () {};\n }\n if (typeof errorCallback == 'undefined') {\n errorCallback = function () {};\n }\n xhr.onreadystatechange = function () {\n if (xhr.readyState == 4) {\n successCallback(xhr.responseText, xhr.status, xhr);\n }\n };\n xhr.onerror = function (e) {\n errorCallback(xhr, 0, e);\n };\n },\n\n /**\n * 表单提交\n * @param string url\n * @param string method 请求方式, POST, GET ...\n * @param object params 请求数据\n */\n formSubmit: function (url, method, params) {\n if (typeof window === 'undefined') {\n console.log('Not a browser, form submit url: ' + url);\n return;\n }\n var form = document.createElement('form');\n form.setAttribute('method', method);\n form.setAttribute('action', url);\n\n for (var key in params) {\n if (hasOwn.call(params, key)) {\n var hiddenField = document.createElement('input');\n hiddenField.setAttribute('type', 'hidden');\n hiddenField.setAttribute('name', key);\n hiddenField.setAttribute('value', params[key]);\n form.appendChild(hiddenField);\n }\n }\n\n document.body.appendChild(form);\n form.submit();\n },\n\n randomString: function (length) {\n if (typeof length == 'undefined') {\n length = 32;\n }\n var chars =\n 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n var maxPos = chars.length;\n var str = '';\n for (var i = 0; i < length; i++) {\n str += chars.charAt(Math.floor(Math.random() * maxPos));\n }\n\n return str;\n },\n\n redirectTo: function (url, channel) {\n if (callbacks.shouldReturnUrlByCallback(channel)) {\n callbacks.triggerUrlReturnCallback(null, url);\n return;\n }\n if (typeof window === 'undefined') {\n console.log('Not a browser, redirect url: ' + url);\n return;\n }\n window.location.href = url;\n },\n\n inWeixin: function () {\n if (typeof navigator === 'undefined') {\n return false;\n }\n var ua = navigator.userAgent.toLowerCase();\n return ua.indexOf('micromessenger') !== -1;\n },\n\n inAlipay: function () {\n if (typeof navigator === 'undefined') {\n return false;\n }\n var ua = navigator.userAgent.toLowerCase();\n return ua.indexOf('alipayclient') !== -1;\n },\n\n /*global wx*/\n inWxLite: function() {\n if(typeof wx === 'undefined') {\n return false;\n }\n \n return wx.miniProgram || wx.requestPayment;\n },\n\n /*global my*/\n inAlipayLite: function() {\n if(typeof my === 'undefined') {\n return false;\n }\n\n return my.tradePay;\n },\n\n documentReady: function (fn) {\n if (typeof document === 'undefined') {\n fn();\n return;\n }\n if (document.readyState != 'loading') {\n fn();\n } else {\n document.addEventListener('DOMContentLoaded', fn);\n }\n },\n\n loadUrlJs: function (sid, jsurl, callback) {\n var nodeHead = document.getElementsByTagName('head')[0];\n var nodeScript = null;\n if (document.getElementById(sid) == null) {\n nodeScript = document.createElement('script');\n nodeScript.setAttribute('type', 'text/javascript');\n nodeScript.setAttribute('src', jsurl);\n nodeScript.setAttribute('id', sid);\n nodeScript.async = true;\n if (callback != null) {\n nodeScript.onload = nodeScript.onreadystatechange = function () {\n if (nodeScript.ready) {\n return false;\n }\n\n if (!nodeScript.readyState || nodeScript.readyState == 'loaded'\n || nodeScript.readyState == 'complete') {\n nodeScript.ready = true;\n callback();\n }\n };\n }\n nodeHead.appendChild(nodeScript);\n } else {\n if (callback != null) {\n callback();\n }\n }\n },\n deviceDetectorMobile: function () {\n return /Mobi/.test(window.navigator.userAgent);\n },\n};\n","module.exports = {\n v: '2.3.0'\n};\n"]}
1
+ {"version":3,"sources":["node_modules/browser-pack/_prelude.js","src/agreement.js","src/callbacks.js","src/channels/abc_pay.js","src/channels/alipay.js","src/channels/alipay_lite.js","src/channels/alipay_pc_direct.js","src/channels/alipay_qr.js","src/channels/alipay_qr_lakala.js","src/channels/alipay_wap.js","src/channels/bfb_wap.js","src/channels/cb_alipay_pc_direct.js","src/channels/cb_alipay_wap.js","src/channels/cb_wx_pub.js","src/channels/ccb_wap.js","src/channels/chinaums_alipay_pub.js","src/channels/chinaums_upacp_wap.js","src/channels/cmb_pc_qr.js","src/channels/cmb_wallet.js","src/channels/commons/redirect_base.js","src/channels/cp_b2b.js","src/channels/extras/ap.js","src/channels/isv_lite.js","src/channels/isv_wap.js","src/channels/jdpay_wap.js","src/channels/nucc_b2b_lakala.js","src/channels/pab_pc.js","src/channels/paypal.js","src/channels/qpay_pub.js","src/channels/upacp_pc.js","src/channels/upacp_wap.js","src/channels/wx_lite.js","src/channels/wx_pub_pab.js","src/channels/wx_wap.js","src/channels/yeepay_wap.js","src/channels/yeepay_wx_lite.js","src/errors.js","src/init.js","src/main.js","src/mods.js","src/payment_elements.js","src/stash.js","src/testmode.js","src/utils.js","src/version.js"],"names":["f","exports","module","define","amd","window","global","self","this","pingpp","r","e","n","t","o","i","c","require","u","a","Error","code","p","call","length","1","hasOwn","hasOwnProperty","callbacks","utils","signAgreement","agreement","agreementObj","JSON","parse","err","innerAgreementCallback","error","object","credential","channel","url","urlToOpen","substring","deviceDetectorMobile","URL","encodeURIComponent","search","setTimeout","redirectTo","userCallback","undefined","urlReturnCallback","urlReturnChannels","userAgreementCallback","innerCallback","result","clear","msg","extra","triggerUrlReturnCallback","shouldReturnUrlByCallback","indexOf","handleCharge","charge","PINGPP_NOTIFY_URL_BASE","callpay","orderInfo","alipayLiteEnabled","my","tradePay","orderStr","alipayLitePay","navigator","test","userAgent","swuserAgent","waitAlipayJSBridgde","alipayJsBridgePay","errmsg","console","log","callback","AlipayJSBridge","document","addEventListener","alipayResultHandler","tradePayParams","complete","res","resultCode","memo","runTestMode","path","id","httpRequest","success","data","fail","trade_no","tradeNO","alipay_lite","ALIPAY_PC_DIRECT_URL","baseURL","channel_url","service","_input_charset","query","stringifyData","transaction_no","ready","redirectBase","mods","ALIPAY_WAP_URL_OLD","ALIPAY_WAP_URL","targetURL","ap","getExtraModule","inWeixin","pay","stash","fields","k","jsApiParameters","wx_jssdk","jssdkEnabled","WeixinJSBridge","eventCallback","jsApiCall","attachEvent","invoke","err_msg","confirm","request","status","CCB_WAP_URL_BASE","formSubmit","CMB_WALLET_URL","request_url","ChannelUrl","channelVersion","CP_B2B_URL","b","PADCHAR","ALPHA","makeDOMException","DOMException","INVALID_CHARACTER_ERR","d","number","name","description","toString","message","getbyte64","charAt","decode","h","g","j","push","String","fromCharCode","join","getbyte","charCodeAt","encode","arguments","SyntaxError","APURL","location","href","decodeURIComponent","wxLite","pay_channel","inAlipay","JDPAY_WAP_URL_OLD","JDPAY_H5_URL","JDPAY_PC_URL","channelUrl","bankUrl","SRC_URL","ID","tokenId","token_id","loadUrlJs","mqq","QQVersion","tenpay","retmsg","UPACP_PC_URL","UPACP_WAP_URL","wxLiteEnabled","wx","requestPayment","wx_lite","appId","errMsg","err_code","err_desc","wxPub","YEEPAY_WAP_URL","YEEPAY_WAP_TEST_URL","mode","init","documentReady","inWxLite","inAlipayLite","initPuid","localStorage","puid","getItem","randomString","setItem","PingppSDK","version","v","prototype","testmode","PingppError","payment_elements","createPayment","chargeJSON","signature","debug","app","app_id","paid","actual_amount","channelModule","getChannelModule","livemode","setAPURL","setUrlReturnCallback","channels","Array","isArray","alipay","abc_pay","abc_pub","alipay_pc_direct","alipay_qr","alipay_qr_lakala","alipay_wap","alipay_wap_lakala","bfb_wap","cb_alipay_pc_direct","cb_alipay_wap","cb_wx_pub","ccb_qr","ccb_wap","chinaums_alipay_pub","chinaums_alipay_wap","chinaums_upacp_wap","chinaums_wx_pub","chinaums_wx_wap","cmb_pc_qr","cmb_wallet","cp_b2b","isv_lite","isv_wap","jdpay_wap","nucc_b2b_lakala","nucc_b2c_lakala","pab_pc","paypal","qpay_pub","upacp_b2b","upacp_pc","upacp_wap","wx_lite_pab","wx_pub","wx_pub_pab","wx_wap","yeepay_wap","yeepay_wx_pub","yeepay_wx_pub_ofl","yeepay_wx_lite","yeepay_wx_lite_ofl","extras","or_id","order_no","time_expire","charge_or_order","key","merchant_order_no","charge_essentials","charges","PINGPP_MOCK_URL","params","ch_id","scheme","orderNo","timeExpire","stringify","urlencode","output","method","requestData","successCallback","errorCallback","headers","XMLHttpRequest","xhr","timeout","toUpperCase","open","setRequestHeader","send","onreadystatechange","readyState","responseText","onerror","hiddenField","form","createElement","setAttribute","appendChild","body","submit","chars","maxPos","str","Math","floor","random","toLowerCase","miniProgram","fn","sid","jsurl","nodeHead","getElementsByTagName","nodeScript","getElementById","async","onload"],"mappings":"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","file":"pingpp.js","sourcesContent":["(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()","var hasOwn = {}.hasOwnProperty;\nvar callbacks = require('./callbacks');\nvar utils = require('./utils');\n\nmodule.exports = {\n signAgreement: function (agreement) {\n var agreementObj;\n if (typeof agreement === 'string') {\n try {\n agreementObj = JSON.parse(agreement);\n } catch (err) {\n callbacks.innerAgreementCallback('fail',\n callbacks.error('json_decode_fail', err));\n return false;\n }\n } else {\n agreementObj = agreement;\n }\n\n if (typeof agreementObj === 'undefined') {\n callbacks.innerAgreementCallback('fail',\n callbacks.error('json_decode_fail'));\n return false;\n }\n\n if (!hasOwn.call(agreementObj, 'object')\n || agreementObj.object !== 'agreement'\n || !hasOwn.call(agreementObj, 'channel')\n || !hasOwn.call(agreementObj, 'credential')\n || typeof agreementObj.credential !== 'object'\n ) {\n callbacks.innerAgreementCallback('fail',\n callbacks.error('invalid_object'));\n return false;\n }\n\n if (!hasOwn.call(agreementObj.credential, agreementObj.channel)) {\n callbacks.innerAgreementCallback('fail',\n callbacks.error('invalid_credential'));\n return false;\n }\n\n var credential = agreementObj.credential[agreementObj.channel];\n var urlToOpen;\n if (typeof credential === 'string') {\n urlToOpen = credential;\n } else if (hasOwn.call(credential, 'credential')\n && typeof credential.credential === 'string'\n ) {\n urlToOpen = credential.credential;\n }\n\n if (typeof urlToOpen === 'undefined') {\n callbacks.innerAgreementCallback('fail',\n callbacks.error('invalid_credential'));\n return false;\n }\n\n if (agreementObj.channel.substring(0, 6) === 'alipay' && utils.deviceDetectorMobile()) {\n var url = new URL(urlToOpen);\n urlToOpen = 'https://d.alipay.com/i/index.htm?iframeSrc='\n + encodeURIComponent('alipays://platformapi/startapp?appId=60000157'\n +'&appClearTop=false&startMultApp=YES&sign_params='\n + encodeURIComponent(url.search.substring(1))\n );\n }\n\n setTimeout(function() {\n utils.redirectTo(urlToOpen);\n }, 0);\n\n return true;\n }\n};\n","module.exports = {\n\n userCallback: undefined,\n\n urlReturnCallback: undefined,\n\n urlReturnChannels: [\n 'alipay_pc_direct', // 默认只开启 alipay_pc_direct 使用 callback 返回 URL\n ],\n\n userAgreementCallback: undefined,\n\n innerCallback: function(result, err) {\n if (typeof this.userCallback === 'function') {\n if (typeof err === 'undefined') {\n err = this.error();\n }\n this.userCallback(result, err);\n this.userCallback = undefined;\n var payment_elements = require('./payment_elements');\n payment_elements.clear();\n }\n },\n\n error: function(msg, extra) {\n msg = (typeof msg === 'undefined') ? '' : msg;\n extra = (typeof extra === 'undefined') ? '' : extra;\n return {\n msg: msg,\n extra: extra\n };\n },\n\n triggerUrlReturnCallback: function (err, url) {\n if (typeof this.urlReturnCallback === 'function') {\n this.urlReturnCallback(err, url);\n }\n },\n\n shouldReturnUrlByCallback: function (channel) {\n if (typeof this.urlReturnCallback !== 'function') {\n return false;\n }\n return this.urlReturnChannels.indexOf(channel) !== -1;\n },\n\n innerAgreementCallback: function(result, err) {\n if (typeof this.userAgreementCallback === 'function') {\n if (typeof err === 'undefined') {\n err = this.error();\n }\n this.userAgreementCallback(result, err);\n this.userAgreementCallback = undefined;\n }\n }\n};\n","var utils = require('../utils');\nvar callbacks = require('../callbacks');\nmodule.exports = {\n handleCharge: function (charge) {\n var credential = charge.credential[charge.channel];\n if (typeof credential === 'string') {\n utils.redirectTo(credential, charge.channel);\n } else {\n callbacks.innerCallback('fail',\n callbacks.error('invalid_credential', 'credential 格式不正确'));\n }\n }\n};\n","var callbacks = require('../callbacks');\nvar hasOwn = {}.hasOwnProperty;\n\n/*global my,AlipayJSBridge*/\nmodule.exports = {\n\n PINGPP_NOTIFY_URL_BASE: 'https://notify.pingxx.com/notify',\n\n handleCharge: function (charge) {\n var credential = charge.credential[charge.channel];\n if (credential || hasOwn.call(credential, 'orderInfo')) {\n this.callpay(credential.orderInfo);\n } else {\n callbacks.innerCallback('fail',\n callbacks.error('invalid_credential', 'missing_alipay'));\n }\n },\n\n alipayLiteEnabled: function () {\n return typeof my !== 'undefined' && my.tradePay;\n },\n\n // 支付宝小程序支付\n callpay: function (orderStr) {\n var self = this;\n if (this.alipayLiteEnabled()) {\n return this.alipayLitePay(orderStr);\n }\n\n if (typeof navigator !== 'undefined'\n && /AlipayClient/.test(navigator.userAgent || navigator.swuserAgent)) {\n return this.waitAlipayJSBridgde(function () {\n self.alipayJsBridgePay(orderStr);\n });\n }\n\n var errmsg = '请在支付宝小程序或者支付宝应用内中打开';\n console.log(errmsg);\n callbacks.innerCallback('fail', callbacks.error(errmsg));\n return;\n },\n\n waitAlipayJSBridgde: function (callback) {\n if (window.AlipayJSBridge) {\n callback && callback();\n } else {\n document.addEventListener('AlipayJSBridgeReady', callback, false);\n }\n },\n\n alipayJsBridgePay: function (orderStr) {\n AlipayJSBridge.call('tradePay', {\n orderStr: orderStr\n }, this.alipayResultHandler);\n },\n\n alipayLitePay: function (orderStr) {\n var tradePayParams = {};\n tradePayParams.orderStr = orderStr;\n tradePayParams.complete = this.alipayResultHandler;\n my.tradePay(tradePayParams);\n },\n\n alipayResultHandler: function (res) {\n var extra = {\n resultCode: res.resultCode\n };\n if (hasOwn.call(res, 'memo')) {\n extra.memo = res.memo;\n }\n if (hasOwn.call(res, 'result')) {\n extra.result = res.result;\n }\n // 支付成功\n if (res.resultCode == '9000') {\n callbacks.innerCallback('success', callbacks.error('', extra));\n } else if (res.resultCode == '6001') { // 取消支付\n callbacks.innerCallback('cancel', callbacks.error('用户取消支付', extra));\n } else {\n callbacks.innerCallback('fail', callbacks.error('支付失败', extra));\n }\n },\n\n runTestMode: function (charge) {\n var path = '/charges/' + charge.id;\n my.httpRequest({\n url: this.PINGPP_NOTIFY_URL_BASE + path + '?livemode=false',\n success: function(res) {\n if (res.data == 'success') {\n callbacks.innerCallback('success');\n } else {\n callbacks.innerCallback('fail',\n callbacks.error('testmode_notify_fail'));\n }\n },\n fail:function() {\n callbacks.innerCallback('fail', callbacks.error('network_err'));\n }\n });\n }\n};\n","var callbacks = require('../callbacks');\n\n/*global my*/\nmodule.exports = {\n\n PINGPP_NOTIFY_URL_BASE: 'https://notify.pingxx.com/notify',\n\n handleCharge: function (charge) {\n var trade_no = charge.credential[charge.channel];\n if (trade_no) {\n this.callpay(trade_no);\n } else {\n callbacks.innerCallback('fail',\n callbacks.error('invalid_credential', 'missing_alipay_lite'));\n }\n },\n\n alipayLiteEnabled: function () {\n return typeof my !== 'undefined' && my.tradePay;\n },\n\n //支付宝小程序支付\n callpay: function (tradeNO) {\n if (!this.alipayLiteEnabled()) {\n console.log('请在支付宝小程序中打开');\n return;\n }\n var alipay_lite = {};\n alipay_lite.tradeNO = tradeNO;\n alipay_lite.complete = function (res) {\n //支付成功\n if (res.resultCode == 9000) {\n callbacks.innerCallback('success');\n } else if (res.resultCode == 6001) { //取消支付\n callbacks.innerCallback('cancel', callbacks.error('用户取消支付'));\n } else {\n callbacks.innerCallback('fail', callbacks.error('支付失败'));\n }\n };\n my.tradePay(alipay_lite);\n },\n\n runTestMode: function (charge) {\n var path = '/charges/' + charge.id;\n my.httpRequest({\n url: this.PINGPP_NOTIFY_URL_BASE + path + '?livemode=false',\n success: function(res) {\n if (res.data == 'success') {\n callbacks.innerCallback('success');\n } else {\n callbacks.innerCallback('fail',\n callbacks.error('testmode_notify_fail'));\n }\n },\n fail:function() {\n callbacks.innerCallback('fail', callbacks.error('network_err'));\n }\n });\n }\n};\n","var utils = require('../utils');\nvar hasOwn = {}.hasOwnProperty;\n\nmodule.exports = {\n\n ALIPAY_PC_DIRECT_URL: 'https://mapi.alipay.com/gateway.do',\n\n handleCharge: function(charge) {\n var channel = charge.channel;\n var credential = charge.credential[channel];\n var baseURL = this.ALIPAY_PC_DIRECT_URL;\n if (hasOwn.call(credential, 'channel_url')) {\n baseURL = credential.channel_url;\n }\n if (!hasOwn.call(credential, '_input_charset')) {\n if(hasOwn.call(credential, 'service')\n && credential.service === 'create_direct_pay_by_user') {\n credential._input_charset = 'utf-8';\n }\n }\n var query = utils.stringifyData(credential, channel, true);\n utils.redirectTo(baseURL + '?' + query, channel);\n }\n};\n","var hasOwn = {}.hasOwnProperty;\nvar callbacks = require('../callbacks');\n\n/*global AlipayJSBridge*/\nmodule.exports = {\n\n handleCharge: function (charge) {\n var credential = charge.credential[charge.channel];\n if (hasOwn.call(credential, 'transaction_no')) {\n this.tradePay(credential.transaction_no);\n } else {\n callbacks.innerCallback('fail',\n callbacks.error('invalid_credential', 'missing_field_transaction_no'));\n }\n },\n\n ready: function (callback) {\n if (window.AlipayJSBridge) {\n callback && callback();\n } else {\n document.addEventListener('AlipayJSBridgeReady', callback, false);\n }\n },\n\n tradePay: function (tradeNO) {\n this.ready(function () {\n // 通过传入交易号唤起快捷调用方式(注意tradeNO大小写严格)\n AlipayJSBridge.call('tradePay', {\n tradeNO: tradeNO\n }, function (data) {\n if ('9000' == data.resultCode) {\n callbacks.innerCallback('success');\n } else if('6001' == data.resultCode) {\n callbacks.innerCallback('cancel', callbacks.error(data.result));\n } else {\n callbacks.innerCallback('fail',\n callbacks.error(data.result));\n }\n });\n });\n }\n};\n","var redirectBase = require('./commons/redirect_base');\n\nmodule.exports = {\n\n handleCharge: function(charge) {\n redirectBase.handleCharge(charge);\n }\n};\n","var utils = require('../utils');\nvar mods = require('../mods');\nvar hasOwn = {}.hasOwnProperty;\n\nmodule.exports = {\n\n ALIPAY_WAP_URL_OLD: 'https://wappaygw.alipay.com/service/rest.htm',\n ALIPAY_WAP_URL: 'https://mapi.alipay.com/gateway.do',\n\n handleCharge: function(charge) {\n var channel = charge.channel;\n var credential = charge.credential[channel];\n var baseURL = this.ALIPAY_WAP_URL;\n if (hasOwn.call(credential, 'req_data')) {\n baseURL = this.ALIPAY_WAP_URL_OLD;\n } else if (hasOwn.call(credential, 'channel_url')) {\n baseURL = credential.channel_url;\n }\n if (!hasOwn.call(credential, '_input_charset')) {\n if ((hasOwn.call(credential, 'service')\n && credential.service === 'alipay.wap.create.direct.pay.by.user')\n || hasOwn.call(credential, 'req_data')\n ) {\n credential._input_charset = 'utf-8';\n }\n }\n var query = utils.stringifyData(credential, channel, true);\n var targetURL = baseURL + '?' + query;\n var ap = mods.getExtraModule('ap');\n if (utils.inWeixin() && typeof ap !== 'undefined') {\n ap.pay(targetURL);\n } else {\n utils.redirectTo(targetURL, channel);\n }\n }\n};","var utils = require('../utils');\nvar callbacks = require('../callbacks');\nvar hasOwn = {}.hasOwnProperty;\n\nmodule.exports = {\n\n handleCharge: function(charge) {\n var channel = charge.channel;\n var credential = charge.credential[channel];\n\n if (!hasOwn.call(credential, 'url')) {\n callbacks.innerCallback('fail',\n callbacks.error('invalid_credential', 'missing_field:url'));\n return;\n }\n utils.redirectTo(credential.url + '?' +\n utils.stringifyData(credential, channel), channel);\n }\n};\n","var utils = require('../utils');\nvar hasOwn = {}.hasOwnProperty;\n\nmodule.exports = {\n\n ALIPAY_PC_DIRECT_URL: 'https://intlmapi.alipay.com/gateway.do',\n\n handleCharge: function(charge) {\n var channel = charge.channel;\n var credential = charge.credential[channel];\n var baseURL = this.ALIPAY_PC_DIRECT_URL;\n if (hasOwn.call(credential, 'channel_url')) {\n baseURL = credential.channel_url;\n }\n\n if (!hasOwn.call(credential, '_input_charset')) {\n if(hasOwn.call(credential, 'service')\n && credential.service === 'create_forex_trade') {\n credential._input_charset = 'utf-8';\n }\n }\n var query = utils.stringifyData(credential, channel, true);\n\n utils.redirectTo(baseURL + '?' + query, channel);\n }\n};\n","var utils = require('../utils');\nvar mods = require('../mods');\nvar hasOwn = {}.hasOwnProperty;\n\nmodule.exports = {\n\n ALIPAY_WAP_URL: 'https://intlmapi.alipay.com/gateway.do',\n\n handleCharge: function(charge) {\n var channel = charge.channel;\n var credential = charge.credential[channel];\n var baseURL = this.ALIPAY_WAP_URL;\n if (hasOwn.call(credential, 'channel_url')) {\n baseURL = credential.channel_url;\n }\n if (!hasOwn.call(credential, '_input_charset')) {\n if ((hasOwn.call(credential, 'service')\n && credential.service === 'create_forex_trade_wap')\n ) {\n credential._input_charset = 'utf-8';\n }\n }\n\n var query = utils.stringifyData(credential, channel, true);\n var targetURL = baseURL + '?' + query;\n var ap = mods.getExtraModule('ap');\n if (utils.inWeixin() && typeof ap !== 'undefined') {\n ap.pay(targetURL);\n } else {\n utils.redirectTo(targetURL, channel);\n }\n }\n};\n","var callbacks = require('../callbacks');\nvar utils = require('../utils');\nvar stash = require('../stash');\nvar mods = require('../mods');\nvar hasOwn = {}.hasOwnProperty;\n\n/*global WeixinJSBridge*/\nmodule.exports = {\n\n PINGPP_NOTIFY_URL_BASE: 'https://notify.pingxx.com/notify',\n\n handleCharge: function(charge) {\n var credential = charge.credential[charge.channel];\n var fields = [\n 'appId', 'timeStamp', 'nonceStr', 'package', 'signType', 'paySign'\n ];\n for (var k = 0; k < fields.length; k++) {\n if (!hasOwn.call(credential, fields[k])) {\n callbacks.innerCallback('fail',\n callbacks.error('invalid_credential', 'missing_field_' + fields[k]));\n return;\n }\n }\n stash.jsApiParameters = credential;\n this.callpay();\n },\n\n callpay: function() {\n var self = this;\n var wx_jssdk = mods.getExtraModule('wx_jssdk');\n if (typeof wx_jssdk !== 'undefined' && wx_jssdk.jssdkEnabled()) {\n wx_jssdk.callpay();\n } else if (typeof WeixinJSBridge == 'undefined') {\n var eventCallback = function() {\n self.jsApiCall();\n };\n if (document.addEventListener) {\n document.addEventListener('WeixinJSBridgeReady',\n eventCallback, false);\n } else if (document.attachEvent) {\n document.attachEvent('WeixinJSBridgeReady', eventCallback);\n document.attachEvent('onWeixinJSBridgeReady', eventCallback);\n }\n } else {\n this.jsApiCall();\n }\n },\n\n jsApiCall: function() {\n if (hasOwn.call(stash, 'jsApiParameters')) {\n WeixinJSBridge.invoke(\n 'getBrandWCPayRequest',\n stash.jsApiParameters,\n function(res) {\n delete stash.jsApiParameters;\n if (res.err_msg == 'get_brand_wcpay_request:ok') {\n callbacks.innerCallback('success');\n } else if (res.err_msg == 'get_brand_wcpay_request:cancel') {\n callbacks.innerCallback('cancel');\n } else {\n callbacks.innerCallback('fail',\n callbacks.error('wx_result_fail', res.err_msg));\n }\n }\n );\n }\n },\n\n runTestMode: function(charge) {\n var dopay = confirm('模拟付款?');\n if (dopay) {\n var path = '/charges/' + charge.id;\n utils.request(this.PINGPP_NOTIFY_URL_BASE + path + '?livemode=false',\n 'GET', null,\n function(data, status) {\n if (status >= 200 && status < 400 && data == 'success') {\n callbacks.innerCallback('success');\n } else {\n var extra = 'http_code:' + status + ';response:' + data;\n callbacks.innerCallback('fail',\n callbacks.error('testmode_notify_fail', extra));\n }\n },\n function() {\n callbacks.innerCallback('fail', callbacks.error('network_err'));\n });\n }\n }\n};\n","var utils = require('../utils');\nvar hasOwn = {}.hasOwnProperty;\nvar callbacks = require('../callbacks');\n\nmodule.exports = {\n\n CCB_WAP_URL_BASE: 'https://ibsbjstar.ccb.com.cn/CCBIS/ccbMain?',\n\n handleCharge: function(charge) {\n var channel = charge.channel;\n var credential = charge.credential[channel];\n if (!hasOwn.call(credential, 'orderinfo')) {\n callbacks.innerCallback('fail',\n callbacks.error('invalid_credential', 'missing_field:orderinfo'));\n return;\n }\n\n var targetURL = this.CCB_WAP_URL_BASE + credential['orderinfo'];\n utils.redirectTo(targetURL, channel);\n }\n};\n","var utils = require('../utils');\nvar callbacks = require('../callbacks');\nvar hasOwn = {}.hasOwnProperty;\n\nmodule.exports = {\n handleCharge: function (charge) {\n var credential = charge.credential[charge.channel];\n if (typeof credential === 'string') {\n utils.redirectTo(credential, charge.channel);\n } else {\n callbacks.innerCallback('fail',\n callbacks.error('invalid_credential', 'credential 格式不正确'));\n }\n }\n};\n","var utils = require('../utils');\nvar callbacks = require('../callbacks');\nvar hasOwn = {}.hasOwnProperty;\n\nmodule.exports = {\n handleCharge: function (charge) {\n var credential = charge.credential[charge.channel];\n if (typeof credential === 'string') {\n utils.redirectTo(credential, charge.channel);\n } else {\n callbacks.innerCallback('fail',\n callbacks.error('invalid_credential', 'credential 格式不正确'));\n }\n }\n};","var utils = require('../utils');\nvar hasOwn = {}.hasOwnProperty;\n\nmodule.exports = {\n\n handleCharge: function(charge) {\n var channel = charge.channel;\n var credential = charge.credential[channel];\n var baseURL;\n if (hasOwn.call(credential, 'channel_url')) {\n baseURL = credential.channel_url;\n delete credential.channel_url;\n }\n\n utils.formSubmit(baseURL, 'post', credential);\n }\n};\n","var utils = require('../utils');\nvar hasOwn = {}.hasOwnProperty;\n\nmodule.exports = {\n\n CMB_WALLET_URL:\n 'https://netpay.cmbchina.com/netpayment/BaseHttp.dll?MB_EUserPay',\n\n handleCharge: function(charge) {\n var credential = charge.credential[charge.channel];\n var request_url = this.CMB_WALLET_URL;\n if (hasOwn.call(credential, 'ChannelUrl')) {\n request_url = credential.ChannelUrl;\n delete credential.ChannelUrl;\n }\n\n if (hasOwn.call(credential, 'channelVersion')) {\n delete credential.channelVersion;\n }\n\n utils.formSubmit(request_url, 'post', credential);\n }\n};\n","var utils = require('../../utils');\nvar callbacks = require('../../callbacks');\nvar hasOwn = {}.hasOwnProperty;\n\nmodule.exports = {\n\n handleCharge: function(charge) {\n var credential = charge.credential[charge.channel];\n var targetURL;\n if (typeof credential === 'string') {\n targetURL = credential;\n } else if (hasOwn.call(credential, 'url')) {\n targetURL = credential.url;\n } else {\n callbacks.innerCallback('fail', callbacks.error('invalid_credential',\n 'credential format is incorrect'));\n return;\n }\n utils.redirectTo(targetURL, charge.channel);\n }\n};\n","var utils = require('../utils');\n\nmodule.exports = {\n\n CP_B2B_URL: 'https://payment.chinapay.com/CTITS/service/rest/page/nref/000000000017/0/0/0/0/0',\n\n handleCharge: function(charge) {\n var credential = charge.credential[charge.channel];\n utils.formSubmit(this.CP_B2B_URL, 'post', credential);\n }\n};\n","var stash = require('../../stash');\nvar hasOwn = {}.hasOwnProperty;\n\n(function() {\n var b = {};\n var a = {};\n a.PADCHAR = '=';\n a.ALPHA = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n a.makeDOMException = function() {\n try {\n return new DOMException(DOMException.INVALID_CHARACTER_ERR);\n } catch (d) {\n var c = new Error('DOM Exception 5');\n c.code = c.number = 5;\n c.name = c.description = 'INVALID_CHARACTER_ERR';\n c.toString = function() {\n return 'Error: ' + c.name + ': ' + c.message;\n };\n return c;\n }\n };\n a.getbyte64 = function(e, d) {\n var c = a.ALPHA.indexOf(e.charAt(d));\n if (c === -1) {\n throw a.makeDOMException();\n }\n return c;\n };\n a.decode = function(f) {\n f = '' + f;\n var j = a.getbyte64;\n var h, e, g;\n var d = f.length;\n if (d === 0) {\n return f;\n }\n if (d % 4 !== 0) {\n throw a.makeDOMException();\n }\n h = 0;\n if (f.charAt(d - 1) === a.PADCHAR) {\n h = 1;\n if (f.charAt(d - 2) === a.PADCHAR) {\n h = 2;\n }\n d -= 4;\n }\n var c = [];\n for (e = 0; e < d; e += 4) {\n g = (j(f, e) << 18) |\n (j(f, e + 1) << 12) |\n (j(f, e + 2) << 6) |\n j(f, e + 3);\n c.push(String.fromCharCode(g >> 16, (g >> 8) & 255, g & 255));\n }\n switch (h) {\n case 1:\n g = (j(f, e) << 18) | (j(f, e + 1) << 12) | (j(f, e + 2) << 6);\n c.push(String.fromCharCode(g >> 16, (g >> 8) & 255));\n break;\n case 2:\n g = (j(f, e) << 18) | (j(f, e + 1) << 12);\n c.push(String.fromCharCode(g >> 16));\n break;\n }\n return c.join('');\n };\n a.getbyte = function(e, d) {\n var c = e.charCodeAt(d);\n if (c > 255) {\n throw a.makeDOMException();\n }\n return c;\n };\n a.encode = function(f) {\n if (arguments.length !== 1) {\n throw new SyntaxError('Not enough arguments');\n }\n var g = a.PADCHAR;\n var h = a.ALPHA;\n var k = a.getbyte;\n var e, j;\n var c = [];\n f = '' + f;\n var d = f.length - f.length % 3;\n if (f.length === 0) {\n return f;\n }\n for (e = 0; e < d; e += 3) {\n j = (k(f, e) << 16) | (k(f, e + 1) << 8) | k(f, e + 2);\n c.push(h.charAt(j >> 18));\n c.push(h.charAt((j >> 12) & 63));\n c.push(h.charAt((j >> 6) & 63));\n c.push(h.charAt(j & 63));\n }\n switch (f.length - d) {\n case 1:\n j = k(f, e) << 16;\n c.push(h.charAt(j >> 18) + h.charAt((j >> 12) & 63) + g + g);\n break;\n case 2:\n j = (k(f, e) << 16) | (k(f, e + 1) << 8);\n c.push(h.charAt(j >> 18) +\n h.charAt((j >> 12) & 63) +\n h.charAt((j >> 6) & 63) + g);\n break;\n }\n return c.join('');\n };\n b.url = 'pay.htm';\n b.pay = function(d) {\n var c = encodeURIComponent(a.encode(d));\n if (hasOwn.call(stash, 'APURL')) {\n b.url = stash.APURL;\n }\n location.href = b.url + '?goto=' + c;\n };\n b.decode = function(c) {\n return a.decode(decodeURIComponent(c));\n };\n\n module.exports = b;\n})();\n","var wxLite = require('./wx_lite');\n\nmodule.exports = wxLite;\n","var redirectBase = require('./commons/redirect_base');\nvar callbacks = require('../callbacks');\nvar utils = require('../utils');\nvar hasOwn = {}.hasOwnProperty;\n\nmodule.exports = {\n handleCharge: function (charge) {\n var extra = charge.extra;\n if (hasOwn.call(extra, 'pay_channel')) {\n var pay_channel = extra.pay_channel;\n if (pay_channel === 'wx' && !utils.inWeixin()) {\n callbacks.innerCallback('fail',\n callbacks.error('Not in the WeChat browser'));\n return;\n } else if (pay_channel === 'alipay' && !utils.inAlipay()) {\n callbacks.innerCallback('fail',\n callbacks.error('Not in the Alipay browser'));\n return;\n }\n } else {\n callbacks.innerCallback('fail',\n callbacks.error('invalid_charge', 'charge 格式不正确'));\n return;\n }\n redirectBase.handleCharge(charge);\n }\n};\n","var utils = require('../utils');\nvar hasOwn = {}.hasOwnProperty;\n\nmodule.exports = {\n\n JDPAY_WAP_URL_OLD: 'https://m.jdpay.com/wepay/web/pay',\n JDPAY_H5_URL: 'https://h5pay.jd.com/jdpay/saveOrder',\n JDPAY_PC_URL: 'https://wepay.jd.com/jdpay/saveOrder',\n\n handleCharge: function(charge) {\n var credential = charge.credential[charge.channel];\n var request_url = this.JDPAY_H5_URL;\n if (hasOwn.call(credential, 'channelUrl')) {\n request_url = credential.channelUrl;\n delete credential.channelUrl;\n } else if (hasOwn.call(credential, 'merchantRemark')) {\n request_url = this.JDPAY_WAP_URL_OLD;\n }\n utils.formSubmit(request_url, 'post', credential);\n }\n};\n","var utils = require('../utils');\nvar hasOwn = {}.hasOwnProperty;\n\nmodule.exports = {\n handleCharge: function (charge) {\n var credential = charge.credential[charge.channel];\n if (hasOwn.call(credential, 'bankUrl')) {\n request_url = credential.bankUrl;\n delete credential.bankUrl;\n }\n\n utils.formSubmit(request_url, 'post', credential);\n }\n};\n","var utils = require('../utils');\n\nmodule.exports = {\n\n handleCharge: function(charge) {\n var credential = charge.credential[charge.channel];\n var request_url = credential.channelUrl;\n delete credential.channelUrl;\n\n utils.formSubmit(request_url, 'post', credential);\n }\n};\n","var utils = require('../utils');\n\nmodule.exports = {\n handleCharge: function(charge) {\n var credential = charge.credential[charge.channel];\n utils.redirectTo(credential, charge.channel);\n }\n};\n","var callbacks = require('../callbacks');\nvar utils = require('../utils');\nvar stash = require('../stash');\nvar hasOwn = {}.hasOwnProperty;\n\n/*global mqq*/\nmodule.exports = {\n SRC_URL: 'https://open.mobile.qq.com/sdk/qqapi.js?_bid=152',\n ID: 'mqq_api',\n\n handleCharge: function (charge) {\n var credential = charge.credential[charge.channel];\n\n if (!hasOwn.call(credential, 'token_id')) {\n callbacks.innerCallback('fail',\n callbacks.error('invalid_credential', 'missing_token_id'));\n return;\n }\n stash.tokenId = credential.token_id;\n utils.loadUrlJs(this.ID, this.SRC_URL, this.callpay);\n },\n\n callpay: function () {\n if (typeof mqq != 'undefined') {\n if (mqq.QQVersion == 0) {\n callbacks.innerCallback('fail',\n callbacks.error('Not in the QQ client'));\n delete stash.tokenId;\n return;\n }\n mqq.tenpay.pay({\n tokenId: stash.tokenId\n }, function (result) {\n if (result.resultCode == 0) {\n callbacks.innerCallback('success');\n } else {\n callbacks.innerCallback('fail',\n callbacks.error(result.retmsg));\n }\n });\n } else {\n callbacks.innerCallback('fail',\n callbacks.error('network_err'));\n }\n delete stash.tokenId;\n }\n};","var utils = require('../utils');\n\nmodule.exports = {\n\n UPACP_PC_URL: 'https://gateway.95516.com/gateway/api/frontTransReq.do',\n\n handleCharge: function(charge) {\n var credential = charge.credential[charge.channel];\n utils.formSubmit(this.UPACP_PC_URL, 'post', credential);\n }\n};\n","var utils = require('../utils');\n\nmodule.exports = {\n\n UPACP_WAP_URL: 'https://gateway.95516.com/gateway/api/frontTransReq.do',\n\n handleCharge: function(charge) {\n var credential = charge.credential[charge.channel];\n utils.formSubmit(this.UPACP_WAP_URL, 'post', credential);\n }\n};\n","/**\n * Created by yulitao on 2016/12/29.\n */\nvar stash = require('../stash');\nvar callbacks = require('../callbacks');\nvar hasOwn = {}.hasOwnProperty;\n/*global wx*/\nmodule.exports = {\n\n PINGPP_NOTIFY_URL_BASE: 'https://notify.pingxx.com/notify',\n\n handleCharge: function (charge) {\n var credential = charge.credential[charge.channel];\n var fields = [\n 'appId', 'timeStamp', 'nonceStr', 'package', 'signType', 'paySign'\n ];\n for (var k = 0; k < fields.length; k++) {\n if (!hasOwn.call(credential, fields[k])) {\n callbacks.innerCallback('fail',\n callbacks.error('invalid_credential', 'missing_field_' + fields[k]));\n return;\n }\n }\n stash.jsApiParameters = credential;\n this.callpay();\n },\n\n wxLiteEnabled: function () {\n return typeof wx !== 'undefined' && wx.requestPayment;\n },\n\n //微信小程序支付\n callpay: function () {\n if (!this.wxLiteEnabled()) {\n console.log('请在微信小程序中打开');\n return;\n }\n var wx_lite = stash.jsApiParameters;\n delete wx_lite.appId;\n wx_lite.complete = function (res) {\n //支付成功\n if (res.errMsg === 'requestPayment:ok') {\n callbacks.innerCallback('success');\n }\n //取消支付\n if (res.errMsg === 'requestPayment:cancel'\n || res.errMsg === 'requestPayment:fail cancel') {\n callbacks.innerCallback('cancel', callbacks.error('用户取消支付'));\n }\n //支付验证签名失败\n if (res.err_code !== 'undefined' && res.err_desc !== 'undefined') {\n callbacks.innerCallback('fail', callbacks.error(res.err_desc, res));\n }\n };\n wx.requestPayment(wx_lite);\n },\n\n runTestMode: function (charge) {\n var path = '/charges/' + charge.id;\n wx.request({\n url: this.PINGPP_NOTIFY_URL_BASE + path + '?livemode=false',\n success: function(res) {\n if (res.data == 'success') {\n callbacks.innerCallback('success');\n } else {\n callbacks.innerCallback('fail',\n callbacks.error('testmode_notify_fail'));\n }\n },\n fail:function() {\n callbacks.innerCallback('fail', callbacks.error('network_err'));\n }\n });\n }\n};\n","var wxPub = require('./wx_pub');\n\nmodule.exports = wxPub;\n","var utils = require('../utils');\nvar callbacks = require('../callbacks');\nvar hasOwn = {}.hasOwnProperty;\n\nmodule.exports = {\n\n handleCharge: function(charge) {\n var credential = charge.credential[charge.channel];\n if (typeof credential === 'string') {\n utils.redirectTo(credential, charge.channel);\n } else if (typeof credential === 'object'\n && hasOwn.call(credential, 'url')\n ) {\n utils.redirectTo(credential.url, charge.channel);\n } else {\n callbacks.innerCallback('fail',\n callbacks.error('invalid_credential', 'credential 格式不正确'));\n }\n }\n};\n","var utils = require('../utils');\nvar callbacks = require('../callbacks');\nvar hasOwn = {}.hasOwnProperty;\n\nmodule.exports = {\n\n YEEPAY_WAP_URL: 'https://ok.yeepay.com/paymobile/api/pay/request',\n YEEPAY_WAP_TEST_URL: 'https://mobiletest.yeepay.com/paymobile/api/pay/request',\n\n handleCharge: function(charge) {\n var channel = charge.channel;\n var credential = charge.credential[channel];\n var fields = ['merchantaccount', 'encryptkey', 'data'];\n for (var k = 0; k < fields.length; k++) {\n if (!hasOwn.call(credential, fields[k])) {\n callbacks.innerCallback('fail',\n callbacks.error('invalid_credential', 'missing_field_' + fields[k]));\n return;\n }\n }\n var baseURL;\n if (hasOwn.call(credential, 'mode') && credential.mode == 'test') {\n baseURL = this.YEEPAY_WAP_TEST_URL;\n } else {\n baseURL = this.YEEPAY_WAP_URL;\n }\n utils.redirectTo(baseURL + '?' +\n utils.stringifyData(credential, channel, true), charge.channel);\n }\n};\n","var wxPub = require('./wx_lite');\n\nmodule.exports = wxPub;\n","var error = function PingppError(message, extra) {\n this.message = message;\n this.extra = extra;\n};\n\nmodule.exports = {\n Error: error,\n};\n","var stash = require('./stash');\nvar utils = require('./utils');\n\nmodule.exports = {\n init: function() {\n var self = this;\n utils.documentReady(function(){\n try {\n (!(utils.inWxLite() || utils.inAlipayLite())) && self.initPuid();\n } catch (e){/* empty */}\n });\n },\n\n initPuid: function() {\n if (typeof window === 'undefined' || typeof localStorage === 'undefined'\n || localStorage === null) {\n return;\n }\n var puid = localStorage.getItem('pingpp_uid');\n if (puid === null) {\n puid = utils.randomString();\n try {\n localStorage.setItem('pingpp_uid', puid);\n } catch (e) {\n /* empty */\n }\n }\n stash.puid = puid;\n }\n};\n","var version = require('./version').v;\nvar hasOwn = {}.hasOwnProperty;\n\nvar PingppSDK = function () {\n require('./init').init();\n};\n\nPingppSDK.prototype.version = version;\n\nmodule.exports = new PingppSDK();\n\nvar testmode = require('./testmode');\nvar callbacks = require('./callbacks');\nvar PingppError = require('./errors').Error;\nvar mods = require('./mods');\nvar stash = require('./stash');\nvar payment_elements = require('./payment_elements');\n\nPingppSDK.prototype.createPayment = function (\n chargeJSON, callback, signature, debug\n) {\n if (typeof callback === 'function') {\n callbacks.userCallback = callback;\n }\n\n try {\n payment_elements.init(chargeJSON);\n } catch (e) {\n if (e instanceof PingppError) {\n callbacks.innerCallback('fail',\n callbacks.error(e.message, e.extra));\n return;\n } else {\n throw e;\n }\n }\n\n if (!hasOwn.call(payment_elements, 'id')) {\n callbacks.innerCallback('fail',\n callbacks.error('invalid_charge', 'no_charge_id'));\n return;\n }\n if (!hasOwn.call(payment_elements, 'channel')) {\n callbacks.innerCallback('fail',\n callbacks.error('invalid_charge', 'no_channel'));\n return;\n }\n\n if (hasOwn.call(payment_elements, 'app')) {\n if (typeof payment_elements.app === 'string') {\n stash.app_id = payment_elements.app;\n } else if (typeof payment_elements.app === 'object' &&\n typeof payment_elements.app.id === 'string') {\n stash.app_id = payment_elements.app.id;\n }\n }\n var channel = payment_elements.channel;\n if (!hasOwn.call(payment_elements, 'credential')) {\n callbacks.innerCallback('fail',\n callbacks.error('invalid_charge', 'no_credential'));\n return;\n }\n if (payment_elements.paid && payment_elements.actual_amount === 0) {\n callbacks.innerCallback('success');\n return;\n }\n\n if (!payment_elements.credential) {\n callbacks.innerCallback('fail',\n callbacks.error('invalid_credential', 'credential_is_undefined'));\n return;\n }\n if (!hasOwn.call(payment_elements.credential, channel)) {\n callbacks.innerCallback('fail',\n callbacks.error('invalid_credential', 'credential_is_incorrect'));\n return;\n }\n if (!hasOwn.call(payment_elements, 'livemode')) {\n callbacks.innerCallback('fail',\n callbacks.error('invalid_charge', 'no_livemode_field'));\n return;\n }\n var channelModule = mods.getChannelModule(channel);\n if (typeof channelModule === 'undefined') {\n console.error('channel module \"' + channel + '\" is undefined');\n callbacks.innerCallback('fail',\n callbacks.error('invalid_channel',\n 'channel module \"' + channel + '\" is undefined')\n );\n return;\n }\n if (payment_elements.livemode === false) {\n if (hasOwn.call(channelModule, 'runTestMode')) {\n channelModule.runTestMode(payment_elements);\n } else {\n testmode.runTestMode(payment_elements);\n }\n return;\n }\n\n if (typeof signature != 'undefined') {\n stash.signature = signature;\n }\n if (typeof debug == 'boolean') {\n stash.debug = debug;\n }\n channelModule.handleCharge(payment_elements);\n};\n\nPingppSDK.prototype.setAPURL = function (url) {\n stash.APURL = url;\n};\n\nPingppSDK.prototype.setUrlReturnCallback = function (callback, channels) {\n if (typeof callback === 'function') {\n callbacks.urlReturnCallback = callback;\n } else {\n throw 'callback need to be a function';\n }\n\n if (typeof channels !== 'undefined') {\n if (Array.isArray(channels)) {\n callbacks.urlReturnChannels = channels;\n } else {\n throw 'channels need to be an array';\n }\n }\n};\n\nPingppSDK.prototype.signAgreement = function (agreement, callback) {\n if (typeof callback === 'function') {\n callbacks.userAgreementCallback = callback;\n }\n\n var module = mods.getExtraModule('agreement');\n if (typeof module === 'undefined') {\n console.error('module \"agreement\" is undefined');\n callbacks.innerCallback('fail',\n callbacks.error('invalid_module',\n 'module \"agreement\" is undefined')\n );\n return false;\n }\n\n return module.signAgreement(agreement);\n};\n","var hasOwn = {}.hasOwnProperty;\nvar mods = {};\nmodule.exports = mods;\n\nmods.channels = {\n alipay: require('./channels/alipay'),\n alipay_lite: require('./channels/alipay_lite'),\n abc_pay: require('./channels/abc_pay'),\n abc_pub: require('./channels/abc_pub'),\n alipay_pc_direct: require('./channels/alipay_pc_direct'),\n alipay_qr: require('./channels/alipay_qr'),\n alipay_qr_lakala: require('./channels/alipay_qr_lakala'),\n alipay_wap: require('./channels/alipay_wap'),\n alipay_wap_lakala: require('./channels/alipay_wap_lakala'),\n bfb_wap: require('./channels/bfb_wap'),\n cb_alipay_pc_direct: require('./channels/cb_alipay_pc_direct'),\n cb_alipay_wap: require('./channels/cb_alipay_wap'),\n cb_wx_pub: require('./channels/cb_wx_pub'),\n ccb_qr: require('./channels/ccb_qr'),\n ccb_wap: require('./channels/ccb_wap'),\n chinaums_alipay_pub: require('./channels/chinaums_alipay_pub'),\n chinaums_alipay_wap: require('./channels/chinaums_alipay_wap'),\n chinaums_upacp_wap: require('./channels/chinaums_upacp_wap'),\n chinaums_wx_pub: require('./channels/chinaums_wx_pub'),\n chinaums_wx_wap: require('./channels/chinaums_wx_wap'),\n cmb_pc_qr: require('./channels/cmb_pc_qr'),\n cmb_wallet: require('./channels/cmb_wallet'),\n cp_b2b: require('./channels/cp_b2b'),\n isv_lite: require('./channels/isv_lite'),\n isv_wap: require('./channels/isv_wap'),\n jdpay_wap: require('./channels/jdpay_wap'),\n nucc_b2b_lakala: require('./channels/nucc_b2b_lakala'),\n nucc_b2c_lakala: require('./channels/nucc_b2c_lakala'),\n pab_pc: require('./channels/pab_pc'),\n paypal: require('./channels/paypal'),\n qpay_pub: require('./channels/qpay_pub'),\n upacp_b2b: require('./channels/upacp_b2b'),\n upacp_pc: require('./channels/upacp_pc'),\n upacp_wap: require('./channels/upacp_wap'),\n wx_lite: require('./channels/wx_lite'),\n wx_lite_pab: require('./channels/wx_lite_pab'),\n wx_pub: require('./channels/wx_pub'),\n wx_pub_pab: require('./channels/wx_pub_pab'),\n wx_wap: require('./channels/wx_wap'),\n yeepay_wap: require('./channels/yeepay_wap'),\n yeepay_wx_pub: require('./channels/yeepay_wx_pub'),\n yeepay_wx_pub_ofl: require('./channels/yeepay_wx_pub'),\n yeepay_wx_lite: require('./channels/yeepay_wx_lite'),\n yeepay_wx_lite_ofl: require('./channels/yeepay_wx_lite_ofl')\n};\n\nmods.extras = {\n ap: require('./channels/extras/ap'),\n agreement: require('./agreement')\n};\n\nmods.getChannelModule = function(channel) {\n if (hasOwn.call(mods.channels, channel)) {\n return mods.channels[channel];\n }\n return undefined;\n};\n\nmods.getExtraModule = function(name) {\n if (hasOwn.call(mods.extras, name)) {\n return mods.extras[name];\n }\n return undefined;\n};\n","/**\n * Created by dong on 2016/12/30.\n */\n\nvar PingppError = require('./errors').Error;\nvar hasOwn = {}.hasOwnProperty;\n\nmodule.exports = {\n id: null,\n or_id: null,\n channel: null,\n app: null,\n credential: {},\n extra: null,\n livemode: null,\n order_no: null,\n time_expire: null,\n paid: false,\n status: null,\n actual_amount: null,\n\n init: function (charge_or_order) {\n var charge;\n if (typeof charge_or_order === 'string') {\n try {\n charge = JSON.parse(charge_or_order);\n } catch (err) {\n throw new PingppError('json_decode_fail', err);\n }\n } else {\n charge = charge_or_order;\n }\n\n if (typeof charge === 'undefined') {\n throw new PingppError('json_decode_fail');\n }\n\n if (hasOwn.call(charge, 'object') && charge.object == 'order') {\n charge.or_id = charge.id;\n charge.order_no = charge.merchant_order_no;\n var charge_essentials = charge.charge_essentials;\n charge.channel = charge_essentials.channel;\n charge.credential = charge_essentials.credential;\n charge.extra = charge_essentials.extra;\n if(hasOwn.call(charge, 'charge') && charge.charge != null) {\n charge.id = charge.charge;\n } else if(hasOwn.call(charge_essentials, 'id')\n && charge_essentials.id != null) {\n charge.id = charge_essentials.id;\n } else if(hasOwn.call(charge, 'charges')) {\n for(var i = 0; i < charge.charges.data.length; i++){\n if(charge.charges.data[i].channel === charge_essentials.channel) {\n charge.id = charge.charges.data[i].id;\n break;\n }\n }\n }\n } else if(hasOwn.call(charge, 'object') && charge.object == 'recharge') {\n charge = charge.charge;\n }\n\n for (var key in this) {\n if (hasOwn.call(charge, key)) {\n this[key] = charge[key];\n }\n }\n return this;\n },\n\n clear: function () {\n for (var key in this) {\n if (typeof this[key] !== 'function') {\n this[key] = null;\n }\n }\n }\n};","module.exports = {\n};\n","var utils = require('./utils');\nvar hasOwn = {}.hasOwnProperty;\nmodule.exports = {\n PINGPP_MOCK_URL: 'https://sissi.pingxx.com/mock.php',\n\n runTestMode: function (charge) {\n var params = {\n 'ch_id': charge.id,\n 'scheme': 'http',\n 'channel': charge.channel\n };\n\n if (hasOwn.call(charge, 'order_no')) {\n params.order_no = charge.order_no;\n } else if (hasOwn.call(charge, 'orderNo')) {\n params.order_no = charge.orderNo;\n }\n if (hasOwn.call(charge, 'time_expire')) {\n params.time_expire = charge.time_expire;\n } else if (hasOwn.call(charge, 'timeExpire')) {\n params.time_expire = charge.timeExpire;\n }\n if (hasOwn.call(charge, 'extra')) {\n params.extra = encodeURIComponent(JSON.stringify(charge.extra));\n }\n utils.redirectTo(\n this.PINGPP_MOCK_URL + '?' + utils.stringifyData(params),\n charge.channel\n );\n }\n};\n","var callbacks = require('./callbacks');\nvar hasOwn = {}.hasOwnProperty;\n\nvar utils = module.exports = {\n\n /**\n * 对象转换成 query string\n * @param object data 待转对象\n * @param string channel 渠道\n * @param boolean urlencode 是否需要 urlencode\n *\n * @return string query string\n */\n stringifyData: function (data, channel, urlencode) {\n if (typeof urlencode == 'undefined') {\n urlencode = false;\n }\n var output = [];\n for (var i in data) {\n if (!hasOwn.call(data, i) || typeof data[i] === 'function') {\n continue;\n }\n if (channel == 'bfb_wap' && i == 'url') {\n continue;\n }\n if (channel == 'yeepay_wap' && i == 'mode') {\n continue;\n }\n if (i == 'channel_url') {\n continue;\n }\n output.push(i + '=' +\n (urlencode ? encodeURIComponent(data[i]) : data[i]));\n }\n return output.join('&');\n },\n\n /**\n * 网络请求\n * @param string url\n * @param string method 请求方式, POST, GET ...\n * @param object requestData 请求数据\n * @param function successCallback 成功回调 (data, statusCode, xhr)\n * @param function errorCallback 错误回调 (xhr, statusCode, error)\n */\n request: function (url, method, requestData,\n successCallback, errorCallback, headers) {\n if (typeof XMLHttpRequest === 'undefined') {\n console.log('Function XMLHttpRequest is undefined.');\n return;\n }\n var xhr = new XMLHttpRequest();\n if (typeof xhr.timeout !== 'undefined') {\n xhr.timeout = 6000;\n }\n method = method.toUpperCase();\n\n if (method === 'GET' && typeof requestData === 'object' && requestData) {\n url += '?' + utils.stringifyData(requestData, '', true);\n }\n xhr.open(method, url, true);\n if (typeof headers !== 'undefined') {\n for (var k in headers) {\n if (hasOwn.call(headers, k)) {\n xhr.setRequestHeader(k, headers[k]);\n }\n }\n }\n if (method === 'POST') {\n xhr.setRequestHeader('Content-type', 'application/json; charset=utf-8');\n xhr.send(JSON.stringify(requestData));\n } else {\n xhr.send();\n }\n if (typeof successCallback == 'undefined') {\n successCallback = function () {};\n }\n if (typeof errorCallback == 'undefined') {\n errorCallback = function () {};\n }\n xhr.onreadystatechange = function () {\n if (xhr.readyState == 4) {\n successCallback(xhr.responseText, xhr.status, xhr);\n }\n };\n xhr.onerror = function (e) {\n errorCallback(xhr, 0, e);\n };\n },\n\n /**\n * 表单提交\n * @param string url\n * @param string method 请求方式, POST, GET ...\n * @param object params 请求数据\n */\n formSubmit: function (url, method, params) {\n if (typeof window === 'undefined') {\n console.log('Not a browser, form submit url: ' + url);\n return;\n }\n var form = document.createElement('form');\n form.setAttribute('method', method);\n form.setAttribute('action', url);\n\n for (var key in params) {\n if (hasOwn.call(params, key)) {\n var hiddenField = document.createElement('input');\n hiddenField.setAttribute('type', 'hidden');\n hiddenField.setAttribute('name', key);\n hiddenField.setAttribute('value', params[key]);\n form.appendChild(hiddenField);\n }\n }\n\n document.body.appendChild(form);\n form.submit();\n },\n\n randomString: function (length) {\n if (typeof length == 'undefined') {\n length = 32;\n }\n var chars =\n 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n var maxPos = chars.length;\n var str = '';\n for (var i = 0; i < length; i++) {\n str += chars.charAt(Math.floor(Math.random() * maxPos));\n }\n\n return str;\n },\n\n redirectTo: function (url, channel) {\n if (callbacks.shouldReturnUrlByCallback(channel)) {\n callbacks.triggerUrlReturnCallback(null, url);\n return;\n }\n if (typeof window === 'undefined') {\n console.log('Not a browser, redirect url: ' + url);\n return;\n }\n window.location.href = url;\n },\n\n inWeixin: function () {\n if (typeof navigator === 'undefined') {\n return false;\n }\n var ua = navigator.userAgent.toLowerCase();\n return ua.indexOf('micromessenger') !== -1;\n },\n\n inAlipay: function () {\n if (typeof navigator === 'undefined') {\n return false;\n }\n var ua = navigator.userAgent.toLowerCase();\n return ua.indexOf('alipayclient') !== -1;\n },\n\n /*global wx*/\n inWxLite: function() {\n if(typeof wx === 'undefined') {\n return false;\n }\n \n return wx.miniProgram || wx.requestPayment;\n },\n\n /*global my*/\n inAlipayLite: function() {\n if(typeof my === 'undefined') {\n return false;\n }\n\n return my.tradePay;\n },\n\n documentReady: function (fn) {\n if (typeof document === 'undefined') {\n fn();\n return;\n }\n if (document.readyState != 'loading') {\n fn();\n } else {\n document.addEventListener('DOMContentLoaded', fn);\n }\n },\n\n loadUrlJs: function (sid, jsurl, callback) {\n var nodeHead = document.getElementsByTagName('head')[0];\n var nodeScript = null;\n if (document.getElementById(sid) == null) {\n nodeScript = document.createElement('script');\n nodeScript.setAttribute('type', 'text/javascript');\n nodeScript.setAttribute('src', jsurl);\n nodeScript.setAttribute('id', sid);\n nodeScript.async = true;\n if (callback != null) {\n nodeScript.onload = nodeScript.onreadystatechange = function () {\n if (nodeScript.ready) {\n return false;\n }\n\n if (!nodeScript.readyState || nodeScript.readyState == 'loaded'\n || nodeScript.readyState == 'complete') {\n nodeScript.ready = true;\n callback();\n }\n };\n }\n nodeHead.appendChild(nodeScript);\n } else {\n if (callback != null) {\n callback();\n }\n }\n },\n deviceDetectorMobile: function () {\n return /Mobi/.test(window.navigator.userAgent);\n },\n};\n","module.exports = {\n v: '2.3.1'\n};\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pingpp-js",
3
- "version": "2.3.0",
3
+ "version": "2.3.1",
4
4
  "description": "Ping++ HTML5 SDK",
5
5
  "main": "src/main.js",
6
6
  "homepage": "https://www.pingxx.com",
@@ -23,7 +23,7 @@
23
23
  "gulp-uglify": "^3.0.1",
24
24
  "gulp-util": "^3.0.8",
25
25
  "lodash": "^4.17.11",
26
- "minimist": "^1.2.0",
26
+ "minimist": "1.2.6",
27
27
  "vinyl-buffer": "^1.0.1",
28
28
  "vinyl-source-stream": "^2.0.0"
29
29
  },
package/src/agreement.js CHANGED
@@ -58,7 +58,7 @@ module.exports = {
58
58
 
59
59
  if (agreementObj.channel.substring(0, 6) === 'alipay' && utils.deviceDetectorMobile()) {
60
60
  var url = new URL(urlToOpen);
61
- urlToOpen = 'http://d.alipay.com/i/index.htm?iframeSrc='
61
+ urlToOpen = 'https://d.alipay.com/i/index.htm?iframeSrc='
62
62
  + encodeURIComponent('alipays://platformapi/startapp?appId=60000157'
63
63
  +'&appClearTop=false&startMultApp=YES&sign_params='
64
64
  + encodeURIComponent(url.search.substring(1))
@@ -71,4 +71,4 @@ module.exports = {
71
71
 
72
72
  return true;
73
73
  }
74
- };
74
+ };
@@ -5,7 +5,7 @@ var hasOwn = {}.hasOwnProperty;
5
5
  module.exports = {
6
6
 
7
7
  YEEPAY_WAP_URL: 'https://ok.yeepay.com/paymobile/api/pay/request',
8
- YEEPAY_WAP_TEST_URL: 'http://mobiletest.yeepay.com/paymobile/api/pay/request',
8
+ YEEPAY_WAP_TEST_URL: 'https://mobiletest.yeepay.com/paymobile/api/pay/request',
9
9
 
10
10
  handleCharge: function(charge) {
11
11
  var channel = charge.channel;
package/src/version.js CHANGED
@@ -1,3 +1,3 @@
1
1
  module.exports = {
2
- v: '2.3.0'
2
+ v: '2.3.1'
3
3
  };