fix(payment): allow renewing active subscriptions

This commit is contained in:
2026-06-22 18:48:21 +08:00
parent 2cfbaba058
commit 9a3c8f0d12
3 changed files with 92 additions and 35 deletions
+31
View File
@@ -270,6 +270,37 @@ export const paymentMachine = setup({
paid: {
on: {
PaymentPlanSelected: {
target: "ready",
actions: assign(({ event }) => ({
...resetOrderState(),
selectedPlanId: event.planId,
autoRenew: defaultAutoRenewForPlan(event.planId),
})),
},
PaymentPayChannelChanged: {
target: "ready",
actions: assign(({ event }) => ({
...resetOrderState(),
payChannel: event.payChannel,
errorMessage: null,
})),
},
PaymentCreateOrderSubmitted: [
{
guard: ({ context }) =>
context.agreed && context.selectedPlanId.length > 0,
target: "creatingOrder",
actions: assign(resetOrderState),
},
{
target: "ready",
actions: assign({
errorMessage:
"Choose a plan and accept the agreement before continuing.",
}),
},
],
PaymentReset: {
target: "ready",
actions: assign(resetOrderState),