!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.pingpp=e()}}(function(){return function e(t,n,r){function i(o,u){if(!n[o]){if(!t[o]){var f="function"==typeof require&&require;if(!u&&f)return f(o,!0);if(s)return s(o,!0);var l=new Error("Cannot find module '"+o+"'");throw l.code="MODULE_NOT_FOUND",l}var c=n[o]={exports:{}};t[o][0].call(c.exports,function(e){var n=t[o][1][e];return i(n?n:e)},c,c.exports,e,t,n,r)}return n[o].exports}for(var s="function"==typeof require&&require,o=0;or;r+=4)i=s(e,r)<<18|s(e,r+1)<<12|s(e,r+2)<<6|s(e,r+3),u.push(String.fromCharCode(i>>16,i>>8&255,255&i));switch(t){case 1:i=s(e,r)<<18|s(e,r+1)<<12|s(e,r+2)<<6,u.push(String.fromCharCode(i>>16,i>>8&255));break;case 2:i=s(e,r)<<18|s(e,r+1)<<12,u.push(String.fromCharCode(i>>16))}return u.join("")},n.getbyte=function(e,t){var r=e.charCodeAt(t);if(r>255)throw n.makeDOMException();return r},n.encode=function(e){if(1!==arguments.length)throw new SyntaxError("Not enough arguments");var t,r,i=n.PADCHAR,s=n.ALPHA,o=n.getbyte,u=[];e=""+e;var a=e.length-e.length%3;if(0===e.length)return e;for(t=0;a>t;t+=3)r=o(e,t)<<16|o(e,t+1)<<8|o(e,t+2),u.push(s.charAt(r>>18)),u.push(s.charAt(r>>12&63)),u.push(s.charAt(r>>6&63)),u.push(s.charAt(63&r));switch(e.length-a){case 1:r=o(e,t)<<16,u.push(s.charAt(r>>18)+s.charAt(r>>12&63)+i+i);break;case 2:r=o(e,t)<<16|o(e,t+1)<<8,u.push(s.charAt(r>>18)+s.charAt(r>>12&63)+s.charAt(r>>6&63)+i)}return u.join("")},e.url="pay.htm",e.pay=function(t){var s=encodeURIComponent(n.encode(t));i.call(r,"APURL")&&(e.url=r.APURL),location.href=e.url+"?goto="+s},e.decode=function(e){return n.decode(decodeURIComponent(e))},t.exports=e}()},{"../../stash":21}],8:[function(e,t,n){var r=e("./commons/redirect_base");t.exports={handleCharge:function(e){r.handleCharge(e)}}},{"./commons/redirect_base":5}],9:[function(e,t,n){arguments[4][8][0].apply(n,arguments)},{"./commons/redirect_base":5,dup:8}],10:[function(e,t,n){var r=e("../utils"),i={}.hasOwnProperty;t.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 t=e.credential[e.channel],n=this.JDPAY_H5_URL;i.call(t,"channelUrl")?(n=t.channelUrl,delete t.channelUrl):i.call(t,"merchantRemark")&&(n=this.JDPAY_WAP_URL_OLD),r.formSubmit(n,"post",t)}}},{"../utils":23}],11:[function(e,t,n){var r=e("../utils");t.exports={UPACP_PC_URL:"https://gateway.95516.com/gateway/api/frontTransReq.do",handleCharge:function(e){var t=e.credential[e.channel];r.formSubmit(this.UPACP_PC_URL,"post",t)}}},{"../utils":23}],12:[function(e,t,n){var r=e("../utils");t.exports={UPACP_WAP_URL:"https://gateway.95516.com/gateway/api/frontTransReq.do",handleCharge:function(e){var t=e.credential[e.channel];r.formSubmit(this.UPACP_WAP_URL,"post",t)}}},{"../utils":23}],13:[function(e,t,n){var r=e("../callbacks"),i=e("../utils"),s=e("../stash"),o=e("../mods"),u={}.hasOwnProperty;t.exports={PINGPP_NOTIFY_URL_BASE:"https://api.pingxx.com/notify/charges/",handleCharge:function(e){for(var t=e.credential[e.channel],n=["appId","timeStamp","nonceStr","package","signType","paySign"],i=0;i=200&&400>t&&"success"==e)r.innerCallback("success");else{var n="http_code:"+t+";response:"+e;r.innerCallback("fail",r.error("testmode_notify_fail",n))}},function(){r.innerCallback("fail",r.error("network_err"))})}}},{"../callbacks":1,"../mods":20,"../stash":21,"../utils":23}],14:[function(e,t,n){var r=e("../utils"),i=e("../callbacks"),s={}.hasOwnProperty;t.exports={handleCharge:function(e){var t=e.credential[e.channel];"string"==typeof t?r.redirectTo(t):"object"==typeof t&&s.call(t,"url")?r.redirectTo(t.url):i.innerCallback("fail",i.error("invalid_credential","credential 格式不正确"))}}},{"../callbacks":1,"../utils":23}],15:[function(e,t,n){var r=e("../utils"),i=e("../callbacks"),s={}.hasOwnProperty;t.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 t=e.channel,n=e.credential[t],o=["merchantaccount","encryptkey","data"],u=0;u>16)+(t>>16)+(n>>16);return r<<16|65535&n}function n(e,t){return e<>>32-t}function r(t,r,i,s,o,u){return e(n(e(e(r,t),e(s,u)),o),i)}function i(e,t,n,i,s,o,u){return r(t&n|~t&i,e,t,s,o,u)}function s(e,t,n,i,s,o,u){return r(t&i|n&~i,e,t,s,o,u)}function o(e,t,n,i,s,o,u){return r(t^n^i,e,t,s,o,u)}function u(e,t,n,i,s,o,u){return r(n^(t|~i),e,t,s,o,u)}function a(t,n){t[n>>5]|=128<>>9<<4)+14]=n;var r,a,f,l,c,h=1732584193,p=-271733879,d=-1732584194,v=271733878;for(r=0;r>5]>>>t%32&255);return n}function l(e){var t,n=[];for(n[(e.length>>2)-1]=void 0,t=0;t>5]|=(255&e.charCodeAt(t/8))<16&&(i=a(i,8*e.length)),n=0;16>n;n+=1)s[n]=909522486^i[n],o[n]=1549556828^i[n];return r=a(s.concat(l(t)),512+8*t.length),f(a(o.concat(r),640))}function p(e){var t,n,r="0123456789abcdef",i="";for(n=0;n>>4&15)+r.charAt(15&t);return i}function d(e){return unescape(encodeURIComponent(e))}function v(e){return c(d(e))}function m(e){return p(v(e))}function g(e,t){return h(d(e),d(t))}function y(e,t){return p(g(e,t))}function b(e,t,n){return t?n?g(t,e):y(t,e):n?v(e):m(e)}t.exports=b}()},{}],19:[function(e,t,n){var r=e("./version").v,i=e("./testmode"),s=e("./callbacks"),o=e("./mods"),u=e("./stash"),a=e("./collection"),f={}.hasOwnProperty,l=function(){e("./init").init()};l.prototype={version:r,createPayment:function(e,t,n,r){"function"==typeof t&&(s.userCallback=t);var l;if("string"==typeof e)try{l=JSON.parse(e)}catch(h){return void s.innerCallback("fail",s.error("json_decode_fail",h))}else l=e;if("undefined"==typeof l)return void s.innerCallback("fail",s.error("json_decode_fail"));if(!f.call(l,"id"))return void s.innerCallback("fail",s.error("invalid_charge","no_charge_id"));if(!f.call(l,"channel"))return void s.innerCallback("fail",s.error("invalid_charge","no_channel"));f.call(l,"app")&&("string"==typeof l.app?u.app_id=l.app:"object"==typeof l.app&&"string"==typeof l.app.id&&(u.app_id=l.app.id)),a.report({type:"pure_sdk_click",channel:l.channel,ch_id:l.id});var p=l.channel;if(!f.call(l,"credential"))return void s.innerCallback("fail",s.error("invalid_charge","no_credential"));if(!l.credential)return void s.innerCallback("fail",s.error("invalid_credential","credential_is_undefined"));if(!f.call(l.credential,p))return void s.innerCallback("fail",s.error("invalid_credential","credential_is_incorrect"));if(!f.call(l,"livemode"))return void s.innerCallback("fail",s.error("invalid_charge","no_livemode_field"));var d=o.getChannelModule(p);return"undefined"==typeof d?(console.error('channel module "'+p+'" is undefined'),void s.innerCallback("fail",s.error("invalid_channel",'channel module "'+p+'" is undefined'))):l.livemode===!1?void (f.call(d,"runTestMode")?d.runTestMode(l):i.runTestMode(l)):("undefined"!=typeof n&&(u.signature=n),"boolean"==typeof r&&(u.debug=r),void d.handleCharge(l))},setAPURL:function(e){u.APURL=e}},t.exports=new l},{"./callbacks":1,"./collection":16,"./init":17,"./mods":20,"./stash":21,"./testmode":22,"./version":24}],20:[function(e,t,n){var r={}.hasOwnProperty,i={};t.exports=i,i.channels={alipay_pc_direct:e("./channels/alipay_pc_direct"),alipay_wap:e("./channels/alipay_wap"),bfb_wap:e("./channels/bfb_wap"),cp_b2b:e("./channels/cp_b2b"),fqlpay_qr:e("./channels/fqlpay_qr"),fqlpay_wap:e("./channels/fqlpay_wap"),jdpay_wap:e("./channels/jdpay_wap"),upacp_pc:e("./channels/upacp_pc"),upacp_wap:e("./channels/upacp_wap"),wx_pub:e("./channels/wx_pub"),wx_wap:e("./channels/wx_wap"),yeepay_wap:e("./channels/yeepay_wap")},i.extras={ap:e("./channels/extras/ap")},i.getChannelModule=function(e){return r.call(i.channels,e)?i.channels[e]:void 0},i.getExtraModule=function(e){return r.call(i.extras,e)?i.extras[e]:void 0}},{"./channels/alipay_pc_direct":2,"./channels/alipay_wap":3,"./channels/bfb_wap":4,"./channels/cp_b2b":6,"./channels/extras/ap":7,"./channels/fqlpay_qr":8,"./channels/fqlpay_wap":9,"./channels/jdpay_wap":10,"./channels/upacp_pc":11,"./channels/upacp_wap":12,"./channels/wx_pub":13,"./channels/wx_wap":14,"./channels/yeepay_wap":15}],21:[function(e,t,n){t.exports={}},{}],22:[function(e,t,n){var r=e("./utils"),i={}.hasOwnProperty;t.exports={PINGPP_MOCK_URL:"http://sissi.pingxx.com/mock.php",runTestMode:function(e){var t={ch_id:e.id,scheme:"http",channel:e.channel};i.call(e,"order_no")?t.order_no=e.order_no:i.call(e,"orderNo")&&(t.order_no=e.orderNo),i.call(e,"time_expire")?t.time_expire=e.time_expire:i.call(e,"timeExpire")&&(t.time_expire=e.timeExpire),i.call(e,"extra")&&(t.extra=encodeURIComponent(JSON.stringify(e.extra))),r.redirectTo(this.PINGPP_MOCK_URL+"?"+r.stringifyData(t))}}},{"./utils":23}],23:[function(e,t,n){var r={}.hasOwnProperty,i=t.exports={stringifyData:function(e,t,n){"undefined"==typeof n&&(n=!1);var i=[];for(var s in e)r.call(e,s)&&"function"!=typeof e[s]&&("bfb_wap"==t&&"url"==s||"yeepay_wap"==t&&"mode"==s||"channel_url"!=s&&i.push(s+"="+(n?encodeURIComponent(e[s]):e[s])));return i.join("&")},request:function(e,t,n,s,o,u){if("undefined"==typeof XMLHttpRequest)return void console.log("Function XMLHttpRequest is undefined.");var f=new XMLHttpRequest;if("undefined"!=typeof f.timeout&&(f.timeout=6e3),t=t.toUpperCase(),"GET"===t&&"object"==typeof n&&n&&(e+="?"+i.stringifyData(n,"",!0)),f.open(t,e,!0),"undefined"!=typeof u)for(var l in u)r.call(u,l)&&f.setRequestHeader(l,u[l]);"POST"===t?(f.setRequestHeader("Content-type","application/json; charset=utf-8"),f.send(JSON.stringify(n))):f.send(),"undefined"==typeof s&&(s=function(){}),"undefined"==typeof o&&(o=function(){}),f.onreadystatechange=function(){4==f.readyState&&s(f.responseText,f.status,f)},f.onerror=function(e){o(f,0,e)}},formSubmit:function(e,t,n){if("undefined"==typeof window)return void console.log("Not a browser, form submit url: "+e);var i=document.createElement("form");i.setAttribute("method",t),i.setAttribute("action",e);for(var s in n)if(r.call(n,s)){var o=document.createElement("input");o.setAttribute("type","hidden"),o.setAttribute("name",s),o.setAttribute("value",n[s]),i.appendChild(o)}document.body.appendChild(i),i.submit()},randomString:function(e){"undefined"==typeof e&&(e=32);for(var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",n=t.length,r="",i=0;e>i;i++)r+=t.charAt(Math.floor(Math.random()*n));return r},redirectTo:function(e){return"undefined"==typeof window?void console.log("Not a browser, redirect url: "+e):void (window.location.href=e)},inWeixin:function(){if("undefined"==typeof navigator)return!1;var e=navigator.userAgent.toLowerCase();return-1!==e.indexOf("micromessenger")},documentReady:function(e){return"undefined"==typeof document?void e():void ("loading"!=document.readyState?e():document.addEventListener("DOMContentLoaded",e))}}},{}],24:[function(e,t,n){t.exports={v:"2.1.5"}},{}]},{},[19])(19)});