import{r as e,h as t,H as a}from"./p-9add63ef.js";import{s}from"./p-3aa9debd.js";import"./p-8dccb656.js";import{a as i}from"./p-259c3935.js";import"./p-401e165e.js";import"./p-d3366af3.js";const n=":host{display:block}";const d=n;const r=class{constructor(t){e(this,t);this.liveMode=true;this.customerId=undefined;this.successUrl=undefined;this.currency=undefined;this.loading=undefined;this.loaded=undefined;this.error=undefined;this.paymentIntent=undefined}async handlePaymentIntentCreate(){var e,t;const{public_key:a,access_code:i}=((t=(e=this.paymentIntent)===null||e===void 0?void 0:e.processor_data)===null||t===void 0?void 0:t.paystack)||{};if(!a||!i)return;const n=new s;await n.newTransaction({key:a,accessCode:i,onSuccess:async e=>{if((e===null||e===void 0?void 0:e.status)!=="success"){throw{message:wp.i18n.sprintf(wp.i18n.__("Paystack transaction could not be finished. Status: %s","surecart"),e===null||e===void 0?void 0:e.status)}}window.location.assign(this.successUrl)},onClose:e=>{console.error(e);alert((e===null||e===void 0?void 0:e.message)||wp.i18n.__("The payment did not process. Please try again.","surecart"))}})}async createPaymentIntent(){var e,t;try{this.loading=true;this.error="";this.paymentIntent=await i({method:"POST",path:"surecart/v1/payment_intents",data:{processor_type:"paystack",reusable:true,live_mode:this.liveMode,customer_id:this.customerId,currency:this.currency,refresh_status:true}})}catch(a){this.error=((t=(e=a===null||a===void 0?void 0:a.additional_errors)===null||e===void 0?void 0:e[0])===null||t===void 0?void 0:t.message)||(a===null||a===void 0?void 0:a.message)||wp.i18n.__("Something went wrong","surecart")}finally{this.loading=false}}render(){return t(a,{key:"b3bc58d3f074499dfb3296218718b9701d4b3fbe"},this.error&&t("sc-alert",{key:"c9f2d49c81e0be55409ab69d9a8f906ea24b1e2c",open:!!this.error,type:"danger"},t("span",{key:"38698acebb5b60c1ec1f50980634d3222de54598",slot:"title"},wp.i18n.__("Error","surecart")),this.error),t("div",{key:"1e02745d98e209a6aa54a20eadc5fdc65a9f3a84",class:"sc-paystack-button-container"},t("sc-alert",{key:"1f6712384bbe852a8bf5148d6cd68150305313a1",open:true,type:"warning"},wp.i18n.__("In order to add a new card, we will need to make a small transaction to authenticate it. This is for authentication purposes and will be immediately refunded.","surecart"),t("div",{key:"0c96a94740dcdb37a46d1b515d717faf96eaa085"},t("sc-button",{key:"089c2ad08159a4ad0e7b6a0db44476d5a371250c",loading:this.loading,type:"primary",onClick:()=>this.createPaymentIntent(),style:{marginTop:"var(--sc-spacing-medium)"}},wp.i18n.__("Add New Card","surecart"))))))}static get watchers(){return{paymentIntent:["handlePaymentIntentCreate"]}}};r.style=d;export{r as sc_paystack_add_method};
//# sourceMappingURL=p-dcf0e842.entry.js.map