fix(payment): allow new orders after paid state

This commit is contained in:
2026-06-22 18:00:54 +08:00
parent dd95dd8a26
commit c6b65f0b3a
+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),