@openrails/billing-ui 0.0.0-stage → 0.233.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +351 -0
- package/LICENSE +21 -0
- package/README.md +260 -2
- package/dist/account/account-billing.d.ts +19 -0
- package/dist/account/cancel-dialog.d.ts +18 -0
- package/dist/account/change-card-dialog.d.ts +14 -0
- package/dist/account/format.d.ts +25 -0
- package/dist/account/notice.d.ts +3 -0
- package/dist/account/payment-history.d.ts +8 -0
- package/dist/account/payment-methods-panel.d.ts +17 -0
- package/dist/account/section.d.ts +27 -0
- package/dist/account/status-badge.d.ts +8 -0
- package/dist/account/subscriptions-panel.d.ts +19 -0
- package/dist/appearance.d.ts +23 -0
- package/dist/authenticate.d.ts +8 -0
- package/dist/checkout-frame.d.ts +17 -0
- package/dist/checkout-page.d.ts +21 -0
- package/dist/checkout.d.ts +24 -0
- package/dist/client/client.d.ts +181 -0
- package/dist/client/errors.d.ts +26 -0
- package/dist/client/generated/currencies.d.ts +1 -0
- package/dist/client/generated/error-codes.d.ts +7 -0
- package/dist/client/generated/routes.d.ts +775 -0
- package/dist/client/generated/wire.d.ts +682 -0
- package/dist/client/index.d.ts +4 -0
- package/dist/client/types.d.ts +800 -0
- package/dist/client-DXUPzA8C.js +889 -0
- package/dist/client-DXUPzA8C.js.map +1 -0
- package/dist/client.js +2 -0
- package/dist/components/billing-fields.d.ts +39 -0
- package/dist/components/card-brands.d.ts +6 -0
- package/dist/components/card-fields.d.ts +29 -0
- package/dist/components/ccbill-fields.d.ts +8 -0
- package/dist/components/methods.d.ts +13 -0
- package/dist/components/pay-button.d.ts +6 -0
- package/dist/components/qr.d.ts +6 -0
- package/dist/components/saved-methods.d.ts +9 -0
- package/dist/components/states.d.ts +10 -0
- package/dist/components/stripe-card.d.ts +17 -0
- package/dist/components/summary.d.ts +12 -0
- package/dist/components/ui/alert-dialog.d.ts +18 -0
- package/dist/components/ui/badge.d.ts +7 -0
- package/dist/components/ui/button.d.ts +8 -0
- package/dist/components/ui/card.d.ts +11 -0
- package/dist/components/ui/dialog.d.ts +17 -0
- package/dist/components/ui/input.d.ts +3 -0
- package/dist/components/ui/label.d.ts +3 -0
- package/dist/components/ui/radio-group.d.ts +5 -0
- package/dist/components/ui/separator.d.ts +3 -0
- package/dist/components/ui/skeleton.d.ts +2 -0
- package/dist/components/ui/spinner.d.ts +3 -0
- package/dist/components/ui/textarea.d.ts +3 -0
- package/dist/config-BQELtBh4.js +341 -0
- package/dist/config-BQELtBh4.js.map +1 -0
- package/dist/dist-CslWupfi.js +3311 -0
- package/dist/dist-CslWupfi.js.map +1 -0
- package/dist/fixtures.d.ts +9 -0
- package/dist/frame.d.ts +47 -0
- package/dist/i18n/context.d.ts +4 -0
- package/dist/i18n/index.d.ts +2 -0
- package/dist/i18n/messages.d.ts +58 -0
- package/dist/index.d.ts +29 -0
- package/dist/index.js +4090 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/billing.d.ts +39 -0
- package/dist/lib/card-brands.d.ts +2 -0
- package/dist/lib/card-entry.d.ts +46 -0
- package/dist/lib/ccbill.d.ts +8 -0
- package/dist/lib/collect.d.ts +51 -0
- package/dist/lib/money.d.ts +10 -0
- package/dist/lib/period.d.ts +13 -0
- package/dist/lib/rail-meta.d.ts +15 -0
- package/dist/lib/redirect.d.ts +2 -0
- package/dist/lib/stripe-appearance.d.ts +2 -0
- package/dist/lib/stripe.d.ts +2 -0
- package/dist/locales/de.d.ts +2 -0
- package/dist/locales/de.js +207 -0
- package/dist/locales/de.js.map +1 -0
- package/dist/locales/en.d.ts +204 -0
- package/dist/locales/en.js +207 -0
- package/dist/locales/en.js.map +1 -0
- package/dist/locales/es.d.ts +2 -0
- package/dist/locales/es.js +207 -0
- package/dist/locales/es.js.map +1 -0
- package/dist/locales/ja.d.ts +2 -0
- package/dist/locales/ja.js +198 -0
- package/dist/locales/ja.js.map +1 -0
- package/dist/locales/ko.d.ts +2 -0
- package/dist/locales/ko.js +198 -0
- package/dist/locales/ko.js.map +1 -0
- package/dist/locales/zh.d.ts +2 -0
- package/dist/locales/zh.js +198 -0
- package/dist/locales/zh.js.map +1 -0
- package/dist/modal.d.ts +12 -0
- package/dist/provider.d.ts +18 -0
- package/dist/psp.d.ts +35 -0
- package/dist/react/config.d.ts +34 -0
- package/dist/react/context.d.ts +35 -0
- package/dist/react/hooks.d.ts +82 -0
- package/dist/react/index.d.ts +4 -0
- package/dist/react/provider.d.ts +10 -0
- package/dist/react/remote.d.ts +10 -0
- package/dist/react.js +33 -0
- package/dist/react.js.map +1 -0
- package/dist/save-payment-method.d.ts +26 -0
- package/dist/scope-context.d.ts +17 -0
- package/dist/scope.d.ts +6 -0
- package/dist/source.d.ts +5 -0
- package/dist/styles.css +3 -0
- package/dist/tokenized-card-form.d.ts +24 -0
- package/dist/types.d.ts +250 -0
- package/docs/payment-form-contract.md +136 -0
- package/package.json +112 -3
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const COUNTRY_OPTIONS: {
|
|
3
|
+
code: string;
|
|
4
|
+
name: string;
|
|
5
|
+
}[];
|
|
6
|
+
export declare const nameOnCardSchema: z.ZodString;
|
|
7
|
+
export declare const countryCodeSchema: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
8
|
+
export declare function isPostalRequired(country: string): boolean;
|
|
9
|
+
export declare function postalField(country: string, required: boolean): {
|
|
10
|
+
label: string;
|
|
11
|
+
placeholder: string;
|
|
12
|
+
inputMode: "numeric" | "text";
|
|
13
|
+
pattern?: string;
|
|
14
|
+
};
|
|
15
|
+
export declare const nmiBillingSchema: z.ZodObject<{
|
|
16
|
+
name_on_card: z.ZodString;
|
|
17
|
+
country: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
18
|
+
zip: z.ZodString;
|
|
19
|
+
}, z.core.$strip>;
|
|
20
|
+
export type NMIBilling = z.infer<typeof nmiBillingSchema>;
|
|
21
|
+
/** A card form's billing fields as a saved card's billing details. */
|
|
22
|
+
export declare function billingDetailsOf(billing: {
|
|
23
|
+
name_on_card?: string;
|
|
24
|
+
email?: string;
|
|
25
|
+
zip?: string;
|
|
26
|
+
country?: string;
|
|
27
|
+
}): {
|
|
28
|
+
address?: {
|
|
29
|
+
country?: string | undefined;
|
|
30
|
+
postal_code?: string | undefined;
|
|
31
|
+
} | undefined;
|
|
32
|
+
email?: string | undefined;
|
|
33
|
+
name?: string | undefined;
|
|
34
|
+
};
|
|
35
|
+
export declare const emptyNMIBilling: NMIBilling;
|
|
36
|
+
/** The buyer's likely billing country from the browser locale, or "". */
|
|
37
|
+
export declare function browserCountry(): string;
|
|
38
|
+
/** The host's country when it is a known code, else the browser's region. */
|
|
39
|
+
export declare function initialCountry(hostCountry?: string): string;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { CollectFieldErrors } from './collect';
|
|
2
|
+
/** A card as OpenRails' `card` field takes it. */
|
|
3
|
+
export interface CardEntry {
|
|
4
|
+
number: string;
|
|
5
|
+
exp_month: number;
|
|
6
|
+
exp_year: number;
|
|
7
|
+
cvc: string;
|
|
8
|
+
}
|
|
9
|
+
/** What the buyer typed, as typed. */
|
|
10
|
+
export interface CardEntryInput {
|
|
11
|
+
number: string;
|
|
12
|
+
expiry: string;
|
|
13
|
+
cvc: string;
|
|
14
|
+
}
|
|
15
|
+
export declare const FIELD_MESSAGES: Required<CollectFieldErrors>;
|
|
16
|
+
/** The card network a number's leading digits name ("" when none). */
|
|
17
|
+
export declare function cardBrandOf(number: string): string;
|
|
18
|
+
/** Groups a number as it is printed: 4-6-5 for Amex, fours otherwise. */
|
|
19
|
+
export declare function formatCardNumber(value: string): string;
|
|
20
|
+
/** MM / YY as it is typed. */
|
|
21
|
+
export declare function formatExpiry(value: string): string;
|
|
22
|
+
/** Every field's error; an empty object means the card is complete. */
|
|
23
|
+
export declare function cardEntryErrors(input: CardEntryInput, now?: Date): CollectFieldErrors;
|
|
24
|
+
/** The card OpenRails takes, or null while any field is invalid. */
|
|
25
|
+
export declare function parseCardEntry(input: CardEntryInput, now?: Date): CardEntry | null;
|
|
26
|
+
/** A card's display facts, the ones a saved card is labelled with. */
|
|
27
|
+
export declare function cardEntryDisplay(card: CardEntry): {
|
|
28
|
+
last_four: string;
|
|
29
|
+
card_type?: string;
|
|
30
|
+
expiry_date: string;
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* The state of one native card form. Errors show once a field was left;
|
|
34
|
+
* `take` hands the card over and clears the form, so the page keeps it no
|
|
35
|
+
* longer than the request that sends it.
|
|
36
|
+
*/
|
|
37
|
+
export declare function useCardEntry(): {
|
|
38
|
+
input: CardEntryInput;
|
|
39
|
+
fieldErrors: CollectFieldErrors;
|
|
40
|
+
valid: boolean;
|
|
41
|
+
change: (field: keyof CardEntryInput, value: string) => void;
|
|
42
|
+
leave: (field: keyof CardEntryInput) => void;
|
|
43
|
+
take: () => CardEntry | null;
|
|
44
|
+
clear: () => void;
|
|
45
|
+
};
|
|
46
|
+
export type CardEntryState = ReturnType<typeof useCardEntry>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const ccbillBillingSchema: z.ZodObject<{
|
|
3
|
+
name_on_card: z.ZodString;
|
|
4
|
+
zip: z.ZodString;
|
|
5
|
+
country: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
6
|
+
}, z.core.$strip>;
|
|
7
|
+
export type CCBillBilling = z.infer<typeof ccbillBillingSchema>;
|
|
8
|
+
export declare const emptyCCBillBilling: CCBillBilling;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
export interface CollectCard {
|
|
2
|
+
number?: string;
|
|
3
|
+
type?: string;
|
|
4
|
+
exp?: string;
|
|
5
|
+
}
|
|
6
|
+
export interface CollectResponse {
|
|
7
|
+
token: string;
|
|
8
|
+
card?: CollectCard;
|
|
9
|
+
}
|
|
10
|
+
declare global {
|
|
11
|
+
interface Window {
|
|
12
|
+
CollectJS?: {
|
|
13
|
+
configure: (config: Record<string, unknown>) => void;
|
|
14
|
+
startPaymentRequest: () => void;
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export declare function toPlainColor(value: string | undefined): string;
|
|
19
|
+
export declare function isPreviewTokenizationKey(key: string): boolean;
|
|
20
|
+
/** Inline field errors, keyed by our field names. */
|
|
21
|
+
export interface CollectFieldErrors {
|
|
22
|
+
number?: string;
|
|
23
|
+
expiry?: string;
|
|
24
|
+
cvv?: string;
|
|
25
|
+
}
|
|
26
|
+
export interface CollectFieldSelectors {
|
|
27
|
+
number: string;
|
|
28
|
+
expiry: string;
|
|
29
|
+
cvv: string;
|
|
30
|
+
}
|
|
31
|
+
export declare function useCollectJS(config: {
|
|
32
|
+
enabled: boolean;
|
|
33
|
+
active: boolean;
|
|
34
|
+
tokenizationKey: string;
|
|
35
|
+
scriptURL: string;
|
|
36
|
+
selectors: CollectFieldSelectors;
|
|
37
|
+
}): {
|
|
38
|
+
ready: boolean;
|
|
39
|
+
preview: boolean;
|
|
40
|
+
loadError?: string;
|
|
41
|
+
/** Every field reported valid by the gateway. */
|
|
42
|
+
valid: boolean;
|
|
43
|
+
fieldErrors: CollectFieldErrors;
|
|
44
|
+
tokenize: () => Promise<CollectResponse>;
|
|
45
|
+
};
|
|
46
|
+
/** Display metadata of a tokenized card: never the PAN. */
|
|
47
|
+
export declare function collectCardDisplay(card?: CollectCard): {
|
|
48
|
+
last_four?: string;
|
|
49
|
+
card_type?: string;
|
|
50
|
+
expiry_date?: string;
|
|
51
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export type Amount = string;
|
|
2
|
+
export declare const MAX_UNIT_DECIMALS = 18;
|
|
3
|
+
export declare function amountUnits(amount: unknown): bigint | null;
|
|
4
|
+
export declare function isAmount(value: unknown): value is Amount;
|
|
5
|
+
export declare function isUnitDecimals(value: unknown): value is number;
|
|
6
|
+
export declare function addAmounts(...amounts: Amount[]): Amount | null;
|
|
7
|
+
export declare const intlFormatsDecimalStringsExactly: boolean;
|
|
8
|
+
export declare function amountToDecimal(amount: Amount, decimals: number): string | null;
|
|
9
|
+
export declare function decimalToAmount(decimal: string, decimals: number): Amount | null;
|
|
10
|
+
export declare function formatAmount(amount: Amount | null | undefined, currency: string, decimals: number, locale?: string): string;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Translator } from '../i18n/messages';
|
|
2
|
+
export type PeriodUnit = "hour" | "day" | "week";
|
|
3
|
+
export interface Period {
|
|
4
|
+
unit: PeriodUnit;
|
|
5
|
+
count: number;
|
|
6
|
+
}
|
|
7
|
+
export declare function periodOf(hours: number | null | undefined): Period | null;
|
|
8
|
+
/** "every 30 days" */
|
|
9
|
+
export declare function everyLabel(hours: number | null | undefined, m: Translator): string | null;
|
|
10
|
+
/** "/ 30 days" */
|
|
11
|
+
export declare function perLabel(hours: number | null | undefined, m: Translator): string | null;
|
|
12
|
+
/** "30 days of access", for a window that does not renew. */
|
|
13
|
+
export declare function accessLabel(hours: number | null | undefined, m: Translator): string | null;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { PaymentOption } from '../types';
|
|
2
|
+
export interface RailMeta {
|
|
3
|
+
label: string;
|
|
4
|
+
hint?: string;
|
|
5
|
+
}
|
|
6
|
+
export declare function railMeta(option: PaymentOption): RailMeta;
|
|
7
|
+
export declare const RAIL_META: Record<string, RailMeta>;
|
|
8
|
+
export interface SolanaToken {
|
|
9
|
+
symbol: string;
|
|
10
|
+
name?: string;
|
|
11
|
+
network?: string;
|
|
12
|
+
}
|
|
13
|
+
export declare function solanaToken(option: PaymentOption): SolanaToken | undefined;
|
|
14
|
+
export declare function solanaHint(token: SolanaToken): string;
|
|
15
|
+
export declare function supportedOptions(options: PaymentOption[]): PaymentOption[];
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
//#region src/locales/de.ts
|
|
2
|
+
var e = {
|
|
3
|
+
common: {
|
|
4
|
+
cancel: "Abbrechen",
|
|
5
|
+
close: "Schließen",
|
|
6
|
+
retry: "Erneut versuchen",
|
|
7
|
+
loading: "Wird geladen...",
|
|
8
|
+
previous: "Zurück",
|
|
9
|
+
next: "Weiter",
|
|
10
|
+
notAvailable: "—"
|
|
11
|
+
},
|
|
12
|
+
status: {
|
|
13
|
+
active: "Aktiv",
|
|
14
|
+
pending: "Ausstehend",
|
|
15
|
+
past_due: "Überfällig",
|
|
16
|
+
canceled: "Gekündigt",
|
|
17
|
+
cancel_scheduled: "Endet",
|
|
18
|
+
unknown: "Unbekannt",
|
|
19
|
+
awaiting_method: "Karte aktualisieren",
|
|
20
|
+
unverified: "Wird geprüft",
|
|
21
|
+
succeeded: "Bezahlt",
|
|
22
|
+
failed: "Fehlgeschlagen",
|
|
23
|
+
refunded: "Erstattet",
|
|
24
|
+
partially_refunded: "Teilweise erstattet",
|
|
25
|
+
expired: "Abgelaufen",
|
|
26
|
+
expiring_soon: "Läuft bald ab",
|
|
27
|
+
needs_attention: "Prüfen",
|
|
28
|
+
collection: "Rechnungen"
|
|
29
|
+
},
|
|
30
|
+
interval: {
|
|
31
|
+
every: {
|
|
32
|
+
hour: {
|
|
33
|
+
one: "stündlich",
|
|
34
|
+
other: "alle {count} Stunden"
|
|
35
|
+
},
|
|
36
|
+
day: {
|
|
37
|
+
one: "täglich",
|
|
38
|
+
other: "alle {count} Tage"
|
|
39
|
+
},
|
|
40
|
+
week: {
|
|
41
|
+
one: "wöchentlich",
|
|
42
|
+
other: "alle {count} Wochen"
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
per: {
|
|
46
|
+
hour: {
|
|
47
|
+
one: "/ Stunde",
|
|
48
|
+
other: "/ {count} Stunden"
|
|
49
|
+
},
|
|
50
|
+
day: {
|
|
51
|
+
one: "/ Tag",
|
|
52
|
+
other: "/ {count} Tage"
|
|
53
|
+
},
|
|
54
|
+
week: {
|
|
55
|
+
one: "/ Woche",
|
|
56
|
+
other: "/ {count} Wochen"
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
access: {
|
|
60
|
+
hour: {
|
|
61
|
+
one: "1 Stunde Zugang",
|
|
62
|
+
other: "{count} Stunden Zugang"
|
|
63
|
+
},
|
|
64
|
+
day: {
|
|
65
|
+
one: "1 Tag Zugang",
|
|
66
|
+
other: "{count} Tage Zugang"
|
|
67
|
+
},
|
|
68
|
+
week: {
|
|
69
|
+
one: "1 Woche Zugang",
|
|
70
|
+
other: "{count} Wochen Zugang"
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
once: "einmalig",
|
|
74
|
+
permanent: "Zugriff ohne geplantes Ablaufdatum"
|
|
75
|
+
},
|
|
76
|
+
subscriptions: {
|
|
77
|
+
title: "Abonnements",
|
|
78
|
+
description: "Deine Pläne und wann sie sich verlängern.",
|
|
79
|
+
empty: "Noch keine Abonnements",
|
|
80
|
+
emptyDescription: "Abgeschlossene Pläne erscheinen hier.",
|
|
81
|
+
browsePlans: "Pläne ansehen",
|
|
82
|
+
fallbackName: "Abonnement",
|
|
83
|
+
renews: "Verlängert sich am {date}",
|
|
84
|
+
endsOn: "Zugriff bis {date}",
|
|
85
|
+
noMorePayments: "Keine weiteren Zahlungen",
|
|
86
|
+
endedOn: "Beendet am {date}",
|
|
87
|
+
pastDue: "Zahlung fehlgeschlagen. Aktualisiere deine Karte, um den Zugriff zu behalten.",
|
|
88
|
+
cancel: "Kündigen",
|
|
89
|
+
cancelLabel: "{name} kündigen",
|
|
90
|
+
resume: "Fortsetzen",
|
|
91
|
+
resumed: "Dein Abonnement läuft weiter.",
|
|
92
|
+
manageAtProvider: "Verwalten",
|
|
93
|
+
updating: "Wird aktualisiert...",
|
|
94
|
+
paidWith: "{brand} •••• {last4}",
|
|
95
|
+
wallet: "Solana-Wallet",
|
|
96
|
+
changeCard: "Karte ändern",
|
|
97
|
+
changeCardLabel: "Karte für {name} ändern"
|
|
98
|
+
},
|
|
99
|
+
changeCard: {
|
|
100
|
+
title: "{name} bezahlen mit",
|
|
101
|
+
description: "Künftige Verlängerungen werden von der gewählten Karte abgebucht.",
|
|
102
|
+
none: "Füge unter Zahlungsmethoden eine weitere Karte hinzu, um zu wechseln.",
|
|
103
|
+
confirm: "Diese Karte verwenden",
|
|
104
|
+
current: "Aktuell",
|
|
105
|
+
done: "Zahlungskarte aktualisiert."
|
|
106
|
+
},
|
|
107
|
+
cancel: {
|
|
108
|
+
title: "{name} kündigen?",
|
|
109
|
+
description: "Künftige Zahlungen werden eingestellt. Bereits gekaufter Zugriff bleibt bestehen.",
|
|
110
|
+
solanaDescription: "Deine Wallet signiert eine On-Chain-Kündigung. Bereits gekaufter Zugriff bleibt bestehen.",
|
|
111
|
+
reasonLabel: "Warum kündigst du?",
|
|
112
|
+
reasonPlaceholder: "Dein Feedback hilft uns, besser zu werden.",
|
|
113
|
+
reasonHint: "{count}/{max}",
|
|
114
|
+
reasonTooShort: "Gib mindestens {min} Zeichen ein.",
|
|
115
|
+
keep: "Abonnement behalten",
|
|
116
|
+
confirm: "Abonnement kündigen",
|
|
117
|
+
confirmWallet: "Mit Wallet signieren",
|
|
118
|
+
working: "Wird gekündigt...",
|
|
119
|
+
preparing: "Transaktion wird vorbereitet...",
|
|
120
|
+
signing: "In deiner Wallet bestätigen...",
|
|
121
|
+
confirming: "Kündigung wird erfasst...",
|
|
122
|
+
done: "Kündigung angefordert."
|
|
123
|
+
},
|
|
124
|
+
paymentMethods: {
|
|
125
|
+
title: "Zahlungsmethoden",
|
|
126
|
+
description: "Gespeicherte Karten für deine Abonnements.",
|
|
127
|
+
empty: "Keine gespeicherten Karten",
|
|
128
|
+
emptyDescription: "Gespeicherte Karten erscheinen hier.",
|
|
129
|
+
add: "Karte hinzufügen",
|
|
130
|
+
addTitle: "Karte hinzufügen",
|
|
131
|
+
addDescription: "Kartendaten gehen direkt an den Zahlungsdienstleister; diese Seite sieht sie nie.",
|
|
132
|
+
save: "Karte speichern",
|
|
133
|
+
added: "Karte gespeichert.",
|
|
134
|
+
provider: "Zahlungsanbieter",
|
|
135
|
+
saveNotice: "Eingegebene Karten werden für künftige Zahlungen in Ihrem Konto gespeichert.",
|
|
136
|
+
unavailable: "Sichere Karteneingabe ist für diesen Anbieter nicht verfügbar.",
|
|
137
|
+
addUnavailable: "Karten können vorübergehend nicht hinzugefügt werden.",
|
|
138
|
+
verificationPending: "Die Kartenprüfung läuft noch. Prüfe deine gespeicherten Karten, bevor du es erneut versuchst.",
|
|
139
|
+
cardLabel: "{brand} •••• {last4}",
|
|
140
|
+
fallbackBrand: "Karte",
|
|
141
|
+
expires: "Gültig bis {date}",
|
|
142
|
+
usedBy: "Verwendet von {names}",
|
|
143
|
+
collectsFor: "Zahlt {currencies}-Rechnungen",
|
|
144
|
+
useForInvoices: "Für Rechnungen verwenden",
|
|
145
|
+
usedForInvoices: "Karte für Rechnungen aktualisiert.",
|
|
146
|
+
remove: "Entfernen",
|
|
147
|
+
removeLabel: "{label} entfernen",
|
|
148
|
+
removeTitle: "{label} entfernen?",
|
|
149
|
+
removeDescription: "Eine Karte, die ein aktives Abonnement bezahlt, muss vor dem Entfernen ersetzt werden.",
|
|
150
|
+
removeConfirm: "Karte entfernen",
|
|
151
|
+
removed: "Karte entfernt.",
|
|
152
|
+
removePending: "Entfernung wird verarbeitet.",
|
|
153
|
+
inUse: "Diese Karte bezahlt ein aktives Abonnement. Stelle das Abonnement zuerst auf eine andere Karte um."
|
|
154
|
+
},
|
|
155
|
+
checkout: { renews: "Verlängert sich {period}" },
|
|
156
|
+
history: {
|
|
157
|
+
title: "Zahlungsverlauf",
|
|
158
|
+
description: "Belastungen und Erstattungen deines Kontos.",
|
|
159
|
+
empty: "Noch keine Zahlungen",
|
|
160
|
+
emptyDescription: "Abgeschlossene Zahlungen erscheinen hier.",
|
|
161
|
+
date: "Datum",
|
|
162
|
+
item: "Artikel",
|
|
163
|
+
subscription: "Abonnement",
|
|
164
|
+
purchase: "Kauf",
|
|
165
|
+
method: "Methode",
|
|
166
|
+
status: "Status",
|
|
167
|
+
amount: "Betrag",
|
|
168
|
+
refund: "Erstattung",
|
|
169
|
+
refundedAmount: "{amount} erstattet",
|
|
170
|
+
page: "Seite {page}",
|
|
171
|
+
rail: {
|
|
172
|
+
card: "Karte",
|
|
173
|
+
solana: "Solana",
|
|
174
|
+
ccbill: "Karte",
|
|
175
|
+
nmi: "Karte",
|
|
176
|
+
stripe: "Karte"
|
|
177
|
+
}
|
|
178
|
+
},
|
|
179
|
+
errors: {
|
|
180
|
+
generic: "Etwas ist schiefgelaufen. Bitte versuche es erneut.",
|
|
181
|
+
network: "Der Server ist nicht erreichbar. Prüfe deine Verbindung und versuche es erneut.",
|
|
182
|
+
network_error: "Der Server ist nicht erreichbar. Prüfe deine Verbindung und versuche es erneut.",
|
|
183
|
+
invalid_response: "Der Server hat eine unerwartete Antwort gesendet.",
|
|
184
|
+
authentication_required: "Deine Sitzung ist abgelaufen. Melde dich erneut an.",
|
|
185
|
+
resource_access_denied: "Du hast darauf keinen Zugriff.",
|
|
186
|
+
resource_not_found: "Dieser Eintrag existiert nicht mehr.",
|
|
187
|
+
resource_conflict: "Das hat sich inzwischen geändert. Lade neu und versuche es erneut.",
|
|
188
|
+
rate_limit_exceeded: "Zu viele Anfragen. Warte einen Moment und versuche es erneut.",
|
|
189
|
+
service_unavailable: "Die Abrechnung ist vorübergehend nicht verfügbar. Versuche es bald erneut.",
|
|
190
|
+
internal_error: "Bei uns ist etwas schiefgelaufen. Bitte versuche es erneut.",
|
|
191
|
+
card_declined: "Die Karte wurde abgelehnt.",
|
|
192
|
+
payment_provider_rejected: "Der Zahlungsdienstleister hat die Anfrage abgelehnt.",
|
|
193
|
+
provider_outcome_unknown: "Wir konnten das Ergebnis beim Anbieter nicht bestätigen. Prüfe es in Kürze erneut.",
|
|
194
|
+
payment_in_progress: "Eine Zahlung ist bereits in Bearbeitung.",
|
|
195
|
+
payment_method_delete_unsupported: "Diese Karte kann hier nicht entfernt werden. Wende dich an den Support.",
|
|
196
|
+
payment_method_delete_failed: "Der Anbieter konnte die Karte nicht entfernen. Versuche es später erneut.",
|
|
197
|
+
customer_session_required: "Melde dich erneut an, um dies zu tun.",
|
|
198
|
+
invoker_scoped_principal: "Dieses Konto kann keine Abrechnung verwalten.",
|
|
199
|
+
csrf_origin_denied: "Die Anfrage wurde blockiert. Lade die Seite neu.",
|
|
200
|
+
wallet_rejected: "Die Wallet-Anfrage wurde abgelehnt.",
|
|
201
|
+
wallet_no_signature: "Die Wallet hat die Transaktion nicht signiert."
|
|
202
|
+
}
|
|
203
|
+
};
|
|
204
|
+
//#endregion
|
|
205
|
+
export { e as de };
|
|
206
|
+
|
|
207
|
+
//# sourceMappingURL=de.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"de.js","names":[],"sources":["../../src/locales/de.ts"],"sourcesContent":["import type { BillingUiMessageBundle } from \"../i18n/messages\"\n\nexport const de: BillingUiMessageBundle = {\n common: {\n cancel: \"Abbrechen\",\n close: \"Schließen\",\n retry: \"Erneut versuchen\",\n loading: \"Wird geladen...\",\n previous: \"Zurück\",\n next: \"Weiter\",\n notAvailable: \"—\",\n },\n status: {\n active: \"Aktiv\",\n pending: \"Ausstehend\",\n past_due: \"Überfällig\",\n canceled: \"Gekündigt\",\n cancel_scheduled: \"Endet\",\n unknown: \"Unbekannt\",\n awaiting_method: \"Karte aktualisieren\",\n unverified: \"Wird geprüft\",\n succeeded: \"Bezahlt\",\n failed: \"Fehlgeschlagen\",\n refunded: \"Erstattet\",\n partially_refunded: \"Teilweise erstattet\",\n expired: \"Abgelaufen\",\n expiring_soon: \"Läuft bald ab\",\n needs_attention: \"Prüfen\",\n collection: \"Rechnungen\",\n },\n interval: {\n every: {\n hour: { one: \"stündlich\", other: \"alle {count} Stunden\" },\n day: { one: \"täglich\", other: \"alle {count} Tage\" },\n week: { one: \"wöchentlich\", other: \"alle {count} Wochen\" },\n },\n per: {\n hour: { one: \"/ Stunde\", other: \"/ {count} Stunden\" },\n day: { one: \"/ Tag\", other: \"/ {count} Tage\" },\n week: { one: \"/ Woche\", other: \"/ {count} Wochen\" },\n },\n access: {\n hour: { one: \"1 Stunde Zugang\", other: \"{count} Stunden Zugang\" },\n day: { one: \"1 Tag Zugang\", other: \"{count} Tage Zugang\" },\n week: { one: \"1 Woche Zugang\", other: \"{count} Wochen Zugang\" },\n },\n once: \"einmalig\",\n permanent: \"Zugriff ohne geplantes Ablaufdatum\",\n },\n subscriptions: {\n title: \"Abonnements\",\n description: \"Deine Pläne und wann sie sich verlängern.\",\n empty: \"Noch keine Abonnements\",\n emptyDescription: \"Abgeschlossene Pläne erscheinen hier.\",\n browsePlans: \"Pläne ansehen\",\n fallbackName: \"Abonnement\",\n renews: \"Verlängert sich am {date}\",\n endsOn: \"Zugriff bis {date}\",\n noMorePayments: \"Keine weiteren Zahlungen\",\n endedOn: \"Beendet am {date}\",\n pastDue:\n \"Zahlung fehlgeschlagen. Aktualisiere deine Karte, um den Zugriff zu behalten.\",\n cancel: \"Kündigen\",\n cancelLabel: \"{name} kündigen\",\n resume: \"Fortsetzen\",\n resumed: \"Dein Abonnement läuft weiter.\",\n manageAtProvider: \"Verwalten\",\n updating: \"Wird aktualisiert...\",\n paidWith: \"{brand} •••• {last4}\",\n wallet: \"Solana-Wallet\",\n changeCard: \"Karte ändern\",\n changeCardLabel: \"Karte für {name} ändern\",\n },\n changeCard: {\n title: \"{name} bezahlen mit\",\n description:\n \"Künftige Verlängerungen werden von der gewählten Karte abgebucht.\",\n none: \"Füge unter Zahlungsmethoden eine weitere Karte hinzu, um zu wechseln.\",\n confirm: \"Diese Karte verwenden\",\n current: \"Aktuell\",\n done: \"Zahlungskarte aktualisiert.\",\n },\n cancel: {\n title: \"{name} kündigen?\",\n description: \"Künftige Zahlungen werden eingestellt. Bereits gekaufter Zugriff bleibt bestehen.\",\n solanaDescription: \"Deine Wallet signiert eine On-Chain-Kündigung. Bereits gekaufter Zugriff bleibt bestehen.\",\n reasonLabel: \"Warum kündigst du?\",\n reasonPlaceholder: \"Dein Feedback hilft uns, besser zu werden.\",\n reasonHint: \"{count}/{max}\",\n reasonTooShort: \"Gib mindestens {min} Zeichen ein.\",\n keep: \"Abonnement behalten\",\n confirm: \"Abonnement kündigen\",\n confirmWallet: \"Mit Wallet signieren\",\n working: \"Wird gekündigt...\",\n preparing: \"Transaktion wird vorbereitet...\",\n signing: \"In deiner Wallet bestätigen...\",\n confirming: \"Kündigung wird erfasst...\",\n done: \"Kündigung angefordert.\",\n },\n paymentMethods: {\n title: \"Zahlungsmethoden\",\n description: \"Gespeicherte Karten für deine Abonnements.\",\n empty: \"Keine gespeicherten Karten\",\n emptyDescription: \"Gespeicherte Karten erscheinen hier.\",\n add: \"Karte hinzufügen\",\n addTitle: \"Karte hinzufügen\",\n addDescription:\n \"Kartendaten gehen direkt an den Zahlungsdienstleister; diese Seite sieht sie nie.\",\n save: \"Karte speichern\",\n added: \"Karte gespeichert.\",\n provider: \"Zahlungsanbieter\",\n saveNotice:\n \"Eingegebene Karten werden für künftige Zahlungen in Ihrem Konto gespeichert.\",\n unavailable:\n \"Sichere Karteneingabe ist für diesen Anbieter nicht verfügbar.\",\n addUnavailable: \"Karten können vorübergehend nicht hinzugefügt werden.\",\n verificationPending:\n \"Die Kartenprüfung läuft noch. Prüfe deine gespeicherten Karten, bevor du es erneut versuchst.\",\n cardLabel: \"{brand} •••• {last4}\",\n fallbackBrand: \"Karte\",\n expires: \"Gültig bis {date}\",\n usedBy: \"Verwendet von {names}\",\n collectsFor: \"Zahlt {currencies}-Rechnungen\",\n useForInvoices: \"Für Rechnungen verwenden\",\n usedForInvoices: \"Karte für Rechnungen aktualisiert.\",\n remove: \"Entfernen\",\n removeLabel: \"{label} entfernen\",\n removeTitle: \"{label} entfernen?\",\n removeDescription:\n \"Eine Karte, die ein aktives Abonnement bezahlt, muss vor dem Entfernen ersetzt werden.\",\n removeConfirm: \"Karte entfernen\",\n removed: \"Karte entfernt.\",\n removePending: \"Entfernung wird verarbeitet.\",\n inUse:\n \"Diese Karte bezahlt ein aktives Abonnement. Stelle das Abonnement zuerst auf eine andere Karte um.\",\n },\n checkout: {\n renews: \"Verlängert sich {period}\",\n },\n history: {\n title: \"Zahlungsverlauf\",\n description: \"Belastungen und Erstattungen deines Kontos.\",\n empty: \"Noch keine Zahlungen\",\n emptyDescription: \"Abgeschlossene Zahlungen erscheinen hier.\",\n date: \"Datum\",\n item: \"Artikel\",\n subscription: \"Abonnement\",\n purchase: \"Kauf\",\n method: \"Methode\",\n status: \"Status\",\n amount: \"Betrag\",\n refund: \"Erstattung\",\n refundedAmount: \"{amount} erstattet\",\n page: \"Seite {page}\",\n rail: {\n card: \"Karte\",\n solana: \"Solana\",\n ccbill: \"Karte\",\n nmi: \"Karte\",\n stripe: \"Karte\",\n },\n },\n errors: {\n generic: \"Etwas ist schiefgelaufen. Bitte versuche es erneut.\",\n network:\n \"Der Server ist nicht erreichbar. Prüfe deine Verbindung und versuche es erneut.\",\n network_error:\n \"Der Server ist nicht erreichbar. Prüfe deine Verbindung und versuche es erneut.\",\n invalid_response: \"Der Server hat eine unerwartete Antwort gesendet.\",\n authentication_required:\n \"Deine Sitzung ist abgelaufen. Melde dich erneut an.\",\n resource_access_denied: \"Du hast darauf keinen Zugriff.\",\n resource_not_found: \"Dieser Eintrag existiert nicht mehr.\",\n resource_conflict:\n \"Das hat sich inzwischen geändert. Lade neu und versuche es erneut.\",\n rate_limit_exceeded:\n \"Zu viele Anfragen. Warte einen Moment und versuche es erneut.\",\n service_unavailable:\n \"Die Abrechnung ist vorübergehend nicht verfügbar. Versuche es bald erneut.\",\n internal_error:\n \"Bei uns ist etwas schiefgelaufen. Bitte versuche es erneut.\",\n card_declined: \"Die Karte wurde abgelehnt.\",\n payment_provider_rejected:\n \"Der Zahlungsdienstleister hat die Anfrage abgelehnt.\",\n provider_outcome_unknown:\n \"Wir konnten das Ergebnis beim Anbieter nicht bestätigen. Prüfe es in Kürze erneut.\",\n payment_in_progress: \"Eine Zahlung ist bereits in Bearbeitung.\",\n payment_method_delete_unsupported:\n \"Diese Karte kann hier nicht entfernt werden. Wende dich an den Support.\",\n payment_method_delete_failed:\n \"Der Anbieter konnte die Karte nicht entfernen. Versuche es später erneut.\",\n customer_session_required: \"Melde dich erneut an, um dies zu tun.\",\n invoker_scoped_principal: \"Dieses Konto kann keine Abrechnung verwalten.\",\n csrf_origin_denied: \"Die Anfrage wurde blockiert. Lade die Seite neu.\",\n wallet_rejected: \"Die Wallet-Anfrage wurde abgelehnt.\",\n wallet_no_signature: \"Die Wallet hat die Transaktion nicht signiert.\",\n },\n}\n"],"mappings":";AAEA,IAAa,IAA6B;CACxC,QAAQ;EACN,QAAQ;EACR,OAAO;EACP,OAAO;EACP,SAAS;EACT,UAAU;EACV,MAAM;EACN,cAAc;CAChB;CACA,QAAQ;EACN,QAAQ;EACR,SAAS;EACT,UAAU;EACV,UAAU;EACV,kBAAkB;EAClB,SAAS;EACT,iBAAiB;EACjB,YAAY;EACZ,WAAW;EACX,QAAQ;EACR,UAAU;EACV,oBAAoB;EACpB,SAAS;EACT,eAAe;EACf,iBAAiB;EACjB,YAAY;CACd;CACA,UAAU;EACR,OAAO;GACL,MAAM;IAAE,KAAK;IAAa,OAAO;GAAuB;GACxD,KAAK;IAAE,KAAK;IAAW,OAAO;GAAoB;GAClD,MAAM;IAAE,KAAK;IAAe,OAAO;GAAsB;EAC3D;EACA,KAAK;GACH,MAAM;IAAE,KAAK;IAAY,OAAO;GAAoB;GACpD,KAAK;IAAE,KAAK;IAAS,OAAO;GAAiB;GAC7C,MAAM;IAAE,KAAK;IAAW,OAAO;GAAmB;EACpD;EACA,QAAQ;GACN,MAAM;IAAE,KAAK;IAAmB,OAAO;GAAyB;GAChE,KAAK;IAAE,KAAK;IAAgB,OAAO;GAAsB;GACzD,MAAM;IAAE,KAAK;IAAkB,OAAO;GAAwB;EAChE;EACA,MAAM;EACN,WAAW;CACb;CACA,eAAe;EACb,OAAO;EACP,aAAa;EACb,OAAO;EACP,kBAAkB;EAClB,aAAa;EACb,cAAc;EACd,QAAQ;EACR,QAAQ;EACR,gBAAgB;EAChB,SAAS;EACT,SACE;EACF,QAAQ;EACR,aAAa;EACb,QAAQ;EACR,SAAS;EACT,kBAAkB;EAClB,UAAU;EACV,UAAU;EACV,QAAQ;EACR,YAAY;EACZ,iBAAiB;CACnB;CACA,YAAY;EACV,OAAO;EACP,aACE;EACF,MAAM;EACN,SAAS;EACT,SAAS;EACT,MAAM;CACR;CACA,QAAQ;EACN,OAAO;EACP,aAAa;EACb,mBAAmB;EACnB,aAAa;EACb,mBAAmB;EACnB,YAAY;EACZ,gBAAgB;EAChB,MAAM;EACN,SAAS;EACT,eAAe;EACf,SAAS;EACT,WAAW;EACX,SAAS;EACT,YAAY;EACZ,MAAM;CACR;CACA,gBAAgB;EACd,OAAO;EACP,aAAa;EACb,OAAO;EACP,kBAAkB;EAClB,KAAK;EACL,UAAU;EACV,gBACE;EACF,MAAM;EACN,OAAO;EACP,UAAU;EACV,YACE;EACF,aACE;EACF,gBAAgB;EAChB,qBACE;EACF,WAAW;EACX,eAAe;EACf,SAAS;EACT,QAAQ;EACR,aAAa;EACb,gBAAgB;EAChB,iBAAiB;EACjB,QAAQ;EACR,aAAa;EACb,aAAa;EACb,mBACE;EACF,eAAe;EACf,SAAS;EACT,eAAe;EACf,OACE;CACJ;CACA,UAAU,EACR,QAAQ,2BACV;CACA,SAAS;EACP,OAAO;EACP,aAAa;EACb,OAAO;EACP,kBAAkB;EAClB,MAAM;EACN,MAAM;EACN,cAAc;EACd,UAAU;EACV,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,gBAAgB;EAChB,MAAM;EACN,MAAM;GACJ,MAAM;GACN,QAAQ;GACR,QAAQ;GACR,KAAK;GACL,QAAQ;EACV;CACF;CACA,QAAQ;EACN,SAAS;EACT,SACE;EACF,eACE;EACF,kBAAkB;EAClB,yBACE;EACF,wBAAwB;EACxB,oBAAoB;EACpB,mBACE;EACF,qBACE;EACF,qBACE;EACF,gBACE;EACF,eAAe;EACf,2BACE;EACF,0BACE;EACF,qBAAqB;EACrB,mCACE;EACF,8BACE;EACF,2BAA2B;EAC3B,0BAA0B;EAC1B,oBAAoB;EACpB,iBAAiB;EACjB,qBAAqB;CACvB;AACF"}
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
export declare const en: {
|
|
2
|
+
common: {
|
|
3
|
+
cancel: string;
|
|
4
|
+
close: string;
|
|
5
|
+
retry: string;
|
|
6
|
+
loading: string;
|
|
7
|
+
previous: string;
|
|
8
|
+
next: string;
|
|
9
|
+
notAvailable: string;
|
|
10
|
+
};
|
|
11
|
+
status: {
|
|
12
|
+
active: string;
|
|
13
|
+
pending: string;
|
|
14
|
+
past_due: string;
|
|
15
|
+
canceled: string;
|
|
16
|
+
cancel_scheduled: string;
|
|
17
|
+
unknown: string;
|
|
18
|
+
awaiting_method: string;
|
|
19
|
+
unverified: string;
|
|
20
|
+
succeeded: string;
|
|
21
|
+
failed: string;
|
|
22
|
+
refunded: string;
|
|
23
|
+
partially_refunded: string;
|
|
24
|
+
expired: string;
|
|
25
|
+
expiring_soon: string;
|
|
26
|
+
needs_attention: string;
|
|
27
|
+
collection: string;
|
|
28
|
+
};
|
|
29
|
+
interval: {
|
|
30
|
+
every: {
|
|
31
|
+
hour: {
|
|
32
|
+
one: string;
|
|
33
|
+
other: string;
|
|
34
|
+
};
|
|
35
|
+
day: {
|
|
36
|
+
one: string;
|
|
37
|
+
other: string;
|
|
38
|
+
};
|
|
39
|
+
week: {
|
|
40
|
+
one: string;
|
|
41
|
+
other: string;
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
per: {
|
|
45
|
+
hour: {
|
|
46
|
+
one: string;
|
|
47
|
+
other: string;
|
|
48
|
+
};
|
|
49
|
+
day: {
|
|
50
|
+
one: string;
|
|
51
|
+
other: string;
|
|
52
|
+
};
|
|
53
|
+
week: {
|
|
54
|
+
one: string;
|
|
55
|
+
other: string;
|
|
56
|
+
};
|
|
57
|
+
};
|
|
58
|
+
access: {
|
|
59
|
+
hour: {
|
|
60
|
+
one: string;
|
|
61
|
+
other: string;
|
|
62
|
+
};
|
|
63
|
+
day: {
|
|
64
|
+
one: string;
|
|
65
|
+
other: string;
|
|
66
|
+
};
|
|
67
|
+
week: {
|
|
68
|
+
one: string;
|
|
69
|
+
other: string;
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
once: string;
|
|
73
|
+
permanent: string;
|
|
74
|
+
};
|
|
75
|
+
subscriptions: {
|
|
76
|
+
title: string;
|
|
77
|
+
description: string;
|
|
78
|
+
empty: string;
|
|
79
|
+
emptyDescription: string;
|
|
80
|
+
browsePlans: string;
|
|
81
|
+
fallbackName: string;
|
|
82
|
+
renews: string;
|
|
83
|
+
endsOn: string;
|
|
84
|
+
noMorePayments: string;
|
|
85
|
+
endedOn: string;
|
|
86
|
+
pastDue: string;
|
|
87
|
+
cancel: string;
|
|
88
|
+
cancelLabel: string;
|
|
89
|
+
resume: string;
|
|
90
|
+
resumed: string;
|
|
91
|
+
manageAtProvider: string;
|
|
92
|
+
updating: string;
|
|
93
|
+
paidWith: string;
|
|
94
|
+
wallet: string;
|
|
95
|
+
changeCard: string;
|
|
96
|
+
changeCardLabel: string;
|
|
97
|
+
};
|
|
98
|
+
changeCard: {
|
|
99
|
+
title: string;
|
|
100
|
+
description: string;
|
|
101
|
+
none: string;
|
|
102
|
+
confirm: string;
|
|
103
|
+
current: string;
|
|
104
|
+
done: string;
|
|
105
|
+
};
|
|
106
|
+
cancel: {
|
|
107
|
+
title: string;
|
|
108
|
+
description: string;
|
|
109
|
+
solanaDescription: string;
|
|
110
|
+
reasonLabel: string;
|
|
111
|
+
reasonPlaceholder: string;
|
|
112
|
+
reasonHint: string;
|
|
113
|
+
reasonTooShort: string;
|
|
114
|
+
keep: string;
|
|
115
|
+
confirm: string;
|
|
116
|
+
confirmWallet: string;
|
|
117
|
+
working: string;
|
|
118
|
+
preparing: string;
|
|
119
|
+
signing: string;
|
|
120
|
+
confirming: string;
|
|
121
|
+
done: string;
|
|
122
|
+
};
|
|
123
|
+
paymentMethods: {
|
|
124
|
+
title: string;
|
|
125
|
+
description: string;
|
|
126
|
+
empty: string;
|
|
127
|
+
emptyDescription: string;
|
|
128
|
+
add: string;
|
|
129
|
+
addTitle: string;
|
|
130
|
+
addDescription: string;
|
|
131
|
+
save: string;
|
|
132
|
+
added: string;
|
|
133
|
+
provider: string;
|
|
134
|
+
saveNotice: string;
|
|
135
|
+
unavailable: string;
|
|
136
|
+
addUnavailable: string;
|
|
137
|
+
verificationPending: string;
|
|
138
|
+
cardLabel: string;
|
|
139
|
+
fallbackBrand: string;
|
|
140
|
+
expires: string;
|
|
141
|
+
usedBy: string;
|
|
142
|
+
collectsFor: string;
|
|
143
|
+
useForInvoices: string;
|
|
144
|
+
usedForInvoices: string;
|
|
145
|
+
remove: string;
|
|
146
|
+
removeLabel: string;
|
|
147
|
+
removeTitle: string;
|
|
148
|
+
removeDescription: string;
|
|
149
|
+
removeConfirm: string;
|
|
150
|
+
removed: string;
|
|
151
|
+
removePending: string;
|
|
152
|
+
inUse: string;
|
|
153
|
+
};
|
|
154
|
+
checkout: {
|
|
155
|
+
renews: string;
|
|
156
|
+
};
|
|
157
|
+
history: {
|
|
158
|
+
title: string;
|
|
159
|
+
description: string;
|
|
160
|
+
empty: string;
|
|
161
|
+
emptyDescription: string;
|
|
162
|
+
date: string;
|
|
163
|
+
item: string;
|
|
164
|
+
subscription: string;
|
|
165
|
+
purchase: string;
|
|
166
|
+
method: string;
|
|
167
|
+
status: string;
|
|
168
|
+
amount: string;
|
|
169
|
+
refund: string;
|
|
170
|
+
refundedAmount: string;
|
|
171
|
+
page: string;
|
|
172
|
+
rail: {
|
|
173
|
+
card: string;
|
|
174
|
+
solana: string;
|
|
175
|
+
ccbill: string;
|
|
176
|
+
nmi: string;
|
|
177
|
+
stripe: string;
|
|
178
|
+
};
|
|
179
|
+
};
|
|
180
|
+
errors: {
|
|
181
|
+
generic: string;
|
|
182
|
+
network: string;
|
|
183
|
+
network_error: string;
|
|
184
|
+
invalid_response: string;
|
|
185
|
+
authentication_required: string;
|
|
186
|
+
resource_access_denied: string;
|
|
187
|
+
resource_not_found: string;
|
|
188
|
+
resource_conflict: string;
|
|
189
|
+
rate_limit_exceeded: string;
|
|
190
|
+
service_unavailable: string;
|
|
191
|
+
internal_error: string;
|
|
192
|
+
card_declined: string;
|
|
193
|
+
payment_provider_rejected: string;
|
|
194
|
+
provider_outcome_unknown: string;
|
|
195
|
+
payment_in_progress: string;
|
|
196
|
+
payment_method_delete_unsupported: string;
|
|
197
|
+
payment_method_delete_failed: string;
|
|
198
|
+
customer_session_required: string;
|
|
199
|
+
invoker_scoped_principal: string;
|
|
200
|
+
csrf_origin_denied: string;
|
|
201
|
+
wallet_rejected: string;
|
|
202
|
+
wallet_no_signature: string;
|
|
203
|
+
};
|
|
204
|
+
};
|