diff --git a/apps/admin/app/dashboard/payment/alipayf2f.tsx b/apps/admin/app/dashboard/payment/alipayf2f.tsx
deleted file mode 100644
index 51c5849..0000000
--- a/apps/admin/app/dashboard/payment/alipayf2f.tsx
+++ /dev/null
@@ -1,256 +0,0 @@
-'use client';
-
-import { getAlipayF2FPaymentConfig, updateAlipayF2FPaymentConfig } from '@/services/admin/payment';
-import { useQuery } from '@tanstack/react-query';
-import { Label } from '@workspace/ui/components/label';
-import {
- Select,
- SelectContent,
- SelectGroup,
- SelectItem,
- SelectTrigger,
- SelectValue,
-} from '@workspace/ui/components/select';
-import { Switch } from '@workspace/ui/components/switch';
-import { Table, TableBody, TableCell, TableRow } from '@workspace/ui/components/table';
-import { Textarea } from '@workspace/ui/components/textarea';
-import { EnhancedInput } from '@workspace/ui/custom-components/enhanced-input';
-import { unitConversion } from '@workspace/ui/utils';
-import { useTranslations } from 'next-intl';
-import { toast } from 'sonner';
-
-export default function AlipayF2F() {
- const t = useTranslations('payment');
-
- const { data, refetch } = useQuery({
- queryKey: ['getAlipayF2FPaymentConfig'],
- queryFn: async () => {
- const { data } = await getAlipayF2FPaymentConfig();
-
- return data.data;
- },
- });
-
- async function updateConfig(key: string, value: unknown) {
- if (data?.[key] === value) return;
- try {
- await updateAlipayF2FPaymentConfig({
- ...data,
- [key]: value,
- } as API.UpdateAlipayF2fRequest);
- toast.success(t('saveSuccess'));
- refetch();
- } catch (error) {
- /* empty */
- }
- }
-
- return (
-
-
-
-
-
- {t('enableDescription')}
-
-
- {
- updateConfig('enable', checked);
- }}
- />
-
-
-
-
-
- {t('alipayf2f.sandboxDescription')}
-
-
- {
- updateConfig('config', {
- ...data?.config,
- sandbox: checked,
- });
- }}
- />
-
-
-
-
-
- {t('showNameDescription')}
-
-
- updateConfig('name', value)}
- />
-
-
-
-
-
- {t('iconUrlDescription')}
-
-
- updateConfig('icon', value)}
- />
-
-
-
-
-
- {t('notifyUrlDescription')}
-
-
- updateConfig('domain', value)}
- />
-
-
-
-
-
- {t('feeModeDescription')}
-
-
-
-
-
-
-
-
- {t('feePercentDescription')}
-
-
- updateConfig('fee_percent', value)}
- suffix='%'
- />
-
-
-
-
-
- {t('fixedFeeDescription')}
-
-
- unitConversion('centsToDollars', value)}
- formatOutput={(value) => unitConversion('dollarsToCents', value)}
- onValueBlur={(value) => updateConfig('fee_amount', value)}
- />
-
-
-
-
-
-
-
-
-
- updateConfig('config', {
- ...data?.config,
- app_id: value,
- })
- }
- />
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- updateConfig('config', {
- ...data?.config,
- invoice_name: value,
- })
- }
- />
-
-
-
-
- );
-}
diff --git a/apps/admin/app/dashboard/payment/epay.tsx b/apps/admin/app/dashboard/payment/epay.tsx
deleted file mode 100644
index bcd1528..0000000
--- a/apps/admin/app/dashboard/payment/epay.tsx
+++ /dev/null
@@ -1,221 +0,0 @@
-'use client';
-
-import { getEpayPaymentConfig, updateEpayPaymentConfig } from '@/services/admin/payment';
-import { useQuery } from '@tanstack/react-query';
-import { Label } from '@workspace/ui/components/label';
-import {
- Select,
- SelectContent,
- SelectGroup,
- SelectItem,
- SelectTrigger,
- SelectValue,
-} from '@workspace/ui/components/select';
-import { Switch } from '@workspace/ui/components/switch';
-import { Table, TableBody, TableCell, TableRow } from '@workspace/ui/components/table';
-import { EnhancedInput } from '@workspace/ui/custom-components/enhanced-input';
-import { unitConversion } from '@workspace/ui/utils';
-import { useTranslations } from 'next-intl';
-import { toast } from 'sonner';
-
-export default function Epay() {
- const t = useTranslations('payment');
-
- const { data, refetch } = useQuery({
- queryKey: ['getEpayPaymentConfig'],
- queryFn: async () => {
- const { data } = await getEpayPaymentConfig();
-
- return data.data;
- },
- });
-
- async function updateConfig(key: string, value: unknown) {
- if (data?.[key] === value) return;
- try {
- await updateEpayPaymentConfig({
- ...data,
- [key]: value,
- } as API.UpdateEpayRequest);
- toast.success(t('saveSuccess'));
- refetch();
- } catch (error) {
- /* empty */
- }
- }
-
- return (
-
-
-
-
-
- {t('enableDescription')}
-
-
- {
- updateConfig('enable', checked);
- }}
- />
-
-
-
-
-
- {t('showNameDescription')}
-
-
- updateConfig('name', value)}
- />
-
-
-
-
-
- {t('iconUrlDescription')}
-
-
- updateConfig('icon', value)}
- />
-
-
-
-
-
- {t('notifyUrlDescription')}
-
-
- updateConfig('domain', value)}
- />
-
-
-
-
-
- {t('feeModeDescription')}
-
-
-
-
-
-
-
-
- {t('feePercentDescription')}
-
-
- updateConfig('fee_percent', value)}
- suffix='%'
- />
-
-
-
-
-
- {t('fixedFeeDescription')}
-
-
- unitConversion('centsToDollars', value)}
- formatOutput={(value) => unitConversion('dollarsToCents', value)}
- onValueBlur={(value) => updateConfig('fee_amount', value)}
- />
-
-
-
-
-
-
-
-
-
- updateConfig('config', {
- ...data?.config,
- url: value,
- })
- }
- />
-
-
-
-
-
-
-
-
-
- updateConfig('config', {
- ...data?.config,
- pid: value,
- })
- }
- />
-
-
-
-
-
-
-
-
-
- updateConfig('config', {
- ...data?.config,
- key: value,
- })
- }
- />
-
-
-
-
- );
-}
diff --git a/apps/admin/app/dashboard/payment/page.tsx b/apps/admin/app/dashboard/payment/page.tsx
index 9e5b5cc..a9c00d3 100644
--- a/apps/admin/app/dashboard/payment/page.tsx
+++ b/apps/admin/app/dashboard/payment/page.tsx
@@ -1,34 +1,11 @@
import Billing from '@/components/billing';
-import { Tabs, TabsContent, TabsList, TabsTrigger } from '@workspace/ui/components/tabs';
-import AlipayF2F from './alipayf2f';
-import Epay from './epay';
-import StripeAlipay from './stripe-alipay';
-import StripeWeChatPay from './stripe-wechat-pay';
+import PaymentTable from './payment-table';
export default async function Page() {
return (
<>
-
-
- Epay
- Stripe(AliPay)
- Stripe(WeChatPay)
- AlipayF2F
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
>
diff --git a/apps/admin/app/dashboard/payment/payment-form.tsx b/apps/admin/app/dashboard/payment/payment-form.tsx
new file mode 100644
index 0000000..487fe97
--- /dev/null
+++ b/apps/admin/app/dashboard/payment/payment-form.tsx
@@ -0,0 +1,396 @@
+'use client';
+
+import useGlobalStore from '@/config/use-global';
+import { getPaymentPlatform } from '@/services/admin/payment';
+import { zodResolver } from '@hookform/resolvers/zod';
+import { useQuery } from '@tanstack/react-query';
+import { Button } from '@workspace/ui/components/button';
+import {
+ Form,
+ FormControl,
+ FormField,
+ FormItem,
+ FormLabel,
+ FormMessage,
+} from '@workspace/ui/components/form';
+import { RadioGroup, RadioGroupItem } from '@workspace/ui/components/radio-group';
+import { ScrollArea } from '@workspace/ui/components/scroll-area';
+import {
+ Select,
+ SelectContent,
+ SelectItem,
+ SelectTrigger,
+ SelectValue,
+} from '@workspace/ui/components/select';
+import {
+ Sheet,
+ SheetContent,
+ SheetFooter,
+ SheetHeader,
+ SheetTitle,
+ SheetTrigger,
+} from '@workspace/ui/components/sheet';
+import { EnhancedInput } from '@workspace/ui/custom-components/enhanced-input';
+import { Icon } from '@workspace/ui/custom-components/icon';
+import { unitConversion } from '@workspace/ui/utils';
+import { useTranslations } from 'next-intl';
+import { useEffect, useState } from 'react';
+import { useForm } from 'react-hook-form';
+import * as z from 'zod';
+
+interface PaymentFormProps
{
+ trigger: React.ReactNode;
+ title: string;
+ loading?: boolean;
+ initialValues?: T;
+ onSubmit: (values: T) => Promise;
+}
+
+export default function PaymentForm({
+ trigger,
+ title,
+ loading,
+ initialValues,
+ onSubmit,
+}: PaymentFormProps) {
+ const t = useTranslations('payment');
+ const { common } = useGlobalStore();
+ const { currency } = common;
+ const [open, setOpen] = useState(false);
+
+ const { data: platformData } = useQuery({
+ queryKey: ['getPaymentPlatform'],
+ queryFn: async () => {
+ const { data } = await getPaymentPlatform();
+ return data?.data?.list || [];
+ },
+ });
+
+ const formSchema = z.object({
+ name: z.string().min(1, { message: t('nameRequired') }),
+ platform: z.string().optional(),
+ icon: z.string().optional(),
+ domain: z.string().optional(),
+ config: z.any(),
+ fee_mode: z.coerce.number().min(0).max(2),
+ fee_percent: z.coerce.number().optional(),
+ fee_amount: z.coerce.number().optional(),
+ });
+
+ const form = useForm>({
+ resolver: zodResolver(formSchema),
+ defaultValues: {
+ name: '',
+ platform: '',
+ icon: '',
+ domain: '',
+ config: {},
+ fee_mode: 0,
+ fee_percent: 0,
+ fee_amount: 0,
+ ...(initialValues as any),
+ },
+ });
+
+ const feeMode = form.watch('fee_mode');
+ const platformValue = form.watch('platform');
+ const configValues = form.watch('config');
+
+ const currentPlatform = platformData?.find((p) => p.platform === platformValue);
+ const currentFieldDescriptions = currentPlatform?.platform_field_description || {};
+ const configFields = Object.keys(currentFieldDescriptions) || [];
+ const platformUrl = currentPlatform?.platform_url || '';
+
+ useEffect(() => {
+ if (feeMode === 0) {
+ form.setValue('fee_amount', 0);
+ form.setValue('fee_percent', 0);
+ } else if (feeMode === 1) {
+ form.setValue('fee_amount', 0);
+ } else if (feeMode === 2) {
+ form.setValue('fee_percent', 0);
+ }
+ }, [feeMode, form]);
+
+ const handleClose = () => {
+ form.reset();
+ setOpen(false);
+ };
+
+ const handleSubmit = async (values: z.infer) => {
+ const cleanedValues = { ...values };
+
+ if (values.fee_mode === 0) {
+ cleanedValues.fee_amount = undefined;
+ cleanedValues.fee_percent = undefined;
+ } else if (values.fee_mode === 1) {
+ cleanedValues.fee_amount = undefined;
+ } else if (values.fee_mode === 2) {
+ cleanedValues.fee_percent = undefined;
+ }
+
+ const success = await onSubmit(cleanedValues as unknown as T);
+ if (success) {
+ handleClose();
+ }
+ };
+
+ const openPlatformUrl = () => {
+ if (platformUrl) {
+ window.open(platformUrl, '_blank');
+ }
+ };
+
+ return (
+
+ {trigger}
+
+
+ {title}
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+}
diff --git a/apps/admin/app/dashboard/payment/payment-table.tsx b/apps/admin/app/dashboard/payment/payment-table.tsx
new file mode 100644
index 0000000..40f6bbb
--- /dev/null
+++ b/apps/admin/app/dashboard/payment/payment-table.tsx
@@ -0,0 +1,226 @@
+'use client';
+
+import { Display } from '@/components/display';
+import { ProTable, ProTableActions } from '@/components/pro-table';
+import {
+ createPaymentMethod,
+ deletePaymentMethod,
+ getPaymentMethodList,
+ updatePaymentMethod,
+} from '@/services/admin/payment';
+import { Avatar, AvatarFallback, AvatarImage } from '@workspace/ui/components/avatar';
+import { Badge } from '@workspace/ui/components/badge';
+import { Button } from '@workspace/ui/components/button';
+import { Switch } from '@workspace/ui/components/switch';
+import { ConfirmButton } from '@workspace/ui/custom-components/confirm-button';
+import { useTranslations } from 'next-intl';
+import { useRef, useState } from 'react';
+import { toast } from 'sonner';
+import PaymentForm from './payment-form';
+
+export default function PaymentTable() {
+ const t = useTranslations('payment');
+ const [loading, setLoading] = useState(false);
+ const ref = useRef(null);
+
+ return (
+
+ action={ref}
+ header={{
+ title: t('paymentManagement'),
+ toolbar: (
+
+ trigger={}
+ title={t('createPayment')}
+ loading={loading}
+ onSubmit={async (values) => {
+ setLoading(true);
+ try {
+ await createPaymentMethod({
+ ...values,
+ enable: false,
+ });
+ toast.success(t('createSuccess'));
+ ref.current?.refresh();
+ setLoading(false);
+ return true;
+ } catch (error) {
+ setLoading(false);
+ return false;
+ }
+ }}
+ />
+ ),
+ }}
+ columns={[
+ {
+ accessorKey: 'enable',
+ header: t('enable'),
+ cell: ({ row }) => {
+ return (
+ {
+ await updatePaymentMethod({
+ ...row.original,
+ enable: checked,
+ });
+ ref.current?.refresh();
+ }}
+ />
+ );
+ },
+ },
+ {
+ accessorKey: 'icon',
+ header: t('icon'),
+ cell: ({ row }) => {
+ const icon = row.getValue('icon') as string;
+ return (
+
+ {icon ? : null}
+
+ {(row.getValue('name') as string)?.charAt(0) || '?'}
+
+
+ );
+ },
+ },
+ {
+ accessorKey: 'name',
+ header: t('name'),
+ },
+ {
+ accessorKey: 'platform',
+ header: t('platform'),
+ cell: ({ row }) => {t(row.getValue('platform'))},
+ },
+ {
+ accessorKey: 'domain',
+ header: t('domain'),
+ cell: ({ row }) => {
+ const domain = row.getValue('domain') as string;
+ return domain ? {domain} : '--';
+ },
+ },
+ {
+ accessorKey: 'fee',
+ header: t('handlingFee'),
+ cell: ({ row }) => {
+ const feeMode = row.original.fee_mode;
+ if (feeMode === 1) {
+ return {row.original.fee_percent}%;
+ } else if (feeMode === 2) {
+ return (
+
+
+
+ );
+ }
+ return '--';
+ },
+ },
+ ]}
+ params={[
+ {
+ key: 'search',
+ placeholder: t('searchPlaceholder'),
+ },
+ ]}
+ request={async (pagination, filter) => {
+ const { data } = await getPaymentMethodList({
+ ...pagination,
+ ...filter,
+ });
+ return {
+ list: data?.data?.list || [],
+ total: data?.data?.total || 0,
+ };
+ }}
+ actions={{
+ render: (row) => [
+
+ key='edit'
+ trigger={}
+ title={t('editPayment')}
+ loading={loading}
+ initialValues={row}
+ onSubmit={async (values) => {
+ setLoading(true);
+ try {
+ await updatePaymentMethod({
+ ...values,
+ id: row.id,
+ });
+ toast.success(t('updateSuccess'));
+ ref.current?.refresh();
+ setLoading(false);
+ return true;
+ } catch (error) {
+ setLoading(false);
+ return false;
+ }
+ }}
+ />,
+ {t('delete')}}
+ title={t('confirmDelete')}
+ description={t('deleteWarning')}
+ onConfirm={async () => {
+ await deletePaymentMethod({
+ id: row.id,
+ });
+ toast.success(t('deleteSuccess'));
+ ref.current?.refresh();
+ }}
+ cancelText={t('cancel')}
+ confirmText={t('confirm')}
+ />,
+ ,
+ ],
+ batchRender(rows) {
+ return [
+ {t('batchDelete')}}
+ title={t('confirmDelete')}
+ description={t('deleteWarning')}
+ onConfirm={async () => {
+ for (const row of rows) {
+ await deletePaymentMethod({ id: row.id });
+ }
+ toast.success(t('deleteSuccess'));
+ ref.current?.refresh();
+ }}
+ cancelText={t('cancel')}
+ confirmText={t('confirm')}
+ />,
+ ];
+ },
+ }}
+ />
+ );
+}
diff --git a/apps/admin/app/dashboard/payment/stripe-alipay.tsx b/apps/admin/app/dashboard/payment/stripe-alipay.tsx
deleted file mode 100644
index 45de674..0000000
--- a/apps/admin/app/dashboard/payment/stripe-alipay.tsx
+++ /dev/null
@@ -1,232 +0,0 @@
-'use client';
-
-import {
- getStripeAlipayPaymentConfig,
- updateStripeAlipayPaymentConfig,
-} from '@/services/admin/payment';
-import { useQuery } from '@tanstack/react-query';
-import { Label } from '@workspace/ui/components/label';
-import {
- Select,
- SelectContent,
- SelectGroup,
- SelectItem,
- SelectTrigger,
- SelectValue,
-} from '@workspace/ui/components/select';
-import { Switch } from '@workspace/ui/components/switch';
-import { Table, TableBody, TableCell, TableRow } from '@workspace/ui/components/table';
-import { EnhancedInput } from '@workspace/ui/custom-components/enhanced-input';
-import { unitConversion } from '@workspace/ui/utils';
-import { useTranslations } from 'next-intl';
-import { toast } from 'sonner';
-
-export default function Stripe() {
- const t = useTranslations('payment');
-
- const { data, refetch } = useQuery({
- queryKey: ['getStripeAlipayPaymentConfig'],
- queryFn: async () => {
- const { data } = await getStripeAlipayPaymentConfig();
- return data.data;
- },
- });
-
- async function updateConfig(key: string, value: unknown) {
- if (data?.[key] === value) return;
- try {
- await updateStripeAlipayPaymentConfig({
- ...data,
- mark: 'stripe_alipay',
- [key]: value,
- } as any);
- toast.success(t('saveSuccess'));
- refetch();
- } catch (error) {
- /* empty */
- }
- }
-
- return (
-
-
-
-
-
- {t('enableDescription')}
-
-
- {
- updateConfig('enable', checked);
- }}
- />
-
-
-
-
-
- {t('showNameDescription')}
-
-
- {
- updateConfig('name', value);
- }}
- />
-
-
-
-
-
- {t('iconUrlDescription')}
-
-
- {
- updateConfig('icon', value);
- }}
- />
-
-
-
-
-
- {t('notifyUrlDescription')}
-
-
- {
- updateConfig('domain', value);
- }}
- />
-
-
-
-
-
- {t('feeModeDescription')}
-
-
-
-
-
-
-
-
- {t('feePercentDescription')}
-
-
- {
- updateConfig('fee_percent', value);
- }}
- suffix='%'
- />
-
-
-
-
-
- {t('fixedFeeDescription')}
-
-
- unitConversion('centsToDollars', value)}
- formatOutput={(value) => unitConversion('dollarsToCents', value)}
- onValueBlur={(value) => updateConfig('fee_amount', value)}
- />
-
-
-
-
-
-
-
-
-
- {
- updateConfig('config', {
- ...data?.config,
- public_key: value,
- });
- }}
- />
-
-
-
-
-
-
-
-
- {
- updateConfig('config', {
- ...data?.config,
- secret_key: value,
- });
- }}
- />
-
-
-
-
-
-
-
-
- {
- updateConfig('config', {
- ...data?.config,
- webhook_secret: value,
- });
- }}
- />
-
-
-
-
- );
-}
diff --git a/apps/admin/app/dashboard/payment/stripe-wechat-pay.tsx b/apps/admin/app/dashboard/payment/stripe-wechat-pay.tsx
deleted file mode 100644
index ce7c088..0000000
--- a/apps/admin/app/dashboard/payment/stripe-wechat-pay.tsx
+++ /dev/null
@@ -1,232 +0,0 @@
-'use client';
-
-import {
- getStripeWeChatPayPaymentConfig,
- updateStripeWeChatPayPaymentConfig,
-} from '@/services/admin/payment';
-import { useQuery } from '@tanstack/react-query';
-import { Label } from '@workspace/ui/components/label';
-import {
- Select,
- SelectContent,
- SelectGroup,
- SelectItem,
- SelectTrigger,
- SelectValue,
-} from '@workspace/ui/components/select';
-import { Switch } from '@workspace/ui/components/switch';
-import { Table, TableBody, TableCell, TableRow } from '@workspace/ui/components/table';
-import { EnhancedInput } from '@workspace/ui/custom-components/enhanced-input';
-import { unitConversion } from '@workspace/ui/utils';
-import { useTranslations } from 'next-intl';
-import { toast } from 'sonner';
-
-export default function StripeWeChatPay() {
- const t = useTranslations('payment');
-
- const { data, refetch } = useQuery({
- queryKey: ['getStripeWeChatPayPaymentConfig'],
- queryFn: async () => {
- const { data } = await getStripeWeChatPayPaymentConfig();
- return data.data;
- },
- });
-
- async function updateConfig(key: string, value: unknown) {
- if (data?.[key] === value) return;
- try {
- await updateStripeWeChatPayPaymentConfig({
- ...data,
- mark: 'stripe_wechat_pay',
- [key]: value,
- } as any);
- toast.success(t('saveSuccess'));
- refetch();
- } catch (error) {
- /* empty */
- }
- }
-
- return (
-
-
-
-
-
- {t('enableDescription')}
-
-
- {
- updateConfig('enable', checked);
- }}
- />
-
-
-
-
-
- {t('showNameDescription')}
-
-
- {
- updateConfig('name', value);
- }}
- />
-
-
-
-
-
- {t('iconUrlDescription')}
-
-
- {
- updateConfig('icon', value);
- }}
- />
-
-
-
-
-
- {t('notifyUrlDescription')}
-
-
- {
- updateConfig('domain', value);
- }}
- />
-
-
-
-
-
- {t('feeModeDescription')}
-
-
-
-
-
-
-
-
- {t('feePercentDescription')}
-
-
- {
- updateConfig('fee_percent', value);
- }}
- suffix='%'
- />
-
-
-
-
-
- {t('fixedFeeDescription')}
-
-
- unitConversion('centsToDollars', value)}
- formatOutput={(value) => unitConversion('dollarsToCents', value)}
- onValueBlur={(value) => updateConfig('fee_amount', value)}
- />
-
-
-
-
-
-
-
-
-
- {
- updateConfig('config', {
- ...data?.config,
- public_key: value,
- });
- }}
- />
-
-
-
-
-
-
-
-
- {
- updateConfig('config', {
- ...data?.config,
- secret_key: value,
- });
- }}
- />
-
-
-
-
-
-
-
-
- {
- updateConfig('config', {
- ...data?.config,
- webhook_secret: value,
- });
- }}
- />
-
-
-
-
- );
-}
diff --git a/apps/admin/locales/cs-CZ/payment.json b/apps/admin/locales/cs-CZ/payment.json
index dd8ae1a..ea07584 100644
--- a/apps/admin/locales/cs-CZ/payment.json
+++ b/apps/admin/locales/cs-CZ/payment.json
@@ -1,44 +1,49 @@
{
- "aliPay": "Platba Alipay",
- "alipayf2f": {
- "appId": "ID aplikace Alipay",
- "invoiceName": "Název vlastního produktu",
- "invoiceNameDescription": "Bude zobrazeno na faktuře Alipay",
- "privateKey": "Soukromý klíč Alipay",
- "publicKey": "Veřejný klíč Alipay",
- "sandbox": "Režim sandbox",
- "sandboxDescription": "Povolte režim sandbox pro testování plateb"
- },
+ "AlipayF2F": "Alipay Osobně",
+ "EPay": "EPay",
+ "Stripe": "Stripe",
+ "applyForPayment": "Žádat o platbu",
+ "balance": "Zůstatek",
+ "batchDelete": "Hromadné smazání",
+ "cancel": "Zrušit",
+ "config": "Nastavení",
+ "configInfo": "Informace o nastavení",
+ "configPlaceholder": "Vyplňte prosím poskytnutou konfiguraci {field}",
+ "confirm": "Potvrdit",
+ "confirmDelete": "Potvrdit smazání",
+ "copy": "Kopírovat",
+ "copySuccess": "Úspěšně zkopírováno",
+ "create": "Přidat platební metodu",
+ "createPayment": "Přidat platební metodu",
+ "createSuccess": "Úspěšně vytvořeno",
+ "delete": "Smazat",
+ "deleteSuccess": "Úspěšně smazáno",
+ "deleteWarning": "Opravdu chcete smazat tuto platební metodu? Tuto akci nelze vrátit zpět.",
+ "domain": "Doména",
+ "domainPlaceholder": "volitelné, např. {example}",
+ "edit": "Upravit",
+ "editPayment": "Upravit platební metodu",
"enable": "Povolit",
- "enableDescription": "Povolit tento způsob platby",
- "epay": {
- "key": "KLÍČ",
- "pid": "PID",
- "url": "URL"
- },
+ "feeAmount": "Pevná částka",
"feeMode": "Způsob účtování",
- "feeModeDescription": "Způsob účtování dodatečných poplatků",
- "feeModeItems": ["Bez poplatku", "Procento", "Pevná částka", "Obojí výše uvedené"],
"feePercent": "Procentuální poplatek (volitelně)",
- "feePercentDescription": "Přidání poplatku k částce objednávky",
"fixedFee": "Pevný poplatek (volitelný)",
- "fixedFeeDescription": "Přidání pevného poplatku k částce objednávky",
- "iconUrl": "URL ikony (volitelné)",
- "iconUrlDescription": "Používá se pro zobrazení na frontendu",
- "inputPlaceholder": "Prosím zadejte",
- "key": "KLÍČ",
- "notifyUrl": "Vlastní oznámení URL (volitelné)",
- "notifyUrlDescription": "Oznámení brány budou odeslána na tuto doménu",
- "payForRecommendations": "Zaplatit za doporučení",
- "pid": "PID",
- "saveSuccess": "Uložení bylo úspěšné",
- "showName": "Zobrazit název",
- "showNameDescription": "Používá se pro zobrazení na frontendu",
- "stripe": {
- "publicKey": "VEŘEJNÝ KLÍČ",
- "secretKey": "TAJNÝ KLÍČ",
- "webhookSecret": "PODPIS WEBHOOK KLÍČE"
- },
- "url": "URL",
- "wechatPay": "WeChat Pay"
+ "handlingFee": "Poplatek za zpracování",
+ "icon": "Ikona",
+ "iconPlaceholder": "Zadejte URL ikony",
+ "mark": "Identifikátor",
+ "markPlaceholder": "Zadejte identifikátor platební metody",
+ "name": "Název",
+ "namePlaceholder": "Zadejte název platební metody",
+ "nameRequired": "Název je povinný",
+ "noFee": "Žádný poplatek",
+ "paymentManagement": "Správa plateb",
+ "percentFee": "Procento",
+ "platform": "Platforma",
+ "searchPlaceholder": "Zadejte hledané výrazy",
+ "selectPlatform": "Vyberte platformu",
+ "selectType": "Vyberte typ platby",
+ "submit": "Odeslat",
+ "type": "Typ",
+ "updateSuccess": "Úspěšně aktualizováno"
}
diff --git a/apps/admin/locales/de-DE/payment.json b/apps/admin/locales/de-DE/payment.json
index db630b2..7729f81 100644
--- a/apps/admin/locales/de-DE/payment.json
+++ b/apps/admin/locales/de-DE/payment.json
@@ -1,44 +1,49 @@
{
- "aliPay": "Alipay-Zahlung",
- "alipayf2f": {
- "appId": "Alipay Anwendungs-ID",
- "invoiceName": "Benutzerdefinierter Produktname",
- "invoiceNameDescription": "Wird in der Alipay-Rechnung angezeigt",
- "privateKey": "Alipay Privatschlüssel",
- "publicKey": "Alipay Öffentlicher Schlüssel",
- "sandbox": "Sandbox-Modus",
- "sandboxDescription": "Aktivieren Sie den Sandbox-Modus, um Zahlungen zu testen"
- },
+ "AlipayF2F": "Alipay Gesicht zu Gesicht",
+ "EPay": "EPay",
+ "Stripe": "Stripe",
+ "applyForPayment": "Zahlung beantragen",
+ "balance": "Guthaben",
+ "batchDelete": "Massenlöschung",
+ "cancel": "Abbrechen",
+ "config": "Konfiguration",
+ "configInfo": "Konfigurationsinformationen",
+ "configPlaceholder": "Bitte füllen Sie die bereitgestellte {field} Konfiguration aus",
+ "confirm": "Bestätigen",
+ "confirmDelete": "Löschen bestätigen",
+ "copy": "Kopieren",
+ "copySuccess": "Erfolgreich kopiert",
+ "create": "Zahlungsmethode hinzufügen",
+ "createPayment": "Zahlungsmethode hinzufügen",
+ "createSuccess": "Erfolgreich erstellt",
+ "delete": "Löschen",
+ "deleteSuccess": "Erfolgreich gelöscht",
+ "deleteWarning": "Sind Sie sicher, dass Sie diese Zahlungsmethode löschen möchten? Diese Aktion kann nicht rückgängig gemacht werden.",
+ "domain": "Domain",
+ "domainPlaceholder": "optional, z.B. {example}",
+ "edit": "Bearbeiten",
+ "editPayment": "Zahlungsmethode bearbeiten",
"enable": "Aktivieren",
- "enableDescription": "Diese Zahlungsmethode aktivieren",
- "epay": {
- "key": "SCHLÜSSEL",
- "pid": "PID",
- "url": "URL"
- },
+ "feeAmount": "Fester Betrag",
"feeMode": "Gebührenmodus",
- "feeModeDescription": "Gebührenmodus für zusätzliche Gebühren",
- "feeModeItems": ["Keine Gebühr", "Prozentsatz", "Fester Betrag", "Beides"],
"feePercent": "Prozentgebühr (optional)",
- "feePercentDescription": "Gebühren werden zusätzlich zum Bestellbetrag hinzugefügt",
"fixedFee": "Feste Gebühr (optional)",
- "fixedFeeDescription": "Feste Gebühr zusätzlich zum Bestellbetrag hinzufügen",
- "iconUrl": "Symbol-URL (optional)",
- "iconUrlDescription": "Zur Anzeige im Frontend verwendet",
- "inputPlaceholder": "Bitte eingeben",
- "key": "SCHLÜSSEL",
- "notifyUrl": "Benutzerdefinierte Benachrichtigungs-URL (optional)",
- "notifyUrlDescription": "Gateway-Benachrichtigungen werden an diese Domain gesendet",
- "payForRecommendations": "Für Empfehlungen bezahlen",
- "pid": "PID",
- "saveSuccess": "Erfolgreich gespeichert",
- "showName": "Anzeigename",
- "showNameDescription": "Zur Anzeige im Frontend verwendet",
- "stripe": {
- "publicKey": "ÖFFENTLICHER SCHLÜSSEL",
- "secretKey": "GEHEIMER SCHLÜSSEL",
- "webhookSecret": "WEBHOOK-SCHLÜSSEL-SIGNATUR"
- },
- "url": "URL",
- "wechatPay": "WeChat Pay"
+ "handlingFee": "Bearbeitungsgebühr",
+ "icon": "Symbol",
+ "iconPlaceholder": "Geben Sie die URL des Symbols ein",
+ "mark": "Kennung",
+ "markPlaceholder": "Geben Sie die Kennung der Zahlungsmethode ein",
+ "name": "Name",
+ "namePlaceholder": "Geben Sie den Namen der Zahlungsmethode ein",
+ "nameRequired": "Name ist erforderlich",
+ "noFee": "Keine Gebühr",
+ "paymentManagement": "Zahlungsverwaltung",
+ "percentFee": "Prozentsatz",
+ "platform": "Plattform",
+ "searchPlaceholder": "Suchbegriffe eingeben",
+ "selectPlatform": "Plattform auswählen",
+ "selectType": "Zahlungsart auswählen",
+ "submit": "Einreichen",
+ "type": "Typ",
+ "updateSuccess": "Erfolgreich aktualisiert"
}
diff --git a/apps/admin/locales/en-US/payment.json b/apps/admin/locales/en-US/payment.json
index b141714..5e784a8 100644
--- a/apps/admin/locales/en-US/payment.json
+++ b/apps/admin/locales/en-US/payment.json
@@ -1,44 +1,49 @@
{
- "aliPay": "Alipay payment",
- "alipayf2f": {
- "appId": "Alipay App ID",
- "invoiceName": "Custom Product Name",
- "invoiceNameDescription": "Will be displayed on Alipay bill",
- "privateKey": "Alipay Private Key",
- "publicKey": "Alipay Public Key",
- "sandbox": "Sandbox Mode",
- "sandboxDescription": "Enable sandbox mode to test payments"
- },
+ "AlipayF2F": "Alipay Face to Face",
+ "EPay": "EPay",
+ "Stripe": "Stripe",
+ "applyForPayment": "Apply for Payment",
+ "balance": "Balance",
+ "batchDelete": "Batch Delete",
+ "cancel": "Cancel",
+ "config": "Configuration",
+ "configInfo": "Configuration Information",
+ "configPlaceholder": "Please fill in the provided {field} configuration",
+ "confirm": "Confirm",
+ "confirmDelete": "Confirm Delete",
+ "copy": "Copy",
+ "copySuccess": "Copied successfully",
+ "create": "Add Payment Method",
+ "createPayment": "Add Payment Method",
+ "createSuccess": "Created successfully",
+ "delete": "Delete",
+ "deleteSuccess": "Deleted successfully",
+ "deleteWarning": "Are you sure you want to delete this payment method? This action cannot be undone.",
+ "domain": "Domain",
+ "domainPlaceholder": "optional, e.g. {example}",
+ "edit": "Edit",
+ "editPayment": "Edit Payment Method",
"enable": "Enable",
- "enableDescription": "Enable this payment method",
- "epay": {
- "key": "KEY",
- "pid": "PID",
- "url": "URL"
- },
+ "feeAmount": "Fixed Amount",
"feeMode": "Fee Mode",
- "feeModeDescription": "Fee charging method for additional fees",
- "feeModeItems": ["No Fee", "Percentage", "Fixed Amount", "Both"],
- "feePercent": "Percentage Fee (optional)",
- "feePercentDescription": "Add fee on top of order amount",
- "fixedFee": "Fixed Fee (optional)",
- "fixedFeeDescription": "Add fixed fee on top of order amount",
- "iconUrl": "Icon URL (optional)",
- "iconUrlDescription": "Used for frontend display",
- "inputPlaceholder": "Please enter",
- "key": "KEY",
- "notifyUrl": "Custom Notification Domain (optional)",
- "notifyUrlDescription": "Gateway notifications will be sent to this domain",
- "payForRecommendations": "Pay for Recommendations",
- "pid": "PID",
- "saveSuccess": "Save Successful",
- "showName": "Display Name",
- "showNameDescription": "Used for frontend display",
- "stripe": {
- "publicKey": "PUBLIC KEY",
- "secretKey": "SECRET KEY",
- "webhookSecret": "WEBHOOK Secret Key"
- },
- "url": "URL",
- "wechatPay": "WeChat Pay"
+ "feePercent": "Fee Percentage",
+ "fixedFee": "Fixed Amount",
+ "handlingFee": "Handling Fee",
+ "icon": "Icon",
+ "iconPlaceholder": "Enter icon URL",
+ "mark": "Identifier",
+ "markPlaceholder": "Enter payment method identifier",
+ "name": "Name",
+ "namePlaceholder": "Enter payment method name",
+ "nameRequired": "Name is required",
+ "noFee": "No Fee",
+ "paymentManagement": "Payment Management",
+ "percentFee": "Percentage",
+ "platform": "Platform",
+ "searchPlaceholder": "Enter search terms",
+ "selectPlatform": "Select Platform",
+ "selectType": "Select payment type",
+ "submit": "Submit",
+ "type": "Type",
+ "updateSuccess": "Updated successfully"
}
diff --git a/apps/admin/locales/es-ES/payment.json b/apps/admin/locales/es-ES/payment.json
index b3c3cf9..886eaa7 100644
--- a/apps/admin/locales/es-ES/payment.json
+++ b/apps/admin/locales/es-ES/payment.json
@@ -1,44 +1,49 @@
{
- "aliPay": "Pago con Alipay",
- "alipayf2f": {
- "appId": "ID de la aplicación de Alipay",
- "invoiceName": "Nombre personalizado del producto",
- "invoiceNameDescription": "Se mostrará en la factura de Alipay",
- "privateKey": "Clave privada de Alipay",
- "publicKey": "Clave pública de Alipay",
- "sandbox": "Modo sandbox",
- "sandboxDescription": "Habilitar el modo sandbox para probar el pago"
- },
+ "AlipayF2F": "Alipay Cara a Cara",
+ "EPay": "EPay",
+ "Stripe": "Stripe",
+ "applyForPayment": "Solicitar Pago",
+ "balance": "Saldo",
+ "batchDelete": "Eliminar en Lote",
+ "cancel": "Cancelar",
+ "config": "Configuración",
+ "configInfo": "Información de Configuración",
+ "configPlaceholder": "Por favor, complete la configuración de {field} proporcionada",
+ "confirm": "Confirmar",
+ "confirmDelete": "Confirmar Eliminación",
+ "copy": "Copiar",
+ "copySuccess": "Copiado con éxito",
+ "create": "Agregar Método de Pago",
+ "createPayment": "Agregar Método de Pago",
+ "createSuccess": "Creado con éxito",
+ "delete": "Eliminar",
+ "deleteSuccess": "Eliminado con éxito",
+ "deleteWarning": "¿Está seguro de que desea eliminar este método de pago? Esta acción no se puede deshacer.",
+ "domain": "Dominio",
+ "domainPlaceholder": "opcional, p. ej. {example}",
+ "edit": "Editar",
+ "editPayment": "Editar Método de Pago",
"enable": "Habilitar",
- "enableDescription": "Habilitar este método de pago",
- "epay": {
- "key": "CLAVE",
- "pid": "PID",
- "url": "URL"
- },
+ "feeAmount": "Monto Fijo",
"feeMode": "Modo de cobro",
- "feeModeDescription": "Modo de cobro de tarifas adicionales",
- "feeModeItems": ["Sin tarifa", "Porcentaje", "Cantidad fija", "Ambos anteriores"],
"feePercent": "Porcentaje de tarifa (opcional)",
- "feePercentDescription": "Se añade una tarifa sobre el monto del pedido",
"fixedFee": "Tarifa fija (opcional)",
- "fixedFeeDescription": "Se añade una tarifa fija sobre el monto del pedido",
- "iconUrl": "URL del icono (opcional)",
- "iconUrlDescription": "Usado para mostrar en el frontend",
- "inputPlaceholder": "Por favor, introduzca",
- "key": "CLAVE",
- "notifyUrl": "Dominio de notificación personalizado (opcional)",
- "notifyUrlDescription": "La notificación del gateway se enviará a este dominio",
- "payForRecommendations": "Pagar por recomendaciones",
- "pid": "PID",
- "saveSuccess": "Guardado exitosamente",
- "showName": "Mostrar nombre",
- "showNameDescription": "Usado para mostrar en el frontend",
- "stripe": {
- "publicKey": "CLAVE PÚBLICA",
- "secretKey": "CLAVE SECRETA",
- "webhookSecret": "FIRMA DE CLAVE WEBHOOK"
- },
- "url": "URL",
- "wechatPay": "Pago con WeChat"
+ "handlingFee": "Tarifa de manejo",
+ "icon": "Ícono",
+ "iconPlaceholder": "Ingrese la URL del ícono",
+ "mark": "Identificador",
+ "markPlaceholder": "Ingrese el identificador del método de pago",
+ "name": "Nombre",
+ "namePlaceholder": "Ingrese el nombre del método de pago",
+ "nameRequired": "El nombre es obligatorio",
+ "noFee": "Sin Tarifa",
+ "paymentManagement": "Gestión de Pagos",
+ "percentFee": "Porcentaje",
+ "platform": "Plataforma",
+ "searchPlaceholder": "Ingrese términos de búsqueda",
+ "selectPlatform": "Seleccionar Plataforma",
+ "selectType": "Seleccionar tipo de pago",
+ "submit": "Enviar",
+ "type": "Tipo",
+ "updateSuccess": "Actualizado con éxito"
}
diff --git a/apps/admin/locales/es-MX/payment.json b/apps/admin/locales/es-MX/payment.json
index dfb6cf6..2553488 100644
--- a/apps/admin/locales/es-MX/payment.json
+++ b/apps/admin/locales/es-MX/payment.json
@@ -1,44 +1,49 @@
{
- "aliPay": "Pago con Alipay",
- "alipayf2f": {
- "appId": "ID de la aplicación de Alipay",
- "invoiceName": "Nombre personalizado del producto",
- "invoiceNameDescription": "Se mostrará en la factura de Alipay",
- "privateKey": "Clave privada de Alipay",
- "publicKey": "Clave pública de Alipay",
- "sandbox": "Modo sandbox",
- "sandboxDescription": "Habilitar el modo sandbox para probar el pago"
- },
+ "AlipayF2F": "Alipay Cara a Cara",
+ "EPay": "EPay",
+ "Stripe": "Stripe",
+ "applyForPayment": "Solicitar Pago",
+ "balance": "Saldo",
+ "batchDelete": "Eliminar en Lote",
+ "cancel": "Cancelar",
+ "config": "Configuración",
+ "configInfo": "Información de Configuración",
+ "configPlaceholder": "Por favor, complete la configuración de {field} proporcionada",
+ "confirm": "Confirmar",
+ "confirmDelete": "Confirmar Eliminación",
+ "copy": "Copiar",
+ "copySuccess": "Copiado con éxito",
+ "create": "Agregar Método de Pago",
+ "createPayment": "Agregar Método de Pago",
+ "createSuccess": "Creado con éxito",
+ "delete": "Eliminar",
+ "deleteSuccess": "Eliminado con éxito",
+ "deleteWarning": "¿Está seguro de que desea eliminar este método de pago? Esta acción no se puede deshacer.",
+ "domain": "Dominio",
+ "domainPlaceholder": "opcional, p. ej. {example}",
+ "edit": "Editar",
+ "editPayment": "Editar Método de Pago",
"enable": "Habilitar",
- "enableDescription": "Habilitar este método de pago",
- "epay": {
- "key": "CLAVE",
- "pid": "PID",
- "url": "URL"
- },
+ "feeAmount": "Monto Fijo",
"feeMode": "Modo de cobro",
- "feeModeDescription": "Modo de cobro de tarifas adicionales",
- "feeModeItems": ["Sin tarifa", "Porcentaje", "Cantidad fija", "Ambos"],
"feePercent": "Porcentaje de tarifa (opcional)",
- "feePercentDescription": "Se añade una tarifa sobre el monto del pedido",
"fixedFee": "Cuota fija (opcional)",
- "fixedFeeDescription": "Agregar una tarifa fija sobre el monto del pedido",
- "iconUrl": "URL del ícono (opcional)",
- "iconUrlDescription": "Usado para mostrar en el frontend",
- "inputPlaceholder": "Por favor ingrese",
- "key": "LLAVE",
- "notifyUrl": "Dominio de notificación personalizado (opcional)",
- "notifyUrlDescription": "La notificación del gateway se enviará a este dominio",
- "payForRecommendations": "Pagar por recomendaciones",
- "pid": "PID",
- "saveSuccess": "Guardado exitoso",
- "showName": "Mostrar nombre",
- "showNameDescription": "Usado para mostrar en el frontend",
- "stripe": {
- "publicKey": "CLAVE PÚBLICA",
- "secretKey": "CLAVE SECRETA",
- "webhookSecret": "FIRMA DE SECRETO DE WEBHOOK"
- },
- "url": "URL",
- "wechatPay": "WeChat Pay"
+ "handlingFee": "Cargo por manejo",
+ "icon": "Ícono",
+ "iconPlaceholder": "Ingrese la URL del ícono",
+ "mark": "Identificador",
+ "markPlaceholder": "Ingrese el identificador del método de pago",
+ "name": "Nombre",
+ "namePlaceholder": "Ingrese el nombre del método de pago",
+ "nameRequired": "El nombre es obligatorio",
+ "noFee": "Sin Tarifa",
+ "paymentManagement": "Gestión de Pagos",
+ "percentFee": "Porcentaje",
+ "platform": "Plataforma",
+ "searchPlaceholder": "Ingrese términos de búsqueda",
+ "selectPlatform": "Seleccionar Plataforma",
+ "selectType": "Seleccionar tipo de pago",
+ "submit": "Enviar",
+ "type": "Tipo",
+ "updateSuccess": "Actualizado con éxito"
}
diff --git a/apps/admin/locales/fa-IR/payment.json b/apps/admin/locales/fa-IR/payment.json
index e2380e3..6e2a720 100644
--- a/apps/admin/locales/fa-IR/payment.json
+++ b/apps/admin/locales/fa-IR/payment.json
@@ -1,44 +1,49 @@
{
- "aliPay": "پرداخت علیپی",
- "alipayf2f": {
- "appId": "شناسه برنامه Alipay",
- "invoiceName": "نام محصول سفارشی",
- "invoiceNameDescription": "در صورتحساب Alipay نمایش داده خواهد شد",
- "privateKey": "کلید خصوصی Alipay",
- "publicKey": "کلید عمومی Alipay",
- "sandbox": "حالت Sandbox",
- "sandboxDescription": "حالت sandbox را برای آزمایش پرداختها فعال کنید"
- },
+ "AlipayF2F": "علیپی چهره به چهره",
+ "EPay": "ایپی",
+ "Stripe": "استرایپ",
+ "applyForPayment": "درخواست پرداخت",
+ "balance": "موجودی",
+ "batchDelete": "حذف دستهای",
+ "cancel": "لغو",
+ "config": "پیکربندی",
+ "configInfo": "اطلاعات پیکربندی",
+ "configPlaceholder": "لطفاً پیکربندی {field} ارائه شده را پر کنید",
+ "confirm": "تأیید",
+ "confirmDelete": "تأیید حذف",
+ "copy": "کپی",
+ "copySuccess": "با موفقیت کپی شد",
+ "create": "افزودن روش پرداخت",
+ "createPayment": "افزودن روش پرداخت",
+ "createSuccess": "با موفقیت ایجاد شد",
+ "delete": "حذف",
+ "deleteSuccess": "با موفقیت حذف شد",
+ "deleteWarning": "آیا مطمئن هستید که میخواهید این روش پرداخت را حذف کنید؟ این عمل قابل بازگشت نیست.",
+ "domain": "دامنه",
+ "domainPlaceholder": "اختیاری، به عنوان مثال {example}",
+ "edit": "ویرایش",
+ "editPayment": "ویرایش روش پرداخت",
"enable": "فعال کردن",
- "enableDescription": "این روش پرداخت را فعال کنید",
- "epay": {
- "key": "کلید",
- "pid": "شناسه محصول",
- "url": "نشانی وب"
- },
+ "feeAmount": "مقدار ثابت",
"feeMode": "حالت هزینه",
- "feeModeDescription": "روش دریافت هزینه برای هزینههای اضافی",
- "feeModeItems": ["بدون هزینه", "درصدی", "مبلغ ثابت", "هر دو"],
"feePercent": "درصد کارمزد (اختیاری)",
- "feePercentDescription": "افزودن کارمزد به مبلغ سفارش",
"fixedFee": "هزینه ثابت (اختیاری)",
- "fixedFeeDescription": "افزودن هزینه ثابت به مبلغ سفارش",
- "iconUrl": "آدرس آیکون (اختیاری)",
- "iconUrlDescription": "برای نمایش در رابط کاربری استفاده میشود",
- "inputPlaceholder": "لطفاً وارد کنید",
- "key": "کلید",
- "notifyUrl": "دامنه اعلان سفارشی (اختیاری)",
- "notifyUrlDescription": "اعلانهای درگاه به این دامنه ارسال خواهند شد",
- "payForRecommendations": "پرداخت برای توصیهها",
- "pid": "شناسه فرآیند",
- "saveSuccess": "ذخیره با موفقیت انجام شد",
- "showName": "نمایش نام",
- "showNameDescription": "برای نمایش در قسمت جلویی استفاده میشود",
- "stripe": {
- "publicKey": "کلید عمومی",
- "secretKey": "کلید مخفی",
- "webhookSecret": "کلید مخفی وبهوک"
- },
- "url": "آدرس اینترنتی",
- "wechatPay": "ویچت پی"
+ "handlingFee": "هزینه خدمات",
+ "icon": "آیکون",
+ "iconPlaceholder": "آدرس URL آیکون را وارد کنید",
+ "mark": "شناسه",
+ "markPlaceholder": "شناسه روش پرداخت را وارد کنید",
+ "name": "نام",
+ "namePlaceholder": "نام روش پرداخت را وارد کنید",
+ "nameRequired": "نام الزامی است",
+ "noFee": "بدون هزینه",
+ "paymentManagement": "مدیریت پرداخت",
+ "percentFee": "درصد",
+ "platform": "پلتفرم",
+ "searchPlaceholder": "عبارات جستجو را وارد کنید",
+ "selectPlatform": "انتخاب پلتفرم",
+ "selectType": "انتخاب نوع پرداخت",
+ "submit": "ارسال",
+ "type": "نوع",
+ "updateSuccess": "با موفقیت بهروزرسانی شد"
}
diff --git a/apps/admin/locales/fi-FI/payment.json b/apps/admin/locales/fi-FI/payment.json
index 07837c9..02a65ca 100644
--- a/apps/admin/locales/fi-FI/payment.json
+++ b/apps/admin/locales/fi-FI/payment.json
@@ -1,44 +1,49 @@
{
- "aliPay": "Alipay-maksu",
- "alipayf2f": {
- "appId": "Alipay-sovelluksen ID",
- "invoiceName": "Mukautettu tuotteen nimi",
- "invoiceNameDescription": "Näkyy Alipay-laskussa",
- "privateKey": "Alipay-yksityinen avain",
- "publicKey": "Alipay-julkinen avain",
- "sandbox": "Hiekkalaatikkotila",
- "sandboxDescription": "Ota hiekkalaatikkotila käyttöön maksujen testaamiseksi"
- },
+ "AlipayF2F": "Alipay Kasvokkain",
+ "EPay": "EPay",
+ "Stripe": "Stripe",
+ "applyForPayment": "Hae maksua",
+ "balance": "Saldo",
+ "batchDelete": "Ryhmän poisto",
+ "cancel": "Peruuta",
+ "config": "Konfiguraatio",
+ "configInfo": "Konfiguraatio tiedot",
+ "configPlaceholder": "Täytä annettu {field} konfiguraatio",
+ "confirm": "Vahvista",
+ "confirmDelete": "Vahvista poisto",
+ "copy": "Kopioi",
+ "copySuccess": "Kopiointi onnistui",
+ "create": "Lisää maksutapa",
+ "createPayment": "Lisää maksutapa",
+ "createSuccess": "Luonti onnistui",
+ "delete": "Poista",
+ "deleteSuccess": "Poisto onnistui",
+ "deleteWarning": "Oletko varma, että haluat poistaa tämän maksutavan? Tätä toimintoa ei voi peruuttaa.",
+ "domain": "Verkkotunnus",
+ "domainPlaceholder": "valinnainen, esim. {esimerkki}",
+ "edit": "Muokkaa",
+ "editPayment": "Muokkaa maksutapaa",
"enable": "Ota käyttöön",
- "enableDescription": "Ota tämä maksutapa käyttöön",
- "epay": {
- "key": "AVAIN",
- "pid": "PID",
- "url": "URL"
- },
+ "feeAmount": "Kiinteä summa",
"feeMode": "Maksutapa",
- "feeModeDescription": "Lisämaksun veloitustapa",
- "feeModeItems": ["Ei käsittelymaksua", "Prosenttiosuus", "Kiinteä summa", "Molemmat yllä olevat"],
"feePercent": "Prosenttiosuusmaksu (valinnainen)",
- "feePercentDescription": "Lisätään maksu tilauksen summan päälle",
"fixedFee": "Kiinteä maksu (valinnainen)",
- "fixedFeeDescription": "Lisää kiinteä maksu tilauksen summan päälle",
- "iconUrl": "Kuvakkeen URL (valinnainen)",
- "iconUrlDescription": "Käytetään etunäytössä",
- "inputPlaceholder": "Kirjoita tähän",
- "key": "AVAIN",
- "notifyUrl": "Mukautettu ilmoitusalue (valinnainen)",
- "notifyUrlDescription": "Yhdyskäytävän ilmoitus lähetetään tähän verkkotunnukseen",
- "payForRecommendations": "Maksa suosituksista",
- "pid": "PID",
- "saveSuccess": "Tallennus onnistui",
- "showName": "Näytä nimi",
- "showNameDescription": "Näytetään käyttöliittymässä",
- "stripe": {
- "publicKey": "JULKINEN AVAIN",
- "secretKey": "SALAINEN AVAIN",
- "webhookSecret": "WEBHOOK-SALAINEN ALLEKIRJOITUS"
- },
- "url": "URL",
- "wechatPay": "WeChat-maksu"
+ "handlingFee": "Käsittelymaksu",
+ "icon": "Ikoni",
+ "iconPlaceholder": "Syötä ikonin URL-osoite",
+ "mark": "Tunniste",
+ "markPlaceholder": "Syötä maksutavan tunniste",
+ "name": "Nimi",
+ "namePlaceholder": "Syötä maksutavan nimi",
+ "nameRequired": "Nimi on pakollinen",
+ "noFee": "Ei maksua",
+ "paymentManagement": "Maksujen hallinta",
+ "percentFee": "Prosentti",
+ "platform": "Alusta",
+ "searchPlaceholder": "Syötä hakusanat",
+ "selectPlatform": "Valitse alusta",
+ "selectType": "Valitse maksutyyppi",
+ "submit": "Lähetä",
+ "type": "Tyyppi",
+ "updateSuccess": "Päivitys onnistui"
}
diff --git a/apps/admin/locales/fr-FR/payment.json b/apps/admin/locales/fr-FR/payment.json
index e69f2a5..dbb5deb 100644
--- a/apps/admin/locales/fr-FR/payment.json
+++ b/apps/admin/locales/fr-FR/payment.json
@@ -1,44 +1,49 @@
{
- "aliPay": "Paiement par Alipay",
- "alipayf2f": {
- "appId": "ID de l'application Alipay",
- "invoiceName": "Nom personnalisé du produit",
- "invoiceNameDescription": "S'affichera sur la facture Alipay",
- "privateKey": "Clé privée Alipay",
- "publicKey": "Clé publique Alipay",
- "sandbox": "Mode bac à sable",
- "sandboxDescription": "Activez le mode bac à sable pour tester le paiement"
- },
+ "AlipayF2F": "Alipay Face à Face",
+ "EPay": "EPay",
+ "Stripe": "Stripe",
+ "applyForPayment": "Demander un paiement",
+ "balance": "Solde",
+ "batchDelete": "Suppression par lot",
+ "cancel": "Annuler",
+ "config": "Configuration",
+ "configInfo": "Informations de configuration",
+ "configPlaceholder": "Veuillez remplir la configuration {field} fournie",
+ "confirm": "Confirmer",
+ "confirmDelete": "Confirmer la suppression",
+ "copy": "Copier",
+ "copySuccess": "Copié avec succès",
+ "create": "Ajouter un mode de paiement",
+ "createPayment": "Ajouter un mode de paiement",
+ "createSuccess": "Créé avec succès",
+ "delete": "Supprimer",
+ "deleteSuccess": "Supprimé avec succès",
+ "deleteWarning": "Êtes-vous sûr de vouloir supprimer ce mode de paiement ? Cette action ne peut pas être annulée.",
+ "domain": "Domaine",
+ "domainPlaceholder": "facultatif, par exemple {exemple}",
+ "edit": "Modifier",
+ "editPayment": "Modifier le mode de paiement",
"enable": "Activer",
- "enableDescription": "Activer ce mode de paiement",
- "epay": {
- "key": "CLÉ",
- "pid": "PID",
- "url": "URL"
- },
+ "feeAmount": "Montant fixe",
"feeMode": "Mode de facturation",
- "feeModeDescription": "Mode de facturation des frais supplémentaires",
- "feeModeItems": ["Pas de frais", "Pourcentage", "Montant fixe", "Les deux ci-dessus"],
"feePercent": "Pourcentage de frais (optionnel)",
- "feePercentDescription": "Ajouter des frais au montant de la commande",
"fixedFee": "Frais fixes (optionnel)",
- "fixedFeeDescription": "Ajouter des frais fixes au montant de la commande",
- "iconUrl": "URL de l'icône (facultatif)",
- "iconUrlDescription": "Utilisé pour l'affichage frontal",
- "inputPlaceholder": "Veuillez entrer",
- "key": "CLÉ",
- "notifyUrl": "Domaine de notification personnalisé (facultatif)",
- "notifyUrlDescription": "Les notifications de la passerelle seront envoyées à ce domaine",
- "payForRecommendations": "Payer pour les recommandations",
- "pid": "PID",
- "saveSuccess": "Enregistrement réussi",
- "showName": "Afficher le nom",
- "showNameDescription": "Utilisé pour l'affichage frontal",
- "stripe": {
- "publicKey": "CLÉ PUBLIQUE",
- "secretKey": "CLÉ SECRÈTE",
- "webhookSecret": "SIGNATURE DE CLÉ WEBHOOK"
- },
- "url": "URL",
- "wechatPay": "Paiement WeChat"
+ "handlingFee": "Frais de traitement",
+ "icon": "Icône",
+ "iconPlaceholder": "Entrez l'URL de l'icône",
+ "mark": "Identifiant",
+ "markPlaceholder": "Entrez l'identifiant du mode de paiement",
+ "name": "Nom",
+ "namePlaceholder": "Entrez le nom du mode de paiement",
+ "nameRequired": "Le nom est requis",
+ "noFee": "Pas de frais",
+ "paymentManagement": "Gestion des paiements",
+ "percentFee": "Pourcentage",
+ "platform": "Plateforme",
+ "searchPlaceholder": "Entrez des termes de recherche",
+ "selectPlatform": "Sélectionner la plateforme",
+ "selectType": "Sélectionner le type de paiement",
+ "submit": "Soumettre",
+ "type": "Type",
+ "updateSuccess": "Mis à jour avec succès"
}
diff --git a/apps/admin/locales/hi-IN/payment.json b/apps/admin/locales/hi-IN/payment.json
index 16f9bfe..17b064f 100644
--- a/apps/admin/locales/hi-IN/payment.json
+++ b/apps/admin/locales/hi-IN/payment.json
@@ -1,44 +1,49 @@
{
- "aliPay": "अलीपे भुगतान",
- "alipayf2f": {
- "appId": "अलीपे एप्लिकेशन आईडी",
- "invoiceName": "कस्टम उत्पाद नाम",
- "invoiceNameDescription": "अलीपे बिल में प्रदर्शित होगा",
- "privateKey": "अलीपे निजी कुंजी",
- "publicKey": "अलीपे सार्वजनिक कुंजी",
- "sandbox": "सैंडबॉक्स मोड",
- "sandboxDescription": "भुगतान का परीक्षण करने के लिए सैंडबॉक्स मोड सक्षम करें"
- },
+ "AlipayF2F": "अलीपे फेस टू फेस",
+ "EPay": "ईपे",
+ "Stripe": "स्ट्राइप",
+ "applyForPayment": "भुगतान के लिए आवेदन करें",
+ "balance": "शेष",
+ "batchDelete": "बैच हटाएं",
+ "cancel": "रद्द करें",
+ "config": "कॉन्फ़िगरेशन",
+ "configInfo": "कॉन्फ़िगरेशन जानकारी",
+ "configPlaceholder": "कृपया प्रदान किए गए {field} कॉन्फ़िगरेशन को भरें",
+ "confirm": "पुष्टि करें",
+ "confirmDelete": "हटाने की पुष्टि करें",
+ "copy": "कॉपी करें",
+ "copySuccess": "सफलता से कॉपी किया गया",
+ "create": "भुगतान विधि जोड़ें",
+ "createPayment": "भुगतान विधि जोड़ें",
+ "createSuccess": "सफलता से बनाया गया",
+ "delete": "हटाएं",
+ "deleteSuccess": "सफलता से हटाया गया",
+ "deleteWarning": "क्या आप वास्तव में इस भुगतान विधि को हटाना चाहते हैं? यह क्रिया पूर्ववत नहीं की जा सकती।",
+ "domain": "डोमेन",
+ "domainPlaceholder": "वैकल्पिक, जैसे कि {example}",
+ "edit": "संपादित करें",
+ "editPayment": "भुगतान विधि संपादित करें",
"enable": "सक्षम करें",
- "enableDescription": "इस भुगतान विधि को सक्षम करें",
- "epay": {
- "key": "कुंजी",
- "pid": "पीआईडी",
- "url": "यूआरएल"
- },
+ "feeAmount": "निश्चित राशि",
"feeMode": "शुल्क मोड",
- "feeModeDescription": "अतिरिक्त शुल्क की वसूली का तरीका",
- "feeModeItems": ["कोई शुल्क नहीं", "प्रतिशत", "निश्चित राशि", "उपरोक्त दोनों"],
"feePercent": "प्रतिशत शुल्क (वैकल्पिक)",
- "feePercentDescription": "ऑर्डर राशि के ऊपर शुल्क जोड़ा जाएगा",
"fixedFee": "निश्चित शुल्क (वैकल्पिक)",
- "fixedFeeDescription": "ऑर्डर राशि के ऊपर एक निश्चित शुल्क जोड़ा जाता है",
- "iconUrl": "आइकन URL (वैकल्पिक)",
- "iconUrlDescription": "फ्रंटएंड प्रदर्शन के लिए उपयोग किया जाता है",
- "inputPlaceholder": "कृपया दर्ज करें",
- "key": "कुंजी",
- "notifyUrl": "कस्टम अधिसूचना डोमेन (वैकल्पिक)",
- "notifyUrlDescription": "गेटवे सूचना इस डोमेन पर भेजी जाएगी",
- "payForRecommendations": "सिफारिशों के लिए भुगतान करें",
- "pid": "पीआईडी",
- "saveSuccess": "सहेजा गया",
- "showName": "नाम दिखाएं",
- "showNameDescription": "फ्रंटएंड प्रदर्शन के लिए उपयोग किया जाता है",
- "stripe": {
- "publicKey": "सार्वजनिक कुंजी",
- "secretKey": "गुप्त कुंजी",
- "webhookSecret": "वेबहुक कुंजी हस्ताक्षर"
- },
- "url": "यूआरएल",
- "wechatPay": "वीचैट पे"
+ "handlingFee": "हैंडलिंग शुल्क",
+ "icon": "चिन्ह",
+ "iconPlaceholder": "चिन्ह URL दर्ज करें",
+ "mark": "पहचानकर्ता",
+ "markPlaceholder": "भुगतान विधि पहचानकर्ता दर्ज करें",
+ "name": "नाम",
+ "namePlaceholder": "भुगतान विधि का नाम दर्ज करें",
+ "nameRequired": "नाम आवश्यक है",
+ "noFee": "कोई शुल्क नहीं",
+ "paymentManagement": "भुगतान प्रबंधन",
+ "percentFee": "प्रतिशत",
+ "platform": "प्लेटफ़ॉर्म",
+ "searchPlaceholder": "खोज शब्द दर्ज करें",
+ "selectPlatform": "प्लेटफ़ॉर्म चुनें",
+ "selectType": "भुगतान प्रकार चुनें",
+ "submit": "जमा करें",
+ "type": "प्रकार",
+ "updateSuccess": "सफलता से अपडेट किया गया"
}
diff --git a/apps/admin/locales/hu-HU/payment.json b/apps/admin/locales/hu-HU/payment.json
index c6310b1..3de98a4 100644
--- a/apps/admin/locales/hu-HU/payment.json
+++ b/apps/admin/locales/hu-HU/payment.json
@@ -1,44 +1,49 @@
{
- "aliPay": "Alipay fizetés",
- "alipayf2f": {
- "appId": "Alipay alkalmazásazonosító",
- "invoiceName": "Egyedi terméknév",
- "invoiceNameDescription": "A számlán az Alipay-ben fog megjelenni",
- "privateKey": "Alipay privát kulcs",
- "publicKey": "Alipay nyilvános kulcs",
- "sandbox": "Tesztkörnyezet",
- "sandboxDescription": "Tesztkörnyezet engedélyezése a fizetések teszteléséhez"
- },
+ "AlipayF2F": "Alipay Személyesen",
+ "EPay": "EPay",
+ "Stripe": "Stripe",
+ "applyForPayment": "Kérjen kifizetést",
+ "balance": "Egyenleg",
+ "batchDelete": "Tömeges törlés",
+ "cancel": "Mégse",
+ "config": "Beállítások",
+ "configInfo": "Beállítási információk",
+ "configPlaceholder": "Kérjük, töltse ki a megadott {field} beállítást",
+ "confirm": "Megerősít",
+ "confirmDelete": "Törlés megerősítése",
+ "copy": "Másolás",
+ "copySuccess": "Sikeresen másolva",
+ "create": "Fizetési mód hozzáadása",
+ "createPayment": "Fizetési mód hozzáadása",
+ "createSuccess": "Sikeresen létrehozva",
+ "delete": "Törlés",
+ "deleteSuccess": "Sikeresen törölve",
+ "deleteWarning": "Biztosan törölni szeretné ezt a fizetési módot? Ez a művelet nem vonható vissza.",
+ "domain": "Domain",
+ "domainPlaceholder": "opcionális, pl. {példa}",
+ "edit": "Szerkesztés",
+ "editPayment": "Fizetési mód szerkesztése",
"enable": "Engedélyezés",
- "enableDescription": "Engedélyezze ezt a fizetési módot",
- "epay": {
- "key": "KULCS",
- "pid": "PID",
- "url": "URL"
- },
+ "feeAmount": "Fix összeg",
"feeMode": "Díjfizetési mód",
- "feeModeDescription": "További díjak felszámításának módja",
- "feeModeItems": ["Nincs díj", "Százalékos", "Fix összeg", "Mindkettő"],
"feePercent": "Díjszázalék (opcionális)",
- "feePercentDescription": "Díj hozzáadása a rendelés összegéhez",
"fixedFee": "Fix díj (opcionális)",
- "fixedFeeDescription": "Rögzített díj hozzáadása a rendelés összegéhez",
- "iconUrl": "Ikon URL (opcionális)",
- "iconUrlDescription": "Előnézeti kép megjelenítéséhez",
- "inputPlaceholder": "Kérjük, írja be",
- "key": "KULCS",
- "notifyUrl": "Egyéni értesítési domain (opcionális)",
- "notifyUrlDescription": "A kapu értesítéseket erre a tartományra küldi",
- "payForRecommendations": "Fizetés ajánlásokért",
- "pid": "PID",
- "saveSuccess": "Sikeres mentés",
- "showName": "Megjelenítési név",
- "showNameDescription": "Előnézet megjelenítésére használatos",
- "stripe": {
- "publicKey": "NYILVÁNOS KULCS",
- "secretKey": "TITKOS KULCS",
- "webhookSecret": "WEBHOOK TITKOS ALÁÍRÁS"
- },
- "url": "URL",
- "wechatPay": "WeChat fizetés"
+ "handlingFee": "Kezelési díj",
+ "icon": "Ikon",
+ "iconPlaceholder": "Adja meg az ikon URL-jét",
+ "mark": "Azonosító",
+ "markPlaceholder": "Adja meg a fizetési mód azonosítóját",
+ "name": "Név",
+ "namePlaceholder": "Adja meg a fizetési mód nevét",
+ "nameRequired": "A név megadása kötelező",
+ "noFee": "Nincs díj",
+ "paymentManagement": "Fizetéskezelés",
+ "percentFee": "Százalékos díj",
+ "platform": "Platform",
+ "searchPlaceholder": "Adja meg a keresési kifejezéseket",
+ "selectPlatform": "Válassza ki a platformot",
+ "selectType": "Válassza ki a fizetési típust",
+ "submit": "Beküldés",
+ "type": "Típus",
+ "updateSuccess": "Sikeresen frissítve"
}
diff --git a/apps/admin/locales/ja-JP/payment.json b/apps/admin/locales/ja-JP/payment.json
index 877236a..ac71eb9 100644
--- a/apps/admin/locales/ja-JP/payment.json
+++ b/apps/admin/locales/ja-JP/payment.json
@@ -1,44 +1,49 @@
{
- "aliPay": "アリペイ決済",
- "alipayf2f": {
- "appId": "支付宝アプリID",
- "invoiceName": "カスタム製品名",
- "invoiceNameDescription": "支付宝の請求書に表示されます",
- "privateKey": "支付宝プライベートキー",
- "publicKey": "支付宝パブリックキー",
- "sandbox": "サンドボックスモード",
- "sandboxDescription": "支払いをテストするためにサンドボックスモードを有効にします"
- },
+ "AlipayF2F": "アリペイ対面",
+ "EPay": "EPay",
+ "Stripe": "ストライプ",
+ "applyForPayment": "支払いを申請する",
+ "balance": "残高",
+ "batchDelete": "一括削除",
+ "cancel": "キャンセル",
+ "config": "設定",
+ "configInfo": "設定情報",
+ "configPlaceholder": "提供された{field}の設定を入力してください",
+ "confirm": "確認",
+ "confirmDelete": "削除を確認",
+ "copy": "コピー",
+ "copySuccess": "コピー成功",
+ "create": "支払い方法を追加",
+ "createPayment": "支払い方法を追加",
+ "createSuccess": "作成成功",
+ "delete": "削除",
+ "deleteSuccess": "削除成功",
+ "deleteWarning": "この支払い方法を削除してもよろしいですか?この操作は元に戻せません。",
+ "domain": "ドメイン",
+ "domainPlaceholder": "任意、例:{example}",
+ "edit": "編集",
+ "editPayment": "支払い方法を編集",
"enable": "有効",
- "enableDescription": "この支払い方法を有効にする",
- "epay": {
- "key": "キー",
- "pid": "PID",
- "url": "URL"
- },
+ "feeAmount": "固定額",
"feeMode": "料金方式",
- "feeModeDescription": "追加手数料の課金方式",
- "feeModeItems": ["手数料なし", "パーセンテージ", "固定金額", "上記の2つ"],
"feePercent": "パーセンテージ手数料(オプション)",
- "feePercentDescription": "注文金額に追加される手数料",
"fixedFee": "固定料金(オプション)",
- "fixedFeeDescription": "注文金額に固定料金を追加する",
- "iconUrl": "アイコンURL(任意)",
- "iconUrlDescription": "フロントエンド表示用",
- "inputPlaceholder": "入力してください",
- "key": "キー",
- "notifyUrl": "カスタム通知ドメイン(オプション)",
- "notifyUrlDescription": "ゲートウェイ通知はこのドメインに送信されます",
- "payForRecommendations": "おすすめの支払い",
- "pid": "PID",
- "saveSuccess": "保存が成功しました",
- "showName": "表示名",
- "showNameDescription": "フロントエンド表示用",
- "stripe": {
- "publicKey": "パブリックキー",
- "secretKey": "シークレットキー",
- "webhookSecret": "WEBHOOK シークレットサイン"
- },
- "url": "URL",
- "wechatPay": "WeChatペイ"
+ "handlingFee": "手数料",
+ "icon": "アイコン",
+ "iconPlaceholder": "アイコンのURLを入力してください",
+ "mark": "識別子",
+ "markPlaceholder": "支払い方法の識別子を入力してください",
+ "name": "名前",
+ "namePlaceholder": "支払い方法の名前を入力してください",
+ "nameRequired": "名前は必須です",
+ "noFee": "手数料なし",
+ "paymentManagement": "支払い管理",
+ "percentFee": "パーセンテージ",
+ "platform": "プラットフォーム",
+ "searchPlaceholder": "検索用語を入力してください",
+ "selectPlatform": "プラットフォームを選択",
+ "selectType": "支払いタイプを選択",
+ "submit": "送信",
+ "type": "タイプ",
+ "updateSuccess": "更新成功"
}
diff --git a/apps/admin/locales/ko-KR/payment.json b/apps/admin/locales/ko-KR/payment.json
index 619f891..c6f6b46 100644
--- a/apps/admin/locales/ko-KR/payment.json
+++ b/apps/admin/locales/ko-KR/payment.json
@@ -1,44 +1,49 @@
{
- "aliPay": "알리페이 결제",
- "alipayf2f": {
- "appId": "알리페이 애플리케이션 ID",
- "invoiceName": "사용자 정의 제품 이름",
- "invoiceNameDescription": "알리페이 청구서에 표시됩니다",
- "privateKey": "알리페이 개인 키",
- "publicKey": "알리페이 공개 키",
- "sandbox": "샌드박스 모드",
- "sandboxDescription": "결제를 테스트하기 위해 샌드박스 모드를 활성화합니다"
- },
+ "AlipayF2F": "알리페이 대면 결제",
+ "EPay": "이페이",
+ "Stripe": "스트라이프",
+ "applyForPayment": "결제 신청",
+ "balance": "잔액",
+ "batchDelete": "일괄 삭제",
+ "cancel": "취소",
+ "config": "설정",
+ "configInfo": "설정 정보",
+ "configPlaceholder": "{field} 설정을 입력해 주세요",
+ "confirm": "확인",
+ "confirmDelete": "삭제 확인",
+ "copy": "복사",
+ "copySuccess": "복사 성공",
+ "create": "결제 수단 추가",
+ "createPayment": "결제 수단 추가",
+ "createSuccess": "생성 성공",
+ "delete": "삭제",
+ "deleteSuccess": "삭제 성공",
+ "deleteWarning": "이 결제 수단을 삭제하시겠습니까? 이 작업은 취소할 수 없습니다.",
+ "domain": "도메인",
+ "domainPlaceholder": "선택 사항, 예: {example}",
+ "edit": "편집",
+ "editPayment": "결제 수단 편집",
"enable": "사용",
- "enableDescription": "이 결제 수단을 활성화합니다",
- "epay": {
- "key": "키",
- "pid": "PID",
- "url": "URL"
- },
+ "feeAmount": "고정 금액",
"feeMode": "요금 방식",
- "feeModeDescription": "추가 수수료의 부과 방식",
- "feeModeItems": ["수수료 없음", "백분율", "고정 금액", "이상 두 가지"],
"feePercent": "수수료 비율(선택 사항)",
- "feePercentDescription": "주문 금액에 추가 요금 부과",
"fixedFee": "고정 수수료(선택 사항)",
- "fixedFeeDescription": "주문 금액에 고정 요금 추가",
- "iconUrl": "아이콘 URL(선택 사항)",
- "iconUrlDescription": "프론트엔드 표시용",
- "inputPlaceholder": "입력하세요",
- "key": "키",
- "notifyUrl": "사용자 정의 알림 도메인 (선택 사항)",
- "notifyUrlDescription": "게이트웨이 알림이 이 도메인으로 전송됩니다",
- "payForRecommendations": "추천에 대한 지불",
- "pid": "PID",
- "saveSuccess": "저장 성공",
- "showName": "이름 표시",
- "showNameDescription": "프론트엔드 표시용",
- "stripe": {
- "publicKey": "공개 키",
- "secretKey": "비밀 키",
- "webhookSecret": "웹훅 비밀 서명"
- },
- "url": "URL",
- "wechatPay": "위챗페이"
+ "handlingFee": "수수료",
+ "icon": "아이콘",
+ "iconPlaceholder": "아이콘 URL 입력",
+ "mark": "식별자",
+ "markPlaceholder": "결제 수단 식별자 입력",
+ "name": "이름",
+ "namePlaceholder": "결제 수단 이름 입력",
+ "nameRequired": "이름은 필수입니다",
+ "noFee": "수수료 없음",
+ "paymentManagement": "결제 관리",
+ "percentFee": "백분율",
+ "platform": "플랫폼",
+ "searchPlaceholder": "검색어 입력",
+ "selectPlatform": "플랫폼 선택",
+ "selectType": "결제 유형 선택",
+ "submit": "제출",
+ "type": "유형",
+ "updateSuccess": "업데이트 성공"
}
diff --git a/apps/admin/locales/no-NO/payment.json b/apps/admin/locales/no-NO/payment.json
index 6cd813f..00699bd 100644
--- a/apps/admin/locales/no-NO/payment.json
+++ b/apps/admin/locales/no-NO/payment.json
@@ -1,44 +1,49 @@
{
- "aliPay": "Betaling med Alipay",
- "alipayf2f": {
- "appId": "Alipay-applikasjons-ID",
- "invoiceName": "Tilpasset produktnavn",
- "invoiceNameDescription": "Vil vises på Alipay-fakturaen",
- "privateKey": "Alipay privat nøkkel",
- "publicKey": "Alipay offentlig nøkkel",
- "sandbox": "Sandkassemodus",
- "sandboxDescription": "Aktiver sandkassemodus for å teste betaling"
- },
+ "AlipayF2F": "Alipay Ansikt-til-Ansikt",
+ "EPay": "EPay",
+ "Stripe": "Stripe",
+ "applyForPayment": "Søk om betaling",
+ "balance": "Saldo",
+ "batchDelete": "Slett i batch",
+ "cancel": "Avbryt",
+ "config": "Konfigurasjon",
+ "configInfo": "Konfigurasjonsinformasjon",
+ "configPlaceholder": "Vennligst fyll inn den angitte {field} konfigurasjonen",
+ "confirm": "Bekreft",
+ "confirmDelete": "Bekreft sletting",
+ "copy": "Kopier",
+ "copySuccess": "Kopiert med suksess",
+ "create": "Legg til betalingsmetode",
+ "createPayment": "Legg til betalingsmetode",
+ "createSuccess": "Opprettet med suksess",
+ "delete": "Slett",
+ "deleteSuccess": "Slettet med suksess",
+ "deleteWarning": "Er du sikker på at du vil slette denne betalingsmetoden? Denne handlingen kan ikke angres.",
+ "domain": "Domene",
+ "domainPlaceholder": "valgfritt, f.eks. {example}",
+ "edit": "Rediger",
+ "editPayment": "Rediger betalingsmetode",
"enable": "Aktiver",
- "enableDescription": "Aktiver denne betalingsmetoden",
- "epay": {
- "key": "NØKKEL",
- "pid": "PID",
- "url": "URL"
- },
+ "feeAmount": "Fast beløp",
"feeMode": "Avgiftsmåte",
- "feeModeDescription": "Gebyrmodus for ekstra avgifter",
- "feeModeItems": ["Ingen gebyr", "Prosentandel", "Fast beløp", "Begge ovennevnte"],
"feePercent": "Prosentavgift (valgfritt)",
- "feePercentDescription": "Legg til et gebyr på toppen av ordrebeløpet",
"fixedFee": "Fast gebyr (valgfritt)",
- "fixedFeeDescription": "Legg til et fast gebyr i tillegg til ordrebeløpet",
- "iconUrl": "Ikon URL (valgfritt)",
- "iconUrlDescription": "Brukes for visning på frontend",
- "inputPlaceholder": "Vennligst skriv inn",
- "key": "NØKKEL",
- "notifyUrl": "Tilpasset varslingsdomene (valgfritt)",
- "notifyUrlDescription": "Gateway-varsler vil bli sendt til dette domenet",
- "payForRecommendations": "Betal for anbefalinger",
- "pid": "PID",
- "saveSuccess": "Lagring vellykket",
- "showName": "Vis navn",
- "showNameDescription": "Brukes for visning på frontend",
- "stripe": {
- "publicKey": "OFFENTLIG NØKKEL",
- "secretKey": "HEMMELIG NØKKEL",
- "webhookSecret": "WEBHOOK SIGNATUR"
- },
- "url": "URL",
- "wechatPay": "WeChat-betaling"
+ "handlingFee": "Håndteringsgebyr",
+ "icon": "Ikon",
+ "iconPlaceholder": "Skriv inn ikon-URL",
+ "mark": "Identifikator",
+ "markPlaceholder": "Skriv inn identifikator for betalingsmetode",
+ "name": "Navn",
+ "namePlaceholder": "Skriv inn navn på betalingsmetode",
+ "nameRequired": "Navn er påkrevd",
+ "noFee": "Ingen gebyr",
+ "paymentManagement": "Betalingsadministrasjon",
+ "percentFee": "Prosentandel",
+ "platform": "Plattform",
+ "searchPlaceholder": "Skriv inn søkeord",
+ "selectPlatform": "Velg plattform",
+ "selectType": "Velg betalingstype",
+ "submit": "Send inn",
+ "type": "Type",
+ "updateSuccess": "Oppdatert med suksess"
}
diff --git a/apps/admin/locales/pl-PL/payment.json b/apps/admin/locales/pl-PL/payment.json
index de8808c..c39a3bc 100644
--- a/apps/admin/locales/pl-PL/payment.json
+++ b/apps/admin/locales/pl-PL/payment.json
@@ -1,44 +1,49 @@
{
- "aliPay": "Płatność Alipay",
- "alipayf2f": {
- "appId": "ID aplikacji Alipay",
- "invoiceName": "Niestandardowa nazwa produktu",
- "invoiceNameDescription": "Będzie wyświetlana na rachunku Alipay",
- "privateKey": "Klucz prywatny Alipay",
- "publicKey": "Klucz publiczny Alipay",
- "sandbox": "Tryb piaskownicy",
- "sandboxDescription": "Włącz tryb piaskownicy, aby przetestować płatności"
- },
+ "AlipayF2F": "Alipay Twarzą w Twarz",
+ "EPay": "EPay",
+ "Stripe": "Stripe",
+ "applyForPayment": "Złóż wniosek o płatność",
+ "balance": "Saldo",
+ "batchDelete": "Usuwanie zbiorcze",
+ "cancel": "Anuluj",
+ "config": "Konfiguracja",
+ "configInfo": "Informacje o konfiguracji",
+ "configPlaceholder": "Proszę wypełnić konfigurację {field}",
+ "confirm": "Potwierdź",
+ "confirmDelete": "Potwierdź usunięcie",
+ "copy": "Kopiuj",
+ "copySuccess": "Skopiowano pomyślnie",
+ "create": "Dodaj metodę płatności",
+ "createPayment": "Dodaj metodę płatności",
+ "createSuccess": "Utworzono pomyślnie",
+ "delete": "Usuń",
+ "deleteSuccess": "Usunięto pomyślnie",
+ "deleteWarning": "Czy na pewno chcesz usunąć tę metodę płatności? Ta akcja jest nieodwracalna.",
+ "domain": "Domena",
+ "domainPlaceholder": "opcjonalnie, np. {example}",
+ "edit": "Edytuj",
+ "editPayment": "Edytuj metodę płatności",
"enable": "Włącz",
- "enableDescription": "Włącz tę metodę płatności",
- "epay": {
- "key": "KLUCZ",
- "pid": "PID",
- "url": "URL"
- },
+ "feeAmount": "Kwota stała",
"feeMode": "Sposób naliczania opłat",
- "feeModeDescription": "Sposób naliczania dodatkowej opłaty",
- "feeModeItems": ["Bez opłaty", "Procent", "Stała kwota", "Oba powyższe"],
"feePercent": "Procentowa opłata (opcjonalnie)",
- "feePercentDescription": "Dodaj opłatę do kwoty zamówienia",
"fixedFee": "Stała opłata (opcjonalnie)",
- "fixedFeeDescription": "Dodaj stałą opłatę do kwoty zamówienia",
- "iconUrl": "URL ikony (opcjonalnie)",
- "iconUrlDescription": "Używane do wyświetlania na froncie",
- "inputPlaceholder": "Wprowadź tekst",
- "key": "KLUCZ",
- "notifyUrl": "Niestandardowa domena powiadomień (opcjonalnie)",
- "notifyUrlDescription": "Powiadomienie bramki zostanie wysłane na tę domenę",
- "payForRecommendations": "Zapłać za rekomendacje",
- "pid": "PID",
- "saveSuccess": "Zapisano pomyślnie",
- "showName": "Pokaż nazwę",
- "showNameDescription": "Używane do wyświetlania na froncie",
- "stripe": {
- "publicKey": "KLUCZ PUBLICZNY",
- "secretKey": "KLUCZ TAJNY",
- "webhookSecret": "PODPIS KLUCZA WEBHOOK"
- },
- "url": "URL",
- "wechatPay": "WeChat Pay"
+ "handlingFee": "Opłata manipulacyjna",
+ "icon": "Ikona",
+ "iconPlaceholder": "Wprowadź URL ikony",
+ "mark": "Identyfikator",
+ "markPlaceholder": "Wprowadź identyfikator metody płatności",
+ "name": "Nazwa",
+ "namePlaceholder": "Wprowadź nazwę metody płatności",
+ "nameRequired": "Nazwa jest wymagana",
+ "noFee": "Brak opłaty",
+ "paymentManagement": "Zarządzanie płatnościami",
+ "percentFee": "Procent",
+ "platform": "Platforma",
+ "searchPlaceholder": "Wprowadź hasła do wyszukiwania",
+ "selectPlatform": "Wybierz platformę",
+ "selectType": "Wybierz typ płatności",
+ "submit": "Wyślij",
+ "type": "Typ",
+ "updateSuccess": "Zaktualizowano pomyślnie"
}
diff --git a/apps/admin/locales/pt-BR/payment.json b/apps/admin/locales/pt-BR/payment.json
index 61a406c..398c7f2 100644
--- a/apps/admin/locales/pt-BR/payment.json
+++ b/apps/admin/locales/pt-BR/payment.json
@@ -1,44 +1,49 @@
{
- "aliPay": "Pagamento com Alipay",
- "alipayf2f": {
- "appId": "ID do aplicativo Alipay",
- "invoiceName": "Nome personalizado do produto",
- "invoiceNameDescription": "Será exibido na fatura do Alipay",
- "privateKey": "Chave privada do Alipay",
- "publicKey": "Chave pública do Alipay",
- "sandbox": "Modo sandbox",
- "sandboxDescription": "Ative o modo sandbox para testar pagamentos"
- },
+ "AlipayF2F": "Alipay Face a Face",
+ "EPay": "EPay",
+ "Stripe": "Stripe",
+ "applyForPayment": "Solicitar Pagamento",
+ "balance": "Saldo",
+ "batchDelete": "Excluir em Lote",
+ "cancel": "Cancelar",
+ "config": "Configuração",
+ "configInfo": "Informações de Configuração",
+ "configPlaceholder": "Por favor, preencha a configuração de {field} fornecida",
+ "confirm": "Confirmar",
+ "confirmDelete": "Confirmar Exclusão",
+ "copy": "Copiar",
+ "copySuccess": "Copiado com sucesso",
+ "create": "Adicionar Método de Pagamento",
+ "createPayment": "Adicionar Método de Pagamento",
+ "createSuccess": "Criado com sucesso",
+ "delete": "Excluir",
+ "deleteSuccess": "Excluído com sucesso",
+ "deleteWarning": "Você tem certeza de que deseja excluir este método de pagamento? Esta ação não pode ser desfeita.",
+ "domain": "Domínio",
+ "domainPlaceholder": "opcional, por exemplo, {exemplo}",
+ "edit": "Editar",
+ "editPayment": "Editar Método de Pagamento",
"enable": "Habilitar",
- "enableDescription": "Ativar este método de pagamento",
- "epay": {
- "key": "CHAVE",
- "pid": "PID",
- "url": "URL"
- },
+ "feeAmount": "Valor Fixo",
"feeMode": "Modo de Cobrança",
- "feeModeDescription": "Modo de cobrança de taxas adicionais",
- "feeModeItems": ["Sem taxa", "Porcentagem", "Valor fixo", "Ambos os anteriores"],
"feePercent": "Percentual de taxa (opcional)",
- "feePercentDescription": "Adicionar taxa sobre o valor do pedido",
"fixedFee": "Taxa fixa (opcional)",
- "fixedFeeDescription": "Adicionar uma taxa fixa sobre o valor do pedido",
- "iconUrl": "URL do ícone (opcional)",
- "iconUrlDescription": "Usado para exibição no front-end",
- "inputPlaceholder": "Por favor, insira",
- "key": "CHAVE",
- "notifyUrl": "Domínio de notificação personalizado (opcional)",
- "notifyUrlDescription": "A notificação do gateway será enviada para este domínio",
- "payForRecommendations": "Pagar por recomendações",
- "pid": "PID",
- "saveSuccess": "Salvo com sucesso",
- "showName": "Mostrar Nome",
- "showNameDescription": "Usado para exibição no front-end",
- "stripe": {
- "publicKey": "CHAVE PÚBLICA",
- "secretKey": "CHAVE SECRETA",
- "webhookSecret": "ASSINATURA DA CHAVE DO WEBHOOK"
- },
- "url": "URL",
- "wechatPay": "WeChat Pay"
+ "handlingFee": "Taxa de Manipulação",
+ "icon": "Ícone",
+ "iconPlaceholder": "Digite a URL do ícone",
+ "mark": "Identificador",
+ "markPlaceholder": "Digite o identificador do método de pagamento",
+ "name": "Nome",
+ "namePlaceholder": "Digite o nome do método de pagamento",
+ "nameRequired": "O nome é obrigatório",
+ "noFee": "Sem Taxa",
+ "paymentManagement": "Gerenciamento de Pagamento",
+ "percentFee": "Porcentagem",
+ "platform": "Plataforma",
+ "searchPlaceholder": "Digite os termos de pesquisa",
+ "selectPlatform": "Selecionar Plataforma",
+ "selectType": "Selecionar tipo de pagamento",
+ "submit": "Enviar",
+ "type": "Tipo",
+ "updateSuccess": "Atualizado com sucesso"
}
diff --git a/apps/admin/locales/ro-RO/payment.json b/apps/admin/locales/ro-RO/payment.json
index 1c1f2c3..53b316f 100644
--- a/apps/admin/locales/ro-RO/payment.json
+++ b/apps/admin/locales/ro-RO/payment.json
@@ -1,44 +1,49 @@
{
- "aliPay": "Plată cu Alipay",
- "alipayf2f": {
- "appId": "ID aplicație Alipay",
- "invoiceName": "Nume personalizat produs",
- "invoiceNameDescription": "Va apărea în factura Alipay",
- "privateKey": "Cheie privată Alipay",
- "publicKey": "Cheie publică Alipay",
- "sandbox": "Modul sandbox",
- "sandboxDescription": "Activează modul sandbox pentru a testa plățile"
- },
+ "AlipayF2F": "Alipay Față în Față",
+ "EPay": "EPay",
+ "Stripe": "Stripe",
+ "applyForPayment": "Solicită Plată",
+ "balance": "Sold",
+ "batchDelete": "Ștergere în Lot",
+ "cancel": "Anulează",
+ "config": "Configurare",
+ "configInfo": "Informații de Configurare",
+ "configPlaceholder": "Te rugăm să completezi configurația {field} furnizată",
+ "confirm": "Confirmă",
+ "confirmDelete": "Confirmă Ștergerea",
+ "copy": "Copiază",
+ "copySuccess": "Copiat cu succes",
+ "create": "Adaugă Metodă de Plată",
+ "createPayment": "Adaugă Metodă de Plată",
+ "createSuccess": "Creat cu succes",
+ "delete": "Șterge",
+ "deleteSuccess": "Șters cu succes",
+ "deleteWarning": "Ești sigur că vrei să ștergi această metodă de plată? Această acțiune nu poate fi anulată.",
+ "domain": "Domeniu",
+ "domainPlaceholder": "opțional, de exemplu {example}",
+ "edit": "Editează",
+ "editPayment": "Editează Metodă de Plată",
"enable": "Activare",
- "enableDescription": "Activează această metodă de plată",
- "epay": {
- "key": "CHEIE",
- "pid": "PID",
- "url": "URL"
- },
+ "feeAmount": "Sumă Fixă",
"feeMode": "Mod de taxare",
- "feeModeDescription": "Modul de taxare a comisioanelor suplimentare",
- "feeModeItems": ["Fără comision", "Procentaj", "Sumă fixă", "Ambele"],
"feePercent": "Taxă procentuală (opțional)",
- "feePercentDescription": "Se adaugă o taxă peste suma comenzii",
"fixedFee": "Taxă fixă (opțional)",
- "fixedFeeDescription": "Adăugarea unei taxe fixe peste suma comenzii",
- "iconUrl": "URL pictogramă (opțional)",
- "iconUrlDescription": "Utilizat pentru afișarea în front-end",
- "inputPlaceholder": "Introduceți",
- "key": "CHEIE",
- "notifyUrl": "Domeniu de notificare personalizat (opțional)",
- "notifyUrlDescription": "Notificările de la gateway vor fi trimise la acest domeniu",
- "payForRecommendations": "Plătește pentru recomandări",
- "pid": "PID",
- "saveSuccess": "Salvare reușită",
- "showName": "Afișează Numele",
- "showNameDescription": "Utilizat pentru afișarea în interfața utilizatorului",
- "stripe": {
- "publicKey": "CHEIE PUBLICĂ",
- "secretKey": "CHEIE SECRETĂ",
- "webhookSecret": "SEMNĂTURA CHEII WEBHOOK"
- },
- "url": "URL",
- "wechatPay": "Plată WeChat"
+ "handlingFee": "Taxă de manipulare",
+ "icon": "Iconiță",
+ "iconPlaceholder": "Introdu URL-ul iconiței",
+ "mark": "Identificator",
+ "markPlaceholder": "Introdu identificatorul metodei de plată",
+ "name": "Nume",
+ "namePlaceholder": "Introdu numele metodei de plată",
+ "nameRequired": "Numele este necesar",
+ "noFee": "Fără Taxă",
+ "paymentManagement": "Gestionare Plăți",
+ "percentFee": "Procentaj",
+ "platform": "Platformă",
+ "searchPlaceholder": "Introdu termeni de căutare",
+ "selectPlatform": "Selectează Platforma",
+ "selectType": "Selectează tipul de plată",
+ "submit": "Trimite",
+ "type": "Tip",
+ "updateSuccess": "Actualizat cu succes"
}
diff --git a/apps/admin/locales/ru-RU/payment.json b/apps/admin/locales/ru-RU/payment.json
index 49c9dde..241dc31 100644
--- a/apps/admin/locales/ru-RU/payment.json
+++ b/apps/admin/locales/ru-RU/payment.json
@@ -1,44 +1,49 @@
{
- "aliPay": "Оплата через Alipay",
- "alipayf2f": {
- "appId": "ID приложения Alipay",
- "invoiceName": "Пользовательское название продукта",
- "invoiceNameDescription": "Будет отображаться в счете Alipay",
- "privateKey": "Приватный ключ Alipay",
- "publicKey": "Публичный ключ Alipay",
- "sandbox": "Режим песочницы",
- "sandboxDescription": "Включите режим песочницы для тестирования платежей"
- },
+ "AlipayF2F": "Alipay Лицом к Лицу",
+ "EPay": "EPay",
+ "Stripe": "Stripe",
+ "applyForPayment": "Подать заявку на оплату",
+ "balance": "Баланс",
+ "batchDelete": "Пакетное удаление",
+ "cancel": "Отмена",
+ "config": "Конфигурация",
+ "configInfo": "Информация о конфигурации",
+ "configPlaceholder": "Пожалуйста, заполните предоставленную конфигурацию {field}",
+ "confirm": "Подтвердить",
+ "confirmDelete": "Подтвердить удаление",
+ "copy": "Копировать",
+ "copySuccess": "Успешно скопировано",
+ "create": "Добавить способ оплаты",
+ "createPayment": "Добавить способ оплаты",
+ "createSuccess": "Успешно создано",
+ "delete": "Удалить",
+ "deleteSuccess": "Успешно удалено",
+ "deleteWarning": "Вы уверены, что хотите удалить этот способ оплаты? Это действие нельзя отменить.",
+ "domain": "Домен",
+ "domainPlaceholder": "необязательно, например, {example}",
+ "edit": "Редактировать",
+ "editPayment": "Редактировать способ оплаты",
"enable": "Включить",
- "enableDescription": "Включить этот способ оплаты",
- "epay": {
- "key": "КЛЮЧ",
- "pid": "PID",
- "url": "URL"
- },
+ "feeAmount": "Фиксированная сумма",
"feeMode": "Способ оплаты",
- "feeModeDescription": "Способ взимания дополнительной комиссии",
- "feeModeItems": ["Без комиссии", "Процент", "Фиксированная сумма", "Оба вышеуказанных"],
"feePercent": "Процентная комиссия (необязательно)",
- "feePercentDescription": "Добавление комиссии к сумме заказа",
"fixedFee": "Фиксированная плата (по желанию)",
- "fixedFeeDescription": "Добавление фиксированной платы к сумме заказа",
- "iconUrl": "URL значка (необязательно)",
- "iconUrlDescription": "Используется для отображения на фронтенде",
- "inputPlaceholder": "Пожалуйста, введите",
- "key": "КЛЮЧ",
- "notifyUrl": "Пользовательский домен уведомлений (необязательно)",
- "notifyUrlDescription": "Уведомление шлюза будет отправлено на этот домен",
- "payForRecommendations": "Оплатить рекомендации",
- "pid": "PID",
- "saveSuccess": "Сохранение успешно",
- "showName": "Показать имя",
- "showNameDescription": "Используется для отображения на фронтенде",
- "stripe": {
- "publicKey": "ОТКРЫТЫЙ КЛЮЧ",
- "secretKey": "СЕКРЕТНЫЙ КЛЮЧ",
- "webhookSecret": "СЕКРЕТ ПОДПИСИ ВЕБХУКА"
- },
- "url": "URL",
- "wechatPay": "WeChat Pay"
+ "handlingFee": "Плата за обработку",
+ "icon": "Иконка",
+ "iconPlaceholder": "Введите URL иконки",
+ "mark": "Идентификатор",
+ "markPlaceholder": "Введите идентификатор способа оплаты",
+ "name": "Название",
+ "namePlaceholder": "Введите название способа оплаты",
+ "nameRequired": "Название обязательно",
+ "noFee": "Без комиссии",
+ "paymentManagement": "Управление платежами",
+ "percentFee": "Процент",
+ "platform": "Платформа",
+ "searchPlaceholder": "Введите поисковые запросы",
+ "selectPlatform": "Выберите платформу",
+ "selectType": "Выберите тип оплаты",
+ "submit": "Отправить",
+ "type": "Тип",
+ "updateSuccess": "Успешно обновлено"
}
diff --git a/apps/admin/locales/th-TH/payment.json b/apps/admin/locales/th-TH/payment.json
index 03a3ffe..e4817ce 100644
--- a/apps/admin/locales/th-TH/payment.json
+++ b/apps/admin/locales/th-TH/payment.json
@@ -1,44 +1,49 @@
{
- "aliPay": "ชำระเงินผ่านอาลีเพย์",
- "alipayf2f": {
- "appId": "รหัสแอปพลิเคชัน Alipay",
- "invoiceName": "ชื่อผลิตภัณฑ์ที่กำหนดเอง",
- "invoiceNameDescription": "จะแสดงในใบแจ้งหนี้ของ Alipay",
- "privateKey": "กุญแจส่วนตัวของ Alipay",
- "publicKey": "กุญแจสาธารณะของ Alipay",
- "sandbox": "โหมดแซนด์บ็อกซ์",
- "sandboxDescription": "เปิดใช้งานโหมดแซนด์บ็อกซ์เพื่อทดสอบการชำระเงิน"
- },
+ "AlipayF2F": "Alipay แบบพบหน้า",
+ "EPay": "EPay",
+ "Stripe": "Stripe",
+ "applyForPayment": "ขอชำระเงิน",
+ "balance": "ยอดคงเหลือ",
+ "batchDelete": "ลบเป็นชุด",
+ "cancel": "ยกเลิก",
+ "config": "การตั้งค่า",
+ "configInfo": "ข้อมูลการตั้งค่า",
+ "configPlaceholder": "กรุณากรอกการตั้งค่า {field} ที่ให้มา",
+ "confirm": "ยืนยัน",
+ "confirmDelete": "ยืนยันการลบ",
+ "copy": "คัดลอก",
+ "copySuccess": "คัดลอกสำเร็จ",
+ "create": "เพิ่มวิธีการชำระเงิน",
+ "createPayment": "เพิ่มวิธีการชำระเงิน",
+ "createSuccess": "สร้างสำเร็จ",
+ "delete": "ลบ",
+ "deleteSuccess": "ลบสำเร็จ",
+ "deleteWarning": "คุณแน่ใจหรือไม่ว่าต้องการลบวิธีการชำระเงินนี้? การกระทำนี้ไม่สามารถย้อนกลับได้",
+ "domain": "โดเมน",
+ "domainPlaceholder": "ไม่บังคับ เช่น {example}",
+ "edit": "แก้ไข",
+ "editPayment": "แก้ไขวิธีการชำระเงิน",
"enable": "เปิดใช้งาน",
- "enableDescription": "เปิดใช้งานวิธีการชำระเงินนี้",
- "epay": {
- "key": "คีย์",
- "pid": "พีไอดี",
- "url": "ยูอาร์แอล"
- },
+ "feeAmount": "จำนวนคงที่",
"feeMode": "วิธีการคิดค่าบริการ",
- "feeModeDescription": "วิธีการคิดค่าธรรมเนียมเพิ่มเติม",
- "feeModeItems": ["ไม่มีค่าธรรมเนียม", "เปอร์เซ็นต์", "จำนวนเงินคงที่", "ทั้งสองอย่าง"],
"feePercent": "เปอร์เซ็นต์ค่าธรรมเนียม (ไม่บังคับ)",
- "feePercentDescription": "เพิ่มค่าธรรมเนียมจากยอดสั่งซื้อ",
"fixedFee": "ค่าธรรมเนียมคงที่ (ไม่บังคับ)",
- "fixedFeeDescription": "เพิ่มค่าธรรมเนียมคงที่เหนือจำนวนเงินในคำสั่งซื้อ",
- "iconUrl": "URL ไอคอน (ไม่บังคับ)",
- "iconUrlDescription": "ใช้สำหรับแสดงผลด้านหน้า",
- "inputPlaceholder": "กรุณาใส่ข้อมูล",
- "key": "กุญแจ",
- "notifyUrl": "โดเมนการแจ้งเตือนที่กำหนดเอง (ไม่บังคับ)",
- "notifyUrlDescription": "การแจ้งเตือนเกตเวย์จะถูกส่งไปยังโดเมนนี้",
- "payForRecommendations": "ชำระเงินสำหรับคำแนะนำ",
- "pid": "PID",
- "saveSuccess": "บันทึกสำเร็จ",
- "showName": "แสดงชื่อ",
- "showNameDescription": "ใช้สำหรับแสดงผลด้านหน้า",
- "stripe": {
- "publicKey": "PUBLIC KEY",
- "secretKey": "SECRET KEY",
- "webhookSecret": "WEBHOOK คีย์ลับ"
- },
- "url": "URL",
- "wechatPay": "วีแชทเพย์"
+ "handlingFee": "ค่าธรรมเนียมการจัดการ",
+ "icon": "ไอคอน",
+ "iconPlaceholder": "กรอก URL ไอคอน",
+ "mark": "ตัวระบุ",
+ "markPlaceholder": "กรอกตัวระบุวิธีการชำระเงิน",
+ "name": "ชื่อ",
+ "namePlaceholder": "กรอกชื่อวิธีการชำระเงิน",
+ "nameRequired": "ชื่อเป็นสิ่งจำเป็น",
+ "noFee": "ไม่มีค่าธรรมเนียม",
+ "paymentManagement": "การจัดการการชำระเงิน",
+ "percentFee": "เปอร์เซ็นต์",
+ "platform": "แพลตฟอร์ม",
+ "searchPlaceholder": "กรอกคำค้นหา",
+ "selectPlatform": "เลือกแพลตฟอร์ม",
+ "selectType": "เลือกประเภทการชำระเงิน",
+ "submit": "ส่ง",
+ "type": "ประเภท",
+ "updateSuccess": "อัปเดตสำเร็จ"
}
diff --git a/apps/admin/locales/tr-TR/payment.json b/apps/admin/locales/tr-TR/payment.json
index 668f823..19a15c6 100644
--- a/apps/admin/locales/tr-TR/payment.json
+++ b/apps/admin/locales/tr-TR/payment.json
@@ -1,44 +1,49 @@
{
- "aliPay": "Alipay ile ödeme",
- "alipayf2f": {
- "appId": "Alipay Uygulama Kimliği",
- "invoiceName": "Özel Ürün Adı",
- "invoiceNameDescription": "Alipay faturasına gösterilecektir",
- "privateKey": "Alipay Özel Anahtarı",
- "publicKey": "Alipay Genel Anahtarı",
- "sandbox": "Sandbox Modu",
- "sandboxDescription": "Ödemeyi test etmek için sandbox modunu etkinleştirin"
- },
+ "AlipayF2F": "Alipay Yüz Yüze",
+ "EPay": "EPay",
+ "Stripe": "Stripe",
+ "applyForPayment": "Ödeme Başvurusu",
+ "balance": "Bakiye",
+ "batchDelete": "Toplu Sil",
+ "cancel": "İptal",
+ "config": "Yapılandırma",
+ "configInfo": "Yapılandırma Bilgisi",
+ "configPlaceholder": "Lütfen sağlanan {field} yapılandırmasını doldurun",
+ "confirm": "Onayla",
+ "confirmDelete": "Silme İşlemini Onayla",
+ "copy": "Kopyala",
+ "copySuccess": "Başarıyla kopyalandı",
+ "create": "Ödeme Yöntemi Ekle",
+ "createPayment": "Ödeme Yöntemi Ekle",
+ "createSuccess": "Başarıyla oluşturuldu",
+ "delete": "Sil",
+ "deleteSuccess": "Başarıyla silindi",
+ "deleteWarning": "Bu ödeme yöntemini silmek istediğinize emin misiniz? Bu işlem geri alınamaz.",
+ "domain": "Alan Adı",
+ "domainPlaceholder": "isteğe bağlı, örn. {example}",
+ "edit": "Düzenle",
+ "editPayment": "Ödeme Yöntemini Düzenle",
"enable": "Etkinleştir",
- "enableDescription": "Bu ödeme yöntemini etkinleştir",
- "epay": {
- "key": "ANAHTAR",
- "pid": "PID",
- "url": "URL"
- },
+ "feeAmount": "Sabit Tutar",
"feeMode": "Ücretlendirme Modu",
- "feeModeDescription": "Ekstra ücretin tahsilat yöntemi",
- "feeModeItems": ["Ücretsiz", "Yüzde", "Sabit Tutar", "Her İkisi"],
"feePercent": "Yüzde Ücreti (isteğe bağlı)",
- "feePercentDescription": "Sipariş tutarının üzerine eklenen ücret",
"fixedFee": "Sabit Ücret (isteğe bağlı)",
- "fixedFeeDescription": "Sipariş tutarına ek olarak sabit ücret eklenir",
- "iconUrl": "Simge URL'si (isteğe bağlı)",
- "iconUrlDescription": "Ön uçta görüntüleme için kullanılır",
- "inputPlaceholder": "Lütfen girin",
- "key": "ANAHTAR",
- "notifyUrl": "Özel bildirim alanı (isteğe bağlı)",
- "notifyUrlDescription": "Ağ geçidi bildirimi bu alana gönderilecektir",
- "payForRecommendations": "Öneriler için ödeme yap",
- "pid": "PID",
- "saveSuccess": "Başarıyla kaydedildi",
- "showName": "Görünen Ad",
- "showNameDescription": "Ön uçta görüntüleme için kullanılır",
- "stripe": {
- "publicKey": "GENEL ANAHTAR",
- "secretKey": "GİZLİ ANAHTAR",
- "webhookSecret": "WEBHOOK GİZLİ İMZA"
- },
- "url": "URL",
- "wechatPay": "WeChat Pay"
+ "handlingFee": "İşlem Ücreti",
+ "icon": "Simge",
+ "iconPlaceholder": "Simge URL'sini girin",
+ "mark": "Tanımlayıcı",
+ "markPlaceholder": "Ödeme yöntemi tanımlayıcısını girin",
+ "name": "İsim",
+ "namePlaceholder": "Ödeme yöntemi adını girin",
+ "nameRequired": "İsim gereklidir",
+ "noFee": "Ücret Yok",
+ "paymentManagement": "Ödeme Yönetimi",
+ "percentFee": "Yüzde",
+ "platform": "Platform",
+ "searchPlaceholder": "Arama terimlerini girin",
+ "selectPlatform": "Platform Seçin",
+ "selectType": "Ödeme türünü seçin",
+ "submit": "Gönder",
+ "type": "Tür",
+ "updateSuccess": "Başarıyla güncellendi"
}
diff --git a/apps/admin/locales/uk-UA/payment.json b/apps/admin/locales/uk-UA/payment.json
index 9bf668d..df4f902 100644
--- a/apps/admin/locales/uk-UA/payment.json
+++ b/apps/admin/locales/uk-UA/payment.json
@@ -1,44 +1,49 @@
{
- "aliPay": "Оплата через Alipay",
- "alipayf2f": {
- "appId": "Ідентифікатор додатку Alipay",
- "invoiceName": "Назва продукту на замовлення",
- "invoiceNameDescription": "Буде відображено у рахунку Alipay",
- "privateKey": "Приватний ключ Alipay",
- "publicKey": "Публічний ключ Alipay",
- "sandbox": "Режим пісочниці",
- "sandboxDescription": "Увімкніть режим пісочниці для тестування платежів"
- },
+ "AlipayF2F": "Alipay Face to Face",
+ "EPay": "EPay",
+ "Stripe": "Stripe",
+ "applyForPayment": "Подати заявку на оплату",
+ "balance": "Баланс",
+ "batchDelete": "Пакетне видалення",
+ "cancel": "Скасувати",
+ "config": "Налаштування",
+ "configInfo": "Інформація про налаштування",
+ "configPlaceholder": "Будь ласка, заповніть надану конфігурацію {field}",
+ "confirm": "Підтвердити",
+ "confirmDelete": "Підтвердити видалення",
+ "copy": "Копіювати",
+ "copySuccess": "Успішно скопійовано",
+ "create": "Додати спосіб оплати",
+ "createPayment": "Додати спосіб оплати",
+ "createSuccess": "Успішно створено",
+ "delete": "Видалити",
+ "deleteSuccess": "Успішно видалено",
+ "deleteWarning": "Ви впевнені, що хочете видалити цей спосіб оплати? Цю дію не можна скасувати.",
+ "domain": "Домен",
+ "domainPlaceholder": "необов'язково, наприклад, {example}",
+ "edit": "Редагувати",
+ "editPayment": "Редагувати спосіб оплати",
"enable": "Увімкнути",
- "enableDescription": "Увімкнути цей спосіб оплати",
- "epay": {
- "key": "КЛЮЧ",
- "pid": "PID",
- "url": "URL"
- },
+ "feeAmount": "Фіксована сума",
"feeMode": "Спосіб оплати",
- "feeModeDescription": "Спосіб стягнення додаткової комісії",
- "feeModeItems": ["Без комісії", "Відсоток", "Фіксована сума", "Обидва варіанти"],
"feePercent": "Відсоткова комісія (необов'язково)",
- "feePercentDescription": "Додати комісію до суми замовлення",
"fixedFee": "Фіксована плата (необов'язково)",
- "fixedFeeDescription": "Додати фіксовану плату до суми замовлення",
- "iconUrl": "URL значка (необов'язково)",
- "iconUrlDescription": "Використовується для відображення на фронтенді",
- "inputPlaceholder": "Введіть, будь ласка",
- "key": "КЛЮЧ",
- "notifyUrl": "Користувацька область сповіщень (необов'язково)",
- "notifyUrlDescription": "Сповіщення шлюзу буде надіслано на цей домен",
- "payForRecommendations": "Оплатити рекомендації",
- "pid": "PID",
- "saveSuccess": "Збережено успішно",
- "showName": "Показати ім'я",
- "showNameDescription": "Використовується для відображення на фронтенді",
- "stripe": {
- "publicKey": "ПУБЛІЧНИЙ КЛЮЧ",
- "secretKey": "СЕКРЕТНИЙ КЛЮЧ",
- "webhookSecret": "ПІДПИС ВЕБХУКА"
- },
- "url": "URL",
- "wechatPay": "WeChat Pay"
+ "handlingFee": "Плата за обробку",
+ "icon": "Іконка",
+ "iconPlaceholder": "Введіть URL іконки",
+ "mark": "Ідентифікатор",
+ "markPlaceholder": "Введіть ідентифікатор способу оплати",
+ "name": "Назва",
+ "namePlaceholder": "Введіть назву способу оплати",
+ "nameRequired": "Назва є обов'язковою",
+ "noFee": "Без комісії",
+ "paymentManagement": "Управління платежами",
+ "percentFee": "Відсоток",
+ "platform": "Платформа",
+ "searchPlaceholder": "Введіть пошукові терміни",
+ "selectPlatform": "Виберіть платформу",
+ "selectType": "Виберіть тип оплати",
+ "submit": "Надіслати",
+ "type": "Тип",
+ "updateSuccess": "Успішно оновлено"
}
diff --git a/apps/admin/locales/vi-VN/payment.json b/apps/admin/locales/vi-VN/payment.json
index 4ad42f3..89cc20b 100644
--- a/apps/admin/locales/vi-VN/payment.json
+++ b/apps/admin/locales/vi-VN/payment.json
@@ -1,44 +1,49 @@
{
- "aliPay": "Thanh toán qua Alipay",
- "alipayf2f": {
- "appId": "ID ứng dụng Alipay",
- "invoiceName": "Tên sản phẩm tùy chỉnh",
- "invoiceNameDescription": "Sẽ hiển thị trên hóa đơn Alipay",
- "privateKey": "Khóa riêng Alipay",
- "publicKey": "Khóa công khai Alipay",
- "sandbox": "Chế độ sandbox",
- "sandboxDescription": "Kích hoạt chế độ sandbox để kiểm tra thanh toán"
- },
+ "AlipayF2F": "Alipay Gặp Mặt",
+ "EPay": "EPay",
+ "Stripe": "Stripe",
+ "applyForPayment": "Đăng Ký Thanh Toán",
+ "balance": "Số Dư",
+ "batchDelete": "Xóa Theo Lô",
+ "cancel": "Hủy",
+ "config": "Cấu Hình",
+ "configInfo": "Thông Tin Cấu Hình",
+ "configPlaceholder": "Vui lòng điền vào cấu hình {field} đã cung cấp",
+ "confirm": "Xác Nhận",
+ "confirmDelete": "Xác Nhận Xóa",
+ "copy": "Sao Chép",
+ "copySuccess": "Sao chép thành công",
+ "create": "Thêm Phương Thức Thanh Toán",
+ "createPayment": "Thêm Phương Thức Thanh Toán",
+ "createSuccess": "Tạo thành công",
+ "delete": "Xóa",
+ "deleteSuccess": "Xóa thành công",
+ "deleteWarning": "Bạn có chắc chắn muốn xóa phương thức thanh toán này không? Hành động này không thể hoàn tác.",
+ "domain": "Miền",
+ "domainPlaceholder": "tùy chọn, ví dụ: {example}",
+ "edit": "Chỉnh Sửa",
+ "editPayment": "Chỉnh Sửa Phương Thức Thanh Toán",
"enable": "Kích hoạt",
- "enableDescription": "Kích hoạt phương thức thanh toán này",
- "epay": {
- "key": "KHÓA",
- "pid": "PID",
- "url": "URL"
- },
+ "feeAmount": "Số Tiền Cố Định",
"feeMode": "Phương thức tính phí",
- "feeModeDescription": "Cách tính phí bổ sung",
- "feeModeItems": ["Không phí dịch vụ", "Phần trăm", "Số tiền cố định", "Hai loại trên"],
"feePercent": "Phí phần trăm (tùy chọn)",
- "feePercentDescription": "Thêm phí trên số tiền đơn hàng",
"fixedFee": "Phí cố định (tùy chọn)",
- "fixedFeeDescription": "Thêm phí cố định vào trên số tiền đơn hàng",
- "iconUrl": "URL biểu tượng (tùy chọn)",
- "iconUrlDescription": "Dùng để hiển thị phía trước",
- "inputPlaceholder": "Vui lòng nhập",
- "key": "KEY",
- "notifyUrl": "Miền thông báo tùy chỉnh (tùy chọn)",
- "notifyUrlDescription": "Thông báo cổng sẽ được gửi đến miền này",
- "payForRecommendations": "Thanh toán cho đề xuất",
- "pid": "PID",
- "saveSuccess": "Lưu thành công",
- "showName": "Hiển thị tên",
- "showNameDescription": "Dùng để hiển thị phía trước",
- "stripe": {
- "publicKey": "KHÓA CÔNG KHAI",
- "secretKey": "KHÓA BÍ MẬT",
- "webhookSecret": "CHỮ KÝ KHÓA WEBHOOK"
- },
- "url": "URL",
- "wechatPay": "Thanh toán WeChat"
+ "handlingFee": "Phí Xử Lý",
+ "icon": "Biểu Tượng",
+ "iconPlaceholder": "Nhập URL biểu tượng",
+ "mark": "Định Danh",
+ "markPlaceholder": "Nhập định danh phương thức thanh toán",
+ "name": "Tên",
+ "namePlaceholder": "Nhập tên phương thức thanh toán",
+ "nameRequired": "Tên là bắt buộc",
+ "noFee": "Không Có Phí",
+ "paymentManagement": "Quản Lý Thanh Toán",
+ "percentFee": "Phần Trăm",
+ "platform": "Nền Tảng",
+ "searchPlaceholder": "Nhập từ khóa tìm kiếm",
+ "selectPlatform": "Chọn Nền Tảng",
+ "selectType": "Chọn loại thanh toán",
+ "submit": "Gửi",
+ "type": "Loại",
+ "updateSuccess": "Cập nhật thành công"
}
diff --git a/apps/admin/locales/zh-CN/payment.json b/apps/admin/locales/zh-CN/payment.json
index c6d1eb8..32a0250 100644
--- a/apps/admin/locales/zh-CN/payment.json
+++ b/apps/admin/locales/zh-CN/payment.json
@@ -1,44 +1,49 @@
{
- "aliPay": "支付宝支付",
- "alipayf2f": {
- "appId": "支付宝应用ID",
- "invoiceName": "自定义产品名称",
- "invoiceNameDescription": "将显示在支付宝账单中",
- "privateKey": "支付宝私钥",
- "publicKey": "支付宝公钥",
- "sandbox": "沙箱模式",
- "sandboxDescription": "启用沙箱模式以测试支付"
- },
+ "AlipayF2F": "支付宝面对面",
+ "EPay": "电子支付",
+ "Stripe": "Stripe",
+ "applyForPayment": "申请付款",
+ "balance": "余额",
+ "batchDelete": "批量删除",
+ "cancel": "取消",
+ "config": "配置",
+ "configInfo": "配置信息",
+ "configPlaceholder": "请填写提供的 {field} 配置",
+ "confirm": "确认",
+ "confirmDelete": "确认删除",
+ "copy": "复制",
+ "copySuccess": "复制成功",
+ "create": "添加支付方式",
+ "createPayment": "添加支付方式",
+ "createSuccess": "创建成功",
+ "delete": "删除",
+ "deleteSuccess": "删除成功",
+ "deleteWarning": "您确定要删除此支付方式吗?此操作无法撤销。",
+ "domain": "域名",
+ "domainPlaceholder": "可选,例如 {example}",
+ "edit": "编辑",
+ "editPayment": "编辑支付方式",
"enable": "启用",
- "enableDescription": "启用此支付方式",
- "epay": {
- "key": "KEY",
- "pid": "PID",
- "url": "URL"
- },
+ "feeAmount": "固定金额",
"feeMode": "收费方式",
- "feeModeDescription": "额外手续费的收费方式",
- "feeModeItems": ["无手续费", "百分比", "固定金额", "以上两种"],
- "feePercent": "百分比费用(可选)",
- "feePercentDescription": "在订单金额之上添加费用",
- "fixedFee": "固定费用(可选)",
- "fixedFeeDescription": "在订单金额之上添加固定费用",
- "iconUrl": "图标 URL(可选)",
- "iconUrlDescription": "用于前端显示",
- "inputPlaceholder": "请输入",
- "key": "KEY",
- "notifyUrl": "自定义通知域(可选)",
- "notifyUrlDescription": "网关通知将发送到此域",
- "payForRecommendations": "支付推荐",
- "pid": "PID",
- "saveSuccess": "保存成功",
- "showName": "显示名称",
- "showNameDescription": "用于前端显示",
- "stripe": {
- "publicKey": "PUBLIC KEY",
- "secretKey": "SECRET KEY",
- "webhookSecret": "WEBHOOK 密钥签名"
- },
- "url": "URL",
- "wechatPay": "微信支付"
+ "feePercent": "百分比费用",
+ "fixedFee": "固定费用",
+ "handlingFee": "手续费",
+ "icon": "图标",
+ "iconPlaceholder": "输入图标 URL",
+ "mark": "标识符",
+ "markPlaceholder": "输入支付方式标识符",
+ "name": "名称",
+ "namePlaceholder": "输入支付方式名称",
+ "nameRequired": "名称是必填项",
+ "noFee": "无费用",
+ "paymentManagement": "支付管理",
+ "percentFee": "百分比",
+ "platform": "平台",
+ "searchPlaceholder": "输入搜索词",
+ "selectPlatform": "选择平台",
+ "selectType": "选择支付类型",
+ "submit": "提交",
+ "type": "类型",
+ "updateSuccess": "更新成功"
}
diff --git a/apps/admin/locales/zh-HK/payment.json b/apps/admin/locales/zh-HK/payment.json
index 0fe0f67..d7c4328 100644
--- a/apps/admin/locales/zh-HK/payment.json
+++ b/apps/admin/locales/zh-HK/payment.json
@@ -1,44 +1,49 @@
{
- "aliPay": "支付寶支付",
- "alipayf2f": {
- "appId": "支付寶應用ID",
- "invoiceName": "自訂產品名稱",
- "invoiceNameDescription": "將顯示在支付寶賬單中",
- "privateKey": "支付寶私鑰",
- "publicKey": "支付寶公鑰",
- "sandbox": "沙箱模式",
- "sandboxDescription": "啟用沙箱模式以測試支付"
- },
+ "AlipayF2F": "支付寶面對面",
+ "EPay": "電子支付",
+ "Stripe": "Stripe",
+ "applyForPayment": "申請付款",
+ "balance": "餘額",
+ "batchDelete": "批量刪除",
+ "cancel": "取消",
+ "config": "配置",
+ "configInfo": "配置資訊",
+ "configPlaceholder": "請填寫提供的 {field} 配置",
+ "confirm": "確認",
+ "confirmDelete": "確認刪除",
+ "copy": "複製",
+ "copySuccess": "複製成功",
+ "create": "新增付款方式",
+ "createPayment": "新增付款方式",
+ "createSuccess": "創建成功",
+ "delete": "刪除",
+ "deleteSuccess": "刪除成功",
+ "deleteWarning": "您確定要刪除此付款方式嗎?此操作無法撤銷。",
+ "domain": "域名",
+ "domainPlaceholder": "可選,例如 {example}",
+ "edit": "編輯",
+ "editPayment": "編輯付款方式",
"enable": "啟用",
- "enableDescription": "啟用此支付方式",
- "epay": {
- "key": "KEY",
- "pid": "PID",
- "url": "URL"
- },
+ "feeAmount": "固定金額",
"feeMode": "收費方式",
- "feeModeDescription": "額外手續費的收費方式",
- "feeModeItems": ["無手續費", "百分比", "固定金額", "以上兩種"],
"feePercent": "百分比費用(可選)",
- "feePercentDescription": "在訂單金額之上添加費用",
"fixedFee": "固定費用(可選)",
- "fixedFeeDescription": "在訂單金額之上添加固定費用",
- "iconUrl": "圖示 URL(可選)",
- "iconUrlDescription": "用於前端顯示",
- "inputPlaceholder": "請輸入",
- "key": "KEY",
- "notifyUrl": "自訂通知域(可選)",
- "notifyUrlDescription": "閘道通知將發送到此網域",
- "payForRecommendations": "支付推薦",
- "pid": "PID",
- "saveSuccess": "儲存成功",
- "showName": "顯示名稱",
- "showNameDescription": "用於前端顯示",
- "stripe": {
- "publicKey": "PUBLIC KEY",
- "secretKey": "SECRET KEY",
- "webhookSecret": "WEBHOOK 密鑰簽名"
- },
- "url": "URL",
- "wechatPay": "微信支付"
+ "handlingFee": "手續費",
+ "icon": "圖標",
+ "iconPlaceholder": "輸入圖標網址",
+ "mark": "標識",
+ "markPlaceholder": "輸入付款方式標識",
+ "name": "名稱",
+ "namePlaceholder": "輸入付款方式名稱",
+ "nameRequired": "名稱為必填",
+ "noFee": "無費用",
+ "paymentManagement": "付款管理",
+ "percentFee": "百分比",
+ "platform": "平台",
+ "searchPlaceholder": "輸入搜索詞",
+ "selectPlatform": "選擇平台",
+ "selectType": "選擇付款類型",
+ "submit": "提交",
+ "type": "類型",
+ "updateSuccess": "更新成功"
}
diff --git a/apps/admin/services/admin/payment.ts b/apps/admin/services/admin/payment.ts
index c5b6ba2..05b8825 100644
--- a/apps/admin/services/admin/payment.ts
+++ b/apps/admin/services/admin/payment.ts
@@ -2,20 +2,12 @@
/* eslint-disable */
import request from '@/utils/request';
-/** Get alipay f2f payment config GET /v1/admin/payment/alipay_f2f */
-export async function getAlipayF2FPaymentConfig(options?: { [key: string]: any }) {
- return request('/v1/admin/payment/alipay_f2f', {
- method: 'GET',
- ...(options || {}),
- });
-}
-
-/** Update alipay f2f payment config PUT /v1/admin/payment/alipay_f2f */
-export async function updateAlipayF2FPaymentConfig(
- body: API.UpdateAlipayF2fRequest,
+/** Update Payment Method PUT /v1/admin/payment/ */
+export async function updatePaymentMethod(
+ body: API.UpdatePaymentMethodRequest,
options?: { [key: string]: any },
) {
- return request('/v1/admin/payment/alipay_f2f', {
+ return request('/v1/admin/payment/', {
method: 'PUT',
headers: {
'Content-Type': 'application/json',
@@ -25,85 +17,58 @@ export async function updateAlipayF2FPaymentConfig(
});
}
-/** Get all payment config GET /v1/admin/payment/all */
-export async function getAllPaymentConfig(options?: { [key: string]: any }) {
- return request(
- '/v1/admin/payment/all',
+/** Create Payment Method POST /v1/admin/payment/ */
+export async function createPaymentMethod(
+ body: API.CreatePaymentMethodRequest,
+ options?: { [key: string]: any },
+) {
+ return request('/v1/admin/payment/', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
+
+/** Delete Payment Method DELETE /v1/admin/payment/ */
+export async function deletePaymentMethod(
+ body: API.DeletePaymentMethodRequest,
+ options?: { [key: string]: any },
+) {
+ return request('/v1/admin/payment/', {
+ method: 'DELETE',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
+
+/** Get Payment Method List GET /v1/admin/payment/list */
+export async function getPaymentMethodList(
+ // 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
+ params: API.GetPaymentMethodListParams,
+ options?: { [key: string]: any },
+) {
+ return request(
+ '/v1/admin/payment/list',
{
method: 'GET',
+ params: {
+ ...params,
+ },
...(options || {}),
},
);
}
-/** Get epay payment config GET /v1/admin/payment/epay */
-export async function getEpayPaymentConfig(options?: { [key: string]: any }) {
- return request('/v1/admin/payment/epay', {
+/** Get supported payment platform GET /v1/admin/payment/platform */
+export async function getPaymentPlatform(options?: { [key: string]: any }) {
+ return request('/v1/admin/payment/platform', {
method: 'GET',
...(options || {}),
});
}
-
-/** Update epay payment config PUT /v1/admin/payment/epay */
-export async function updateEpayPaymentConfig(
- body: API.UpdateEpayRequest,
- options?: { [key: string]: any },
-) {
- return request('/v1/admin/payment/epay', {
- method: 'PUT',
- headers: {
- 'Content-Type': 'application/json',
- },
- data: body,
- ...(options || {}),
- });
-}
-
-/** Get stripe alipay payment config GET /v1/admin/payment/stripe_alipay */
-export async function getStripeAlipayPaymentConfig(options?: { [key: string]: any }) {
- return request('/v1/admin/payment/stripe_alipay', {
- method: 'GET',
- ...(options || {}),
- });
-}
-
-/** Update stripe alipay payment config PUT /v1/admin/payment/stripe_alipay */
-export async function updateStripeAlipayPaymentConfig(
- body: API.UpdateStripeRequest,
- options?: { [key: string]: any },
-) {
- return request('/v1/admin/payment/stripe_alipay', {
- method: 'PUT',
- headers: {
- 'Content-Type': 'application/json',
- },
- data: body,
- ...(options || {}),
- });
-}
-
-/** Get stripe wechat pay payment config GET /v1/admin/payment/stripe_wechat_pay */
-export async function getStripeWeChatPayPaymentConfig(options?: { [key: string]: any }) {
- return request(
- '/v1/admin/payment/stripe_wechat_pay',
- {
- method: 'GET',
- ...(options || {}),
- },
- );
-}
-
-/** Update stripe wechat pay payment config PUT /v1/admin/payment/stripe_wechat_pay */
-export async function updateStripeWeChatPayPaymentConfig(
- body: API.UpdateStripeRequest,
- options?: { [key: string]: any },
-) {
- return request('/v1/admin/payment/stripe_wechat_pay', {
- method: 'PUT',
- headers: {
- 'Content-Type': 'application/json',
- },
- data: body,
- ...(options || {}),
- });
-}
diff --git a/apps/admin/services/admin/typings.d.ts b/apps/admin/services/admin/typings.d.ts
index 03f1ebf..4eb9059 100644
--- a/apps/admin/services/admin/typings.d.ts
+++ b/apps/admin/services/admin/typings.d.ts
@@ -13,12 +13,8 @@ declare namespace API {
updated_at: number;
};
- type AlipayF2FConfig = {
- app_id: string;
- private_key: string;
- public_key: string;
- invoice_name: string;
- sandbox: boolean;
+ type AlipayNotifyResponse = {
+ return_code: string;
};
type Announcement = {
@@ -234,6 +230,18 @@ declare namespace API {
subscribe_id?: number;
};
+ type CreatePaymentMethodRequest = {
+ name: string;
+ platform: string;
+ icon?: string;
+ domain?: string;
+ config: Record;
+ fee_mode: number;
+ fee_percent?: number;
+ fee_amount?: number;
+ enable: boolean;
+ };
+
type CreateRuleGroupRequest = {
name: string;
icon: string;
@@ -341,6 +349,10 @@ declare namespace API {
id: number;
};
+ type DeletePaymentMethodRequest = {
+ id: number;
+ };
+
type DeleteRuleGroupRequest = {
id: number;
};
@@ -387,10 +399,17 @@ declare namespace API {
domain_suffix_list: string;
};
- type EpayConfig = {
- pid: string;
- url: string;
- key: string;
+ type EPayNotifyRequest = {
+ pid: number;
+ trade_no: string;
+ out_trade_no: string;
+ type: string;
+ name: string;
+ money: string;
+ trade_status: string;
+ param: string;
+ sign: string;
+ sign_type: string;
};
type Follow = {
@@ -429,10 +448,6 @@ declare namespace API {
list: Ads[];
};
- type GetAllPaymentConfigResponse = {
- list: PaymentConfig[];
- };
-
type GetAnnouncementListParams = {
page: number;
size: number;
@@ -614,6 +629,27 @@ declare namespace API {
list: Order[];
};
+ type GetPaymentMethodListParams = {
+ page: number;
+ size: number;
+ platform?: string;
+ search?: string;
+ enable?: boolean;
+ };
+
+ type GetPaymentMethodListRequest = {
+ page: number;
+ size: number;
+ platform?: string;
+ search?: string;
+ enable?: boolean;
+ };
+
+ type GetPaymentMethodListResponse = {
+ total: number;
+ list: PaymentMethodDetail[];
+ };
+
type GetRuleGroupResponse = {
total: number;
list: ServerRuleGroup[];
@@ -927,7 +963,7 @@ declare namespace API {
type PaymenMethod = {
id: number;
name: string;
- mark: string;
+ platform: string;
icon: string;
fee_mode: number;
fee_percent: number;
@@ -937,7 +973,7 @@ declare namespace API {
type PaymentConfig = {
id: number;
name: string;
- mark: string;
+ platform: string;
icon?: string;
domain?: string;
config: Record;
@@ -947,6 +983,20 @@ declare namespace API {
enable: boolean;
};
+ type PaymentMethodDetail = {
+ id: number;
+ name: string;
+ platform: string;
+ icon: string;
+ domain: string;
+ config: Record;
+ fee_mode: number;
+ fee_percent: number;
+ fee_amount: number;
+ enable: boolean;
+ notify_url: string;
+ };
+
type PlatformInfo = {
platform: string;
platform_url: string;
@@ -989,7 +1039,7 @@ declare namespace API {
type PurchaseOrderRequest = {
subscribe_id: number;
quantity: number;
- payment: string;
+ payment: number;
coupon?: string;
};
@@ -1049,7 +1099,7 @@ declare namespace API {
type RechargeOrderRequest = {
amount: number;
- payment: string;
+ payment: number;
};
type RechargeOrderResponse = {
@@ -1070,7 +1120,7 @@ declare namespace API {
type RenewalOrderRequest = {
user_subscribe_id: number;
quantity: number;
- payment: string;
+ payment: number;
coupon?: string;
};
@@ -1080,7 +1130,7 @@ declare namespace API {
type ResetTrafficOrderRequest = {
user_subscribe_id: number;
- payment: string;
+ payment: number;
};
type ResetTrafficOrderResponse = {
@@ -1205,13 +1255,6 @@ declare namespace API {
sort: number;
};
- type StripeConfig = {
- public_key: string;
- secret_key: string;
- webhook_secret: string;
- payment: string;
- };
-
type StripePayment = {
method: string;
client_secret: string;
@@ -1383,19 +1426,6 @@ declare namespace API {
status: number;
};
- type UpdateAlipayF2fRequest = {
- id: number;
- name: string;
- mark: string;
- icon?: string;
- domain?: string;
- config: AlipayF2FConfig;
- fee_mode: number;
- fee_percent?: number;
- fee_amount?: number;
- enable: boolean;
- };
-
type UpdateAnnouncementEnableRequest = {
id: number;
enable: boolean;
@@ -1459,19 +1489,6 @@ declare namespace API {
show: boolean;
};
- type UpdateEpayRequest = {
- id: number;
- name: string;
- mark: string;
- icon?: string;
- domain?: string;
- config: EpayConfig;
- fee_mode: number;
- fee_percent?: number;
- fee_amount?: number;
- enable: boolean;
- };
-
type UpdateNodeGroupRequest = {
id: number;
name: string;
@@ -1503,6 +1520,19 @@ declare namespace API {
trade_no?: string;
};
+ type UpdatePaymentMethodRequest = {
+ id: number;
+ name: string;
+ platform: string;
+ icon?: string;
+ domain?: string;
+ config: Record;
+ fee_mode: number;
+ fee_percent?: number;
+ fee_amount?: number;
+ enable: boolean;
+ };
+
type UpdateRuleGroupRequest = {
id: number;
name: string;
@@ -1511,19 +1541,6 @@ declare namespace API {
enable: boolean;
};
- type UpdateStripeRequest = {
- id: number;
- name: string;
- mark: string;
- icon?: string;
- domain?: string;
- config: StripeConfig;
- fee_mode: number;
- fee_percent?: number;
- fee_amount?: number;
- enable: boolean;
- };
-
type UpdateSubscribeGroupRequest = {
id: number;
name: string;
diff --git a/apps/admin/services/common/common.ts b/apps/admin/services/common/common.ts
index 11fa9a5..99d74e8 100644
--- a/apps/admin/services/common/common.ts
+++ b/apps/admin/services/common/common.ts
@@ -2,6 +2,21 @@
/* eslint-disable */
import request from '@/utils/request';
+/** Get Ads GET /v1/common/ads */
+export async function getAds(
+ // 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
+ params: API.GetAdsParams,
+ options?: { [key: string]: any },
+) {
+ return request('/v1/common/ads', {
+ method: 'GET',
+ params: {
+ ...params,
+ },
+ ...(options || {}),
+ });
+}
+
/** Get Tos Content GET /v1/common/application */
export async function getApplication(options?: { [key: string]: any }) {
return request('/v1/common/application', {
diff --git a/apps/admin/services/common/typings.d.ts b/apps/admin/services/common/typings.d.ts
index 475780b..acf19f6 100644
--- a/apps/admin/services/common/typings.d.ts
+++ b/apps/admin/services/common/typings.d.ts
@@ -13,6 +13,10 @@ declare namespace API {
updated_at: number;
};
+ type AlipayNotifyResponse = {
+ return_code: string;
+ };
+
type Announcement = {
id: number;
title: string;
@@ -149,6 +153,19 @@ declare namespace API {
domain_suffix_list: string;
};
+ type EPayNotifyRequest = {
+ pid: number;
+ trade_no: string;
+ out_trade_no: string;
+ type: string;
+ name: string;
+ money: string;
+ trade_status: string;
+ param: string;
+ sign: string;
+ sign_type: string;
+ };
+
type Follow = {
id: number;
ticket_id: number;
@@ -158,6 +175,20 @@ declare namespace API {
created_at: number;
};
+ type GetAdsParams = {
+ device: string;
+ position: string;
+ };
+
+ type GetAdsRequest = {
+ device: string;
+ position: string;
+ };
+
+ type GetAdsResponse = {
+ list: Ads[];
+ };
+
type GetAppcationResponse = {
config: ApplicationConfig;
applications: ApplicationResponseInfo[];
@@ -176,6 +207,7 @@ declare namespace API {
subscribe: SubscribeConfig;
verify_code: PubilcVerifyCodeConfig;
oauth_methods: string[];
+ web_ad: boolean;
};
type GetStatResponse = {
@@ -331,7 +363,7 @@ declare namespace API {
type PaymenMethod = {
id: number;
name: string;
- mark: string;
+ platform: string;
icon: string;
fee_mode: number;
fee_percent: number;
@@ -341,7 +373,7 @@ declare namespace API {
type PaymentConfig = {
id: number;
name: string;
- mark: string;
+ platform: string;
icon?: string;
domain?: string;
config: Record;
@@ -351,6 +383,30 @@ declare namespace API {
enable: boolean;
};
+ type PaymentMethodDetail = {
+ id: number;
+ name: string;
+ platform: string;
+ icon: string;
+ domain: string;
+ config: Record;
+ fee_mode: number;
+ fee_percent: number;
+ fee_amount: number;
+ enable: boolean;
+ notify_url: string;
+ };
+
+ type PlatformInfo = {
+ platform: string;
+ platform_url: string;
+ platform_field_description: Record;
+ };
+
+ type PlatformResponse = {
+ list: PlatformInfo[];
+ };
+
type PreOrderResponse = {
price: number;
amount: number;
@@ -383,7 +439,7 @@ declare namespace API {
type PurchaseOrderRequest = {
subscribe_id: number;
quantity: number;
- payment: string;
+ payment: number;
coupon?: string;
};
@@ -443,7 +499,7 @@ declare namespace API {
type RechargeOrderRequest = {
amount: number;
- payment: string;
+ payment: number;
};
type RechargeOrderResponse = {
@@ -464,7 +520,7 @@ declare namespace API {
type RenewalOrderRequest = {
user_subscribe_id: number;
quantity: number;
- payment: string;
+ payment: number;
coupon?: string;
};
@@ -481,7 +537,7 @@ declare namespace API {
type ResetTrafficOrderRequest = {
user_subscribe_id: number;
- payment: string;
+ payment: number;
};
type ResetTrafficOrderResponse = {