pingpp-js 2.3.0 → 2.5.0
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 +16 -0
- package/alipay_in_weixin/pay.htm +1 -1
- package/dist/pingpp.js +2 -2
- package/gulpfile.js +12 -15
- package/mods.js.tmpl +22 -0
- package/package.json +4 -3
- package/release.md +109 -0
- package/src/agreement.js +2 -2
- package/src/callbacks.js +33 -8
- package/src/channels/yeepay_wap.js +1 -1
- package/src/main.js +196 -0
- package/src/mods.js +27 -6
- package/src/transfer_channels/wx_pub.js +77 -0
- package/src/transfer_elements.js +45 -0
- package/src/version.js +1 -1
- package/src/withdrawal_channels/wx_pub.js +77 -0
- package/src/withdrawal_elements.js +50 -0
- package/test/test.js +54 -3
- package/dist/pingpp.js.map +0 -1
- package/src/channels/pab_pc.js +0 -12
package/dist/pingpp.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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"]}
|
package/src/channels/pab_pc.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
var utils = require('../utils');
|
|
2
|
-
|
|
3
|
-
module.exports = {
|
|
4
|
-
|
|
5
|
-
handleCharge: function(charge) {
|
|
6
|
-
var credential = charge.credential[charge.channel];
|
|
7
|
-
var request_url = credential.channelUrl;
|
|
8
|
-
delete credential.channelUrl;
|
|
9
|
-
|
|
10
|
-
utils.formSubmit(request_url, 'post', credential);
|
|
11
|
-
}
|
|
12
|
-
};
|