@commercelayer/react-components
Version:
The Official Commerce Layer React Components
2 lines • 1.19 kB
JavaScript
"use client";
;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:""}}