UNPKG

react-monnify-sdk

Version:

This is an reactJS library for implementing Monnify payment gateway

3 lines (2 loc) 3.21 kB
"use strict";var n,e=require("react"),t=function(){return t=Object.assign||function(n){for(var e,t=1,o=arguments.length;t<o;t++)for(var r in e=arguments[t])Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n},t.apply(this,arguments)};function o(n,e){var t={};for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&e.indexOf(o)<0&&(t[o]=n[o]);if(null!=n&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(n);r<o.length;r++)e.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(n,o[r])&&(t[o[r]]=n[o[r]])}return t}"function"==typeof SuppressedError&&SuppressedError,function(n){n.ApiKey="API key",n.ContractCode="Contract Code"}(n||(n={}));var r=function(e){var r=e.paymentMethods,i=void 0===r?["CARD","ACCOUNT_TRANSFER"]:r,c=e.amount,a=e.apiKey,l=e.contractCode,u=o(e,["paymentMethods","amount","apiKey","contractCode"]);if(void 0!==window){var d=null==u?void 0:u.onLoadStart,s=null==u?void 0:u.onLoadComplete,f=null==u?void 0:u.onComplete,m=null==u?void 0:u.onClose,y=[];a?y.splice(y.indexOf(n.ApiKey),1):y.push(n.ApiKey),l?y.splice(y.indexOf(n.ContractCode),1):y.push(n.ContractCode),y.length>0?console.error("".concat(y.join(", ")," is invalid")):/^\d+(\.\d{1,2})?$/.test("".concat(c))?window.MonnifySDK.initialize(t({apiKey:a,contractCode:l,amount:c,paymentMethods:i,onClose:function(n){null==m||m(n)},onLoadStart:function(){null==d||d()},onLoadComplete:function(){null==s||s()},onComplete:function(n){null==f||f(n)}},u)):console.error("Invalid amount")}else console.error("Unable to launch checkout")},i=function(n,o){var i=n.config,c=n.callbacks;return e.useEffect((function(){document.getElementById("monnify-forwardref")&&document.getElementById("monnify-forwardref");var n=document.createElement("script");return n.src="https://sdk.monnify.com/plugin/monnify.js",n.type="text/javascript",n.async=!0,n.id="monnify-forward",document.body.appendChild(n),function(){document.body.removeChild(n)}}),[]),e.useImperativeHandle(o,(function(){return{initialize:function(n){r(t(t(t({},n),i),c))}}})),null};i.displayName="MonnifyCheckout";var c=e.forwardRef(i);exports.MonnifyButton=function(n){var t=n.children,i=n.style,c=n.className,a=o(n,["children","style","className"]);e.useEffect((function(){document.getElementById("monnify-button")&&document.getElementById("monnify-button");var n=document.createElement("script");return n.src="https://sdk.monnify.com/plugin/monnify.js",n.type="text/javascript",n.async=!0,n.id="monify-button",document.body.appendChild(n),function(){document.body.removeChild(n)}}),[]);return e.createElement("button",{className:c,style:i,onClick:function(){r(a)}},t)},exports.MonnifyCheckout=c,exports.useMonnifyCheckout=function(n){var o=n.callbacks,i=n.configs;e.useEffect((function(){document.getElementById("monnify-hook")&&document.getElementById("monnify-hook");var n=document.createElement("script");return n.src="https://sdk.monnify.com/plugin/monnify.js",n.type="text/javascript",n.async=!0,n.id="monnify-hook",document.body.appendChild(n),function(){document.body.removeChild(n)}}),[]);return{initialize:function(n){console.log("MONIFY HOOKS::"),r(t(t(t({},n),i),o))}}}; //# sourceMappingURL=index.js.map