2
0

(payment) Improve payment input amount label format

Closes #553
This commit is contained in:
Baptiste Arnaud
2023-06-09 10:44:23 +02:00
parent 25524ac622
commit 290b491e53

View File

@@ -70,15 +70,23 @@ const createStripePaymentIntent =
message: 'Could not create payment intent',
})
const priceFormatter = new Intl.NumberFormat(
options.currency === 'EUR' ? 'fr-FR' : undefined,
{
style: 'currency',
currency: options.currency,
}
)
return {
paymentIntentSecret: paymentIntent.client_secret,
publicKey:
isPreview && stripeKeys.test?.publicKey
? stripeKeys.test.publicKey
: stripeKeys.live.publicKey,
amountLabel: `${
amountLabel: priceFormatter.format(
amount / (isZeroDecimalCurrency(options.currency) ? 1 : 100)
}${currencySymbols[options.currency] ?? ` ${options.currency}`}`,
),
}
}
@@ -115,21 +123,3 @@ const isZeroDecimalCurrency = (currency: string) =>
'XOF',
'XPF',
].includes(currency)
const currencySymbols: { [key: string]: string } = {
USD: '$',
EUR: '€',
CRC: '₡',
GBP: '£',
ILS: '₪',
INR: '₹',
JPY: '¥',
KRW: '₩',
NGN: '₦',
PHP: '₱',
PLN: 'zł',
PYG: '₲',
THB: '฿',
UAH: '₴',
VND: '₫',
}