2026-10-03 08:58:59 +00:00
// Module ID: 5419
// Function ID: 5420
2026-09-10 05:38:07 +00:00
// Name: StripeUtils
2026-10-03 08:58:59 +00:00
// Dependencies: [5, 32, 2116, 1085, 3, 5420, 1282, 558, 576, 504, 2]
// Exports: authenticatePaymentIntentForPaymentId, getStripeClientMode, getStripeElementLocale, parseBillingAddressInfoToStripeBillingDetails, parseStripePaymentMethod, validateExpiry
2026-07-20 16:05:17 +00:00
2026-10-03 08:58:59 +00:00
// Module 5419 (StripeUtils)
2026-09-10 05:38:07 +00:00
import LoggerDefault from "Logger" /* 3 */ ;
2026-10-03 08:58:59 +00:00
import react from "react" /* 576 */ ;
import HTTPUtils from "HTTPUtils" /* 1282 */ ;
import _mod5420 from "module_5420" /* 5420 */ ;
import _asyncToGenerator from "_asyncToGenerator" /* 5 */ ;
import _slicedToArray from "_slicedToArray" /* 32 */ ;
import LocaleStore from "LocaleStore" /* 2116 */ ;
import Constants from "Constants" /* 1085 */ ;
import ReactCompilerGating from "ReactCompilerGating" /* 558 */ ;
import size from "module_2" /* 2 */ ;
2026-07-23 10:11:24 +00:00
2026-10-03 08:58:59 +00:00
let c5 , c6 , locale ;
let metroImportDefault ;
let metroRequire ;
let tmp ;
const get_initialized = tmp ( 504 ) ;
2026-07-20 16:05:17 +00:00
function getStripe() {
2026-10-03 08:58:59 +00:00
let resolved ;
2026-09-10 05:38:07 +00:00
if ( null != React2 ) {
2026-10-03 08:58:59 +00:00
resolved = Promise . resolve ( React2 ) ;
2026-07-20 16:05:17 +00:00
} else {
2026-10-03 08:58:59 +00:00
obj = _mod5420 ;
const stripe = obj . loadStripe ( metroImportDefault . STRIPE . KEY ) ;
2026-09-10 05:38:07 +00:00
resolved = stripe . then ( ( result ) = > {
2026-10-03 08:58:59 +00:00
let closure_1_2 = result ;
2026-09-10 05:38:07 +00:00
return result ;
2026-07-23 10:11:24 +00:00
} ) ;
2026-07-20 16:05:17 +00:00
}
return resolved ;
}
2026-10-03 08:58:59 +00:00
let obj = function _authenticatePaymentIntentForPaymentId() {
obj = _asyncToGenerator ( async ( arg0 , value ) = > {
let closure_2 ;
let message ;
let closure_0 = arg0 ;
if ( c6 === 2 ) {
c6 = 3 ;
throw new TypeError ( "Generator functions may not be called on executing generators" ) ;
} else if ( tmp3 === 3 ) {
if ( arg0 === 1 ) {
throw value ;
} else if ( arg0 === 2 ) {
const obj2 = { value , done : true } ;
return obj2 ;
} else {
2026-10-05 08:00:40 +00:00
return { value : "IconComponent" , done : null } ;
2026-10-03 08:58:59 +00:00
}
2026-09-10 05:38:07 +00:00
} else {
2026-10-03 08:58:59 +00:00
let c4 ;
try {
let closure_1 ;
let tmp ;
let paymentIntent ;
let closure_5 ;
let error ;
c6 = 2 ;
if ( 0 === c5 ) {
if ( arg0 === 1 ) {
c6 = 3 ;
throw value ;
} else if ( arg0 === 2 ) {
2026-09-10 05:38:07 +00:00
c6 = 3 ;
2026-10-03 08:58:59 +00:00
const obj3 = { value , done : true } ;
return obj3 ;
2026-09-10 05:38:07 +00:00
} else {
2026-10-03 08:58:59 +00:00
closure_0 = undefined ;
closure_1 = undefined ;
tmp = undefined ;
paymentIntent = undefined ;
closure_5 = undefined ;
error = undefined ;
c4 = 1 ;
const HTTP = HTTPUtils . HTTP ;
const obj4 = { url : metroRequire.BILLING_STRIPE_PAYMENT_INTENTS ( closure_0 ) , oldFormErrors : true , rejectWithError : false } ;
const get = HTTP . get ;
c5 = 2 ;
2026-09-10 05:38:07 +00:00
c6 = 1 ;
2026-10-03 08:58:59 +00:00
const obj5 = { value : get ( obj4 ) , done : false } ;
return obj5 ;
2026-09-10 05:38:07 +00:00
}
2026-10-03 08:58:59 +00:00
} else if ( 1 === c5 ) {
2026-09-10 05:38:07 +00:00
c4 = 0 ;
2026-10-03 08:58:59 +00:00
const obj6 = { error : message.message } ;
2026-09-10 05:38:07 +00:00
c6 = 3 ;
2026-10-03 08:58:59 +00:00
const obj7 = { value : obj6 , done : true } ;
return obj7 ;
} else if ( 2 === c5 ) {
if ( arg0 === 1 ) {
c6 = 3 ;
throw value ;
} else if ( arg0 === 2 ) {
2026-09-10 05:38:07 +00:00
c4 = 0 ;
c6 = 3 ;
2026-10-03 08:58:59 +00:00
const obj8 = { value , done : true } ;
return obj8 ;
} else {
closure_0 = value . body . stripe_payment_intent_client_secret ;
c5 = 3 ;
c6 = 1 ;
const obj9 = { value : closure_130_10 ( ) , done : false } ;
return obj9 ;
}
} else if ( 3 === c5 ) {
if ( arg0 === 1 ) {
c6 = 3 ;
throw value ;
} else if ( arg0 === 2 ) {
2026-09-10 05:38:07 +00:00
c4 = 0 ;
c6 = 3 ;
2026-10-03 08:58:59 +00:00
const obj10 = { value , done : true } ;
return obj10 ;
2026-09-10 05:38:07 +00:00
} else {
2026-10-03 08:58:59 +00:00
closure_1 = value ;
if ( null == closure_1 ) {
c4 = 0 ;
c6 = 3 ;
const obj11 = { value : { error : "unable to load stripe" } , done : true } ;
return obj11 ;
} else {
c5 = 4 ;
c6 = 1 ;
const obj12 = { value : closure_1.retrievePaymentIntent ( closure_0 ) , done : false } ;
return obj12 ;
2026-07-29 08:29:29 +00:00
}
2026-10-03 08:58:59 +00:00
}
} else if ( 4 === c5 ) {
if ( arg0 === 1 ) {
c6 = 3 ;
throw value ;
} else if ( arg0 === 2 ) {
c4 = 0 ;
c6 = 3 ;
const obj13 = { value , done : true } ;
return obj13 ;
} else {
tmp = value ;
error = tmp . error ;
paymentIntent = tmp . paymentIntent ;
if ( null != error ) {
const obj14 = { error : error.message } ;
c4 = 0 ;
c6 = 3 ;
const obj15 = { value : obj14 , done : true } ;
return obj15 ;
} else if ( null == paymentIntent ) {
c4 = 0 ;
c6 = 3 ;
const obj16 = { value : { error : "payment intent does not exist" } , done : true } ;
return obj16 ;
} else {
closure_5 = { } ;
const tmp11 = paymentIntent . status === closure_130_9 . REQUIRES_PAYMENT_METHOD && null != paymentIntent . last_payment_error && null != paymentIntent . last_payment_error . payment_method ;
if ( tmp11 ) {
closure_5 . payment_method = paymentIntent . last_payment_error . payment_method . id ;
}
const status = paymentIntent . status ;
if ( closure_130_9 . REQUIRES_PAYMENT_METHOD !== status ) {
if ( closure_130_9 . REQUIRES_CONFIRMATION !== status ) {
if ( closure_130_9 . REQUIRES_ACTION !== status ) {
if ( closure_130_9 . SUCCEEDED !== status ) {
if ( closure_130_9 . PROCESSING !== status ) {
const CANCELED = closure_130_9 . CANCELED ;
const obj17 = { error : "Invalid Payment Intent status: " + paymentIntent . status } ;
const _HermesInternal = HermesInternal ;
c4 = 0 ;
c6 = 3 ;
const obj18 = { value : obj17 , done : true } ;
return obj18 ;
}
2026-07-29 08:29:29 +00:00
}
2026-10-03 08:58:59 +00:00
c4 = 0 ;
c6 = 3 ;
const obj19 = { value : { } , done : true } ;
return obj19 ;
2026-07-29 08:29:29 +00:00
}
}
2026-07-20 16:05:17 +00:00
}
2026-10-03 08:58:59 +00:00
c5 = 5 ;
c6 = 1 ;
const obj20 = { value : closure_1.confirmCardPayment ( closure_0 , closure_5 ) , done : false } ;
return obj20 ;
2026-07-20 16:05:17 +00:00
}
}
2026-10-03 08:58:59 +00:00
} else if ( arg0 === 1 ) {
c6 = 3 ;
throw value ;
} else if ( arg0 === 2 ) {
c4 = 0 ;
c6 = 3 ;
const obj21 = { value , done : true } ;
return obj21 ;
} else {
error = value . error ;
if ( null != error ) {
const obj22 = { error : error.message } ;
value = obj22 ;
} else {
value = { } ;
}
c4 = 0 ;
c6 = 3 ;
const obj23 = { value , done : true } ;
return obj23 ;
2026-07-20 16:05:17 +00:00
}
2026-10-03 08:58:59 +00:00
} catch ( tmp43 ) {
message = tmp43 ;
if ( 0 === c4 ) {
c6 = 3 ;
throw tmp43 ;
} else {
c5 = 1 ;
2026-09-10 05:38:07 +00:00
}
}
}
2026-10-03 08:58:59 +00:00
} ) ;
return obj ( . . . arguments ) ;
2026-09-10 05:38:07 +00:00
} ;
2026-10-03 08:58:59 +00:00
( { Endpoints : metroRequire , PaymentSettings : metroImportDefault } = Constants ) ;
let tmp3 = new LoggerDefault ( "StripeUtils" ) ;
const logger = tmp3 ;
2026-07-20 16:05:17 +00:00
let closure_9 = { REQUIRES_PAYMENT_METHOD : "requires_payment_method" , REQUIRES_CONFIRMATION : "requires_confirmation" , REQUIRES_ACTION : "requires_action" , PROCESSING : "processing" , CANCELED : "canceled" , SUCCEEDED : "succeeded" } ;
2026-07-29 08:29:29 +00:00
let closure_12 = { "en-US" : "en" , "zh-CN" : "zh" , "sv-SE" : "sv" } ;
2026-10-03 08:58:59 +00:00
let tmp4 = ReactCompilerGating . isReactCompilerEnabled ( ) ? ( ( ) = > {
let tmp4 ;
let tmp5 ;
let tmp = require ;
obj = react ;
const cResult = obj . c ( 2 ) ;
if ( cResult [ 0 ] === Symbol . for ( "react.memo_cache_sentinel" ) ) {
const items = [ LocaleStore ] ;
const fn = function t() {
locale = locale . locale ;
let tmp = closure_1_12 [ locale ] ;
if ( tmp == null ) {
tmp = locale ;
}
return tmp ;
} ;
cResult [ 0 ] = items ;
cResult [ 1 ] = fn ;
tmp4 = items ;
tmp5 = fn ;
} else {
[ tmp4 , tmp5 ] = cResult ;
}
const tmpResult = get_initialized ;
return tmpResult . useStateFromStores ( tmp4 , tmp5 ) ;
} ) : ( ( ) = > {
const items = [ LocaleStore ] ;
obj = get_initialized ;
return obj . useStateFromStores ( items , ( ) = > {
locale = locale . locale ;
let tmp = closure_1_12 [ locale ] ;
if ( tmp == null ) {
tmp = locale ;
}
return tmp ;
} ) ;
} ) ;
function getStripeElementLocale ( arg0 ) {
let tmp = closure_12 [ arg0 ] ;
if ( tmp == null ) {
tmp = arg0 ;
}
return tmp ;
}
2026-09-10 05:38:07 +00:00
const result = size . fileFinishedImporting ( "utils/StripeUtils.tsx" ) ;
2026-07-20 16:05:17 +00:00
export const validateExpiry = function validateExpiry ( arg0 ) {
2026-10-03 08:58:59 +00:00
let tmp4 ;
let tmp5 ;
function parseExpString ( str ) {
let items1 ;
let tmp5 ;
let tmp6 ;
let closure_0 = str ;
const parts = str . split ( /[.\-/\s]+/g ) ;
if ( 2 !== parts . length ) {
let _HermesInternal = HermesInternal ;
let str3 = "You passed an invalid expiration date " ;
let combined = "You passed an invalid expiration date " + str + "" + "Please pass a string containing a numeric month and year such as `01-17` or `2015 / 05`" ;
}
const mapped = parts . map ( ( item ) = > {
const parsed = parseInt ( item ) ;
if ( isNaN ( parsed ) ) {
const _HermesInternal = HermesInternal ;
let str3 = "" + parts + " is not a number." ;
const tmp3 = closure_0 ;
if ( str3 == null ) {
str3 = "" ;
2026-07-29 08:29:29 +00:00
}
2026-10-03 08:58:59 +00:00
const _HermesInternal2 = HermesInternal ;
const combined = "You passed an invalid expiration date " + tmp3 + str3 + "Please pass a string containing a numeric month and year such as `01-17` or `2015 / 05`" ;
2026-07-20 16:05:17 +00:00
}
2026-10-03 08:58:59 +00:00
if ( parsed < 1 ) {
const _HermesInternal3 = HermesInternal ;
const combined1 = "" + parsed + " is less than one." ;
let str8 = combined1 ;
const tmp7 = closure_0 ;
if ( combined1 == null ) {
str8 = "" ;
2026-07-29 08:29:29 +00:00
}
2026-10-03 08:58:59 +00:00
const _HermesInternal4 = HermesInternal ;
const combined2 = "You passed an invalid expiration date " + tmp7 + str8 + "Please pass a string containing a numeric month and year such as `01-17` or `2015 / 05`" ;
2026-07-20 16:05:17 +00:00
}
2026-10-03 08:58:59 +00:00
return parsed ;
} ) ;
if ( mapped [ 0 ] > 12 ) {
const items = [ , ] ;
[ arr3 [ 1 ] , arr3 [ 0 ] ] = mapped ;
items1 = items ;
} else {
items1 = [ , ] ;
[ arr2 [ 0 ] , arr2 [ 1 ] ] = mapped ;
}
[ tmp5 , tmp6 ] = _slicedToArray ( items1 , 2 ) ;
const tmp4 = _slicedToArray ( items1 , 2 ) ;
if ( tmp5 > 12 ) {
let tmp7 = globalThis ;
let _HermesInternal2 = HermesInternal ;
let str6 = "Month must be a number 1-12, not " + tmp5 + "." ;
if ( str6 == null ) {
str6 = "" ;
2026-07-29 08:29:29 +00:00
}
2026-10-03 08:58:59 +00:00
let _HermesInternal3 = HermesInternal ;
let str8 = "You passed an invalid expiration date " ;
let combined1 = "You passed an invalid expiration date " + str + str6 + "Please pass a string containing a numeric month and year such as `01-17` or `2015 / 05`" ;
}
let sum = tmp6 ;
if ( tmp6 < 100 ) {
sum = tmp6 + 2000 ;
}
const items2 = [ tmp5 , sum ] ;
return items2 ;
}
try {
let tmp3 = _slicedToArray ( parseExpString ( arg0 ) , 2 ) ;
[ tmp4 , tmp5 ] = tmp3 ;
const tmp6 = globalThis ;
2026-07-29 08:29:29 +00:00
const _Date = Date ;
2026-10-03 08:58:59 +00:00
let tmp7 = tmp5 ;
const self = this ;
const self2 = this ;
2026-07-29 08:29:29 +00:00
const date = new Date ( tmp5 , tmp4 ) ;
const _Date2 = Date ;
2026-10-03 08:58:59 +00:00
const self3 = this ;
const self4 = this ;
2026-07-29 08:29:29 +00:00
const date1 = new Date ( ) ;
date . setMonth ( date . getMonth ( ) - 1 ) ;
date . setMonth ( date . getMonth ( ) + 1 , 1 ) ;
return date > date1 ;
} catch ( err ) {
return false ;
}
2026-07-20 16:05:17 +00:00
} ;
export { getStripe } ;
export const getStripeClientMode = function getStripeClientMode() {
2026-10-03 08:58:59 +00:00
let str2 ;
if ( null == metroImportDefault . STRIPE . KEY ) {
logger . warn ( "getStripeClientMode() called before PaymentSettings.STRIPE.KEY initialized: " , metroImportDefault . STRIPE . KEY ) ;
str2 = "unknown" ;
2026-07-20 16:05:17 +00:00
} else {
2026-07-29 08:29:29 +00:00
const KEY = tmp . STRIPE . KEY ;
str2 = "live" ;
if ( ! KEY . startsWith ( "pk_live" ) ) {
const KEY2 = tmp . STRIPE . KEY ;
let str4 = "test" ;
if ( ! KEY2 . startsWith ( "pk_test" ) ) {
2026-10-03 08:58:59 +00:00
logger . warn ( "Unexpected value for Stripe public key: " , metroImportDefault . STRIPE . KEY ) ;
2026-07-29 08:29:29 +00:00
str4 = "unknown" ;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
str2 = str4 ;
2026-07-20 16:05:17 +00:00
}
}
2026-07-29 08:29:29 +00:00
return str2 ;
2026-07-20 16:05:17 +00:00
} ;
export const parseStripePaymentMethod = function parseStripePaymentMethod ( billing_details ) {
2026-10-03 08:58:59 +00:00
let str2 ;
let str3 ;
let str4 ;
let str5 ;
let str6 ;
let str7 ;
2026-07-20 16:05:17 +00:00
billing_details = billing_details . billing_details ;
let address = billing_details . address ;
2026-07-29 08:29:29 +00:00
if ( address == null ) {
2026-07-20 16:05:17 +00:00
address = { } ;
}
2026-07-29 08:29:29 +00:00
let str = billing_details . name ;
if ( str == null ) {
str = "" ;
2026-07-20 16:05:17 +00:00
}
2026-10-03 08:58:59 +00:00
const billingAddressInfo = { name : str , line1 : str2 , line2 : str3 , city : str4 , state : str5 , country : str6 , postalCode : str7 } ;
str2 = address . line1 ;
2026-07-29 08:29:29 +00:00
if ( str2 == null ) {
str2 = "" ;
2026-07-20 16:05:17 +00:00
}
2026-10-03 08:58:59 +00:00
str3 = address . line2 ;
2026-07-29 08:29:29 +00:00
if ( str3 == null ) {
str3 = "" ;
2026-07-20 16:05:17 +00:00
}
2026-10-03 08:58:59 +00:00
str4 = address . city ;
2026-07-29 08:29:29 +00:00
if ( str4 == null ) {
str4 = "" ;
2026-07-20 16:05:17 +00:00
}
2026-10-03 08:58:59 +00:00
str5 = address . state ;
2026-07-29 08:29:29 +00:00
if ( str5 == null ) {
str5 = "" ;
2026-07-20 16:05:17 +00:00
}
2026-10-03 08:58:59 +00:00
str6 = address . country ;
2026-07-29 08:29:29 +00:00
if ( str6 == null ) {
str6 = "" ;
2026-07-20 16:05:17 +00:00
}
2026-10-03 08:58:59 +00:00
str7 = address . postal_code ;
2026-07-29 08:29:29 +00:00
if ( str7 == null ) {
str7 = "" ;
2026-07-20 16:05:17 +00:00
}
2026-10-03 08:58:59 +00:00
return { token : billing_details.id , billingAddressInfo } ;
2026-07-20 16:05:17 +00:00
} ;
2026-09-10 05:38:07 +00:00
export const parseBillingAddressInfoToStripeBillingDetails = function parseBillingAddressInfoToStripeBillingDetails ( name ) {
return { name : name.name , address : { line1 : name.line1 , line2 : name.line2 , city : name.city , state : name.state , postal_code : name.postalCode , country : name.country } } ;
2026-07-20 16:05:17 +00:00
} ;
export const authenticatePaymentIntentForPaymentId = function authenticatePaymentIntentForPaymentId() {
2026-10-03 08:58:59 +00:00
return obj ( . . . arguments ) ;
2026-07-20 16:05:17 +00:00
} ;
2026-10-03 08:58:59 +00:00
export { getStripeElementLocale } ;
export const useStripeLocale = tmp4 ;