react-monnify-sdk
Version:
This is an reactJS library for implementing Monnify payment gateway
3 lines (2 loc) • 3.19 kB
JavaScript
import n,{useEffect as o,forwardRef as t,useImperativeHandle as e}from"react";var i,r=function(){return r=Object.assign||function(n){for(var o,t=1,e=arguments.length;t<e;t++)for(var i in o=arguments[t])Object.prototype.hasOwnProperty.call(o,i)&&(n[i]=o[i]);return n},r.apply(this,arguments)};function c(n,o){var t={};for(var e in n)Object.prototype.hasOwnProperty.call(n,e)&&o.indexOf(e)<0&&(t[e]=n[e]);if(null!=n&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(e=Object.getOwnPropertySymbols(n);i<e.length;i++)o.indexOf(e[i])<0&&Object.prototype.propertyIsEnumerable.call(n,e[i])&&(t[e[i]]=n[e[i]])}return t}"function"==typeof SuppressedError&&SuppressedError,function(n){n.ApiKey="API key",n.ContractCode="Contract Code"}(i||(i={}));var a=function(n){var o=n.paymentMethods,t=void 0===o?["CARD","ACCOUNT_TRANSFER"]:o,e=n.amount,a=n.apiKey,l=n.contractCode,u=c(n,["paymentMethods","amount","apiKey","contractCode"]);if(void 0!==window){var d=null==u?void 0:u.onLoadStart,m=null==u?void 0:u.onLoadComplete,s=null==u?void 0:u.onComplete,y=null==u?void 0:u.onClose,f=[];a?f.splice(f.indexOf(i.ApiKey),1):f.push(i.ApiKey),l?f.splice(f.indexOf(i.ContractCode),1):f.push(i.ContractCode),f.length>0?console.error("".concat(f.join(", ")," is invalid")):/^\d+(\.\d{1,2})?$/.test("".concat(e))?window.MonnifySDK.initialize(r({apiKey:a,contractCode:l,amount:e,paymentMethods:t,onClose:function(n){null==y||y(n)},onLoadStart:function(){null==d||d()},onLoadComplete:function(){null==m||m()},onComplete:function(n){null==s||s(n)}},u)):console.error("Invalid amount")}else console.error("Unable to launch checkout")},l=function(n){var t=n.callbacks,e=n.configs;o((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::"),a(r(r(r({},n),e),t))}}},u=function(t){var e=t.children,i=t.style,r=t.className,l=c(t,["children","style","className"]);o((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 n.createElement("button",{className:r,style:i,onClick:function(){a(l)}},e)},d=function(n,t){var i=n.config,c=n.callbacks;return o((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(t,(function(){return{initialize:function(n){a(r(r(r({},n),i),c))}}})),null};d.displayName="MonnifyCheckout";var m=t(d);export{u as MonnifyButton,m as MonnifyCheckout,l as useMonnifyCheckout};
//# sourceMappingURL=index.es.js.map