Merge branch 'dev' into test

This commit is contained in:
2026-06-22 16:35:23 +08:00
2 changed files with 44 additions and 1 deletions
@@ -134,13 +134,17 @@ export function SubscriptionCheckoutButton({
function getPaymentUrl(payParams: Record<string, unknown>): string | null { function getPaymentUrl(payParams: Record<string, unknown>): string | null {
const keys = [ const keys = [
"url", "cashierUrl",
"cashier_url",
"checkoutUrl", "checkoutUrl",
"checkout_url", "checkout_url",
"paymentUrl", "paymentUrl",
"payment_url", "payment_url",
"approvalUrl",
"approval_url",
"redirectUrl", "redirectUrl",
"redirect_url", "redirect_url",
"url",
]; ];
for (const key of keys) { for (const key of keys) {
@@ -3,9 +3,48 @@
*/ */
import { z } from "zod"; import { z } from "zod";
const paymentUrlKeys = [
"cashierUrl",
"cashier_url",
"checkoutUrl",
"checkout_url",
"paymentUrl",
"payment_url",
"approvalUrl",
"approval_url",
"redirectUrl",
"redirect_url",
"url",
] as const;
export const CreatePaymentOrderResponseSchema = z.object({ export const CreatePaymentOrderResponseSchema = z.object({
orderId: z.string(), orderId: z.string(),
payParams: z.record(z.string(), z.unknown()), payParams: z.record(z.string(), z.unknown()),
cashierUrl: z.string().optional(),
cashier_url: z.string().optional(),
checkoutUrl: z.string().optional(),
checkout_url: z.string().optional(),
paymentUrl: z.string().optional(),
payment_url: z.string().optional(),
approvalUrl: z.string().optional(),
approval_url: z.string().optional(),
redirectUrl: z.string().optional(),
redirect_url: z.string().optional(),
url: z.string().optional(),
}).transform((data) => {
const payParams = { ...data.payParams };
for (const key of paymentUrlKeys) {
const value = data[key];
if (typeof value === "string" && value.length > 0 && !(key in payParams)) {
payParams[key] = value;
}
}
return {
orderId: data.orderId,
payParams,
};
}); });
export type CreatePaymentOrderResponseInput = z.input< export type CreatePaymentOrderResponseInput = z.input<