diff --git a/src/app/subscription/components/subscription-payment-method.tsx b/src/app/subscription/components/subscription-payment-method.tsx index caba5efc..4087a4e0 100644 --- a/src/app/subscription/components/subscription-payment-method.tsx +++ b/src/app/subscription/components/subscription-payment-method.tsx @@ -24,6 +24,7 @@ const PAYMENT_METHODS: Array<{ export interface SubscriptionPaymentMethodProps { value: PayChannel; + defaultChannel?: PayChannel; disabled?: boolean; caption?: string; onChange: (channel: PayChannel) => void; @@ -31,10 +32,18 @@ export interface SubscriptionPaymentMethodProps { export function SubscriptionPaymentMethod({ value, + defaultChannel = "stripe", disabled = false, caption = "Stripe by default", onChange, }: SubscriptionPaymentMethodProps) { + const paymentMethods = + defaultChannel === "ezpay" + ? [...PAYMENT_METHODS].sort((a, b) => + a.channel === "ezpay" ? -1 : b.channel === "ezpay" ? 1 : 0, + ) + : PAYMENT_METHODS; + return (
@@ -44,7 +53,7 @@ export function SubscriptionPaymentMethod({ {caption}
- {PAYMENT_METHODS.map((method) => { + {paymentMethods.map((method) => { const selected = method.channel === value; const classes = [ styles.option, diff --git a/src/app/subscription/subscription-screen.tsx b/src/app/subscription/subscription-screen.tsx index 8c078a66..7f81ed11 100644 --- a/src/app/subscription/subscription-screen.tsx +++ b/src/app/subscription/subscription-screen.tsx @@ -211,6 +211,7 @@ export function SubscriptionScreen({
{