react-orel-card-ipg
Version:
OrelPay ipg module for React
2 lines (1 loc) • 2.49 kB
JavaScript
import e,{Component as t}from"react";import a from"axios";import r from"pusher-js";function s(e,t){return(s=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function n(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}var o=function(t){var o,i;function l(e){var s;return(s=t.call(this,e)||this).configuration={local:{apiUrl:"https://orel.mpg/api/extGateway",gtUrl:"https://orel.mpg/app"},dev:{apiUrl:"https://dev.paymediasolutions.com/v1/mpg/api/extGateway",gtUrl:"https://testgateway.paymediasolutions.com"},prod:{apiUrl:"https://prod.orelpay.lk/v1/mpg/api/extGateway",gtUrl:"https://gateway.orelpay.lk"}},s.addCard=function(e,t,n){return new Promise(function(o,i){e&&t&&n?["local","dev","prod"].includes(n)?(a.defaults.baseURL=s.configuration[n].apiUrl,a.defaults.headers.post["Content-Type"]="application/json",a.defaults.headers.common["x-plugin-source"]="react-orel-card-ipg",a.defaults.headers.common["x-plugin-version"]="1.0.0",a.defaults.headers.common.Authorization="Bearer "+e,a.post("/getGatewaySession",{reference:t}).then(function(e){if(200===e.data.status){console.log("getGatewaySession","success");var t=e.data.data,a=t.session;s.setState({sessionId:a,url:s.configuration[n].gtUrl+"/"+a,apiKey:t._apk,channel:a+"-channel",open:!0});var l=new r(s.state.apiKey,{cluster:"ap2",forceTLS:!1});l.subscribe(s.state.channel).bind(s.state.sessionId,function(e){l.unsubscribe(s.state.channel),o(e)})}else i({status:400,data:{error:"SERVER_ERROR",message:"Payment session create failed."}})}).catch(function(e){i({status:400,data:{error:"INIT_ERROR",message:401===e.response.status?"Unauthorized, Invalid token.":"Something went wrong."}})})):i({status:400,data:{title:"Invalid Parameters: ",message:"Provided stage invalid",code:"invalidParameters"}}):(console.error("[addCard][Parameters missing]"),i({status:400,data:{title:"Invalid Parameters: ",message:"Provided Parameters missing or invalid",code:"invalidParameters"}}))})},s.cancel=function(){s.setState({sessionId:"",url:"",apiKey:"",channel:"",open:!1})},s.state={isLoading:!1,open:!1,url:"",sessionId:"",apiKey:"",channel:""},s.addCard=s.addCard.bind(n(s)),s.cancel=s.cancel.bind(n(s)),s}return i=t,(o=l).prototype=Object.create(i.prototype),o.prototype.constructor=o,s(o,i),l.prototype.render=function(){return this.state.open&&e.createElement("div",null,e.createElement("iframe",{className:"_F6EBm",src:this.state.url}))},l}(t);export default o;