UNPKG

@commercelayer/react-components

Version:
2 lines 1.19 kB
"use client"; "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.checkPaymentIntent=checkPaymentIntent;const stripe_js_1=require("@stripe/stripe-js");async function retrievePaymentIntent({publicApiKey,paymentIntentClientSecret}){const stripe=await(0,stripe_js_1.loadStripe)(publicApiKey);try{return await stripe?.retrievePaymentIntent(paymentIntentClientSecret)}catch(error){return console.error("Error retrieving payment intent:",error),null}}function paymentIntentValidation({paymentIntent}){switch(paymentIntent?.status){case"succeeded":case"requires_capture":return"valid";case"processing":return"processing";case"requires_payment_method":return"invalid";default:return"invalid"}}async function checkPaymentIntent({publicApiKey,paymentIntentClientSecret}){const paymentIntentResult=await retrievePaymentIntent({publicApiKey,paymentIntentClientSecret});if(!paymentIntentResult)return{status:"invalid",message:"Payment intent not found"};const paymentIntent=paymentIntentResult.paymentIntent,error=paymentIntent?.last_payment_error,status=paymentIntentValidation({paymentIntent});return{status,message:status==="invalid"&&error?.message!=null?error.message:""}}