@open-mercato/checkout 0.6.7 → 0.6.8-develop.6874.1.982d6097d8
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/.turbo/turbo-build.log +1 -1
- package/dist/modules/checkout/__integration__/TC-CHKT-042.spec.js +39 -0
- package/dist/modules/checkout/__integration__/TC-CHKT-042.spec.js.map +7 -0
- package/dist/modules/checkout/__integration__/TC-CHKT-043-concurrent-status-update.spec.js +62 -0
- package/dist/modules/checkout/__integration__/TC-CHKT-043-concurrent-status-update.spec.js.map +7 -0
- package/dist/modules/checkout/api/pay/[slug]/submit/route.js +43 -28
- package/dist/modules/checkout/api/pay/[slug]/submit/route.js.map +2 -2
- package/dist/modules/checkout/api/transactions/route.js +23 -6
- package/dist/modules/checkout/api/transactions/route.js.map +2 -2
- package/dist/modules/checkout/backend/checkout/pay-links/page.js +2 -1
- package/dist/modules/checkout/backend/checkout/pay-links/page.js.map +2 -2
- package/dist/modules/checkout/backend/checkout/templates/page.js +2 -1
- package/dist/modules/checkout/backend/checkout/templates/page.js.map +2 -2
- package/dist/modules/checkout/backend/checkout/transactions/page.js +2 -1
- package/dist/modules/checkout/backend/checkout/transactions/page.js.map +2 -2
- package/dist/modules/checkout/commands/links.js +1 -1
- package/dist/modules/checkout/commands/links.js.map +2 -2
- package/dist/modules/checkout/commands/transactions.js +45 -13
- package/dist/modules/checkout/commands/transactions.js.map +2 -2
- package/dist/modules/checkout/components/CustomerFieldsEditor.js +2 -2
- package/dist/modules/checkout/components/CustomerFieldsEditor.js.map +2 -2
- package/dist/modules/checkout/components/GatewaySettingsFields.js +2 -2
- package/dist/modules/checkout/components/GatewaySettingsFields.js.map +2 -2
- package/dist/modules/checkout/components/LinkTemplateForm.js +8 -8
- package/dist/modules/checkout/components/LinkTemplateForm.js.map +2 -2
- package/dist/modules/checkout/components/LogoUploadField.js +1 -1
- package/dist/modules/checkout/components/LogoUploadField.js.map +2 -2
- package/dist/modules/checkout/components/PayPage.js +39 -38
- package/dist/modules/checkout/components/PayPage.js.map +2 -2
- package/dist/modules/checkout/extension-points.js +68 -0
- package/dist/modules/checkout/extension-points.js.map +7 -0
- package/dist/modules/checkout/lib/transaction-status-machine.js +31 -0
- package/dist/modules/checkout/lib/transaction-status-machine.js.map +7 -0
- package/dist/modules/checkout/search.js +44 -6
- package/dist/modules/checkout/search.js.map +2 -2
- package/dist/modules/checkout/setup.js +28 -0
- package/dist/modules/checkout/setup.js.map +2 -2
- package/dist/modules/checkout/subscribers/search-reindex-transaction-created.js +32 -0
- package/dist/modules/checkout/subscribers/search-reindex-transaction-created.js.map +7 -0
- package/dist/modules/checkout/workers/transaction-expiry.worker.js +9 -2
- package/dist/modules/checkout/workers/transaction-expiry.worker.js.map +2 -2
- package/package.json +10 -9
- package/src/modules/checkout/__integration__/TC-CHKT-042.spec.ts +41 -0
- package/src/modules/checkout/__integration__/TC-CHKT-043-concurrent-status-update.spec.ts +112 -0
- package/src/modules/checkout/__tests__/search.test.ts +21 -0
- package/src/modules/checkout/__tests__/setup-schedules.test.ts +99 -0
- package/src/modules/checkout/api/pay/[slug]/submit/__tests__/route.test.ts +77 -0
- package/src/modules/checkout/api/pay/[slug]/submit/route.ts +58 -28
- package/src/modules/checkout/api/transactions/__tests__/route.test.ts +113 -0
- package/src/modules/checkout/api/transactions/route.ts +30 -6
- package/src/modules/checkout/backend/checkout/pay-links/page.tsx +2 -1
- package/src/modules/checkout/backend/checkout/templates/page.tsx +2 -1
- package/src/modules/checkout/backend/checkout/transactions/page.tsx +2 -1
- package/src/modules/checkout/commands/__tests__/update-transaction-status.test.ts +363 -0
- package/src/modules/checkout/commands/links.ts +5 -1
- package/src/modules/checkout/commands/transactions.ts +68 -13
- package/src/modules/checkout/components/CustomerFieldsEditor.tsx +2 -2
- package/src/modules/checkout/components/GatewaySettingsFields.tsx +2 -2
- package/src/modules/checkout/components/LinkTemplateForm.tsx +8 -8
- package/src/modules/checkout/components/LogoUploadField.tsx +1 -1
- package/src/modules/checkout/components/PayPage.tsx +38 -37
- package/src/modules/checkout/extension-points.ts +67 -0
- package/src/modules/checkout/i18n/de.json +1 -0
- package/src/modules/checkout/i18n/en.json +1 -0
- package/src/modules/checkout/i18n/es.json +1 -0
- package/src/modules/checkout/i18n/ko.json +463 -0
- package/src/modules/checkout/i18n/pl.json +1 -0
- package/src/modules/checkout/lib/__tests__/transaction-status-machine.test.ts +152 -0
- package/src/modules/checkout/lib/transaction-status-machine.ts +71 -0
- package/src/modules/checkout/search.ts +44 -6
- package/src/modules/checkout/setup.ts +51 -0
- package/src/modules/checkout/subscribers/__tests__/search-reindex-transaction-created.test.ts +29 -0
- package/src/modules/checkout/subscribers/search-reindex-transaction-created.ts +39 -0
- package/src/modules/checkout/workers/__tests__/transaction-expiry.worker.test.ts +124 -0
- package/src/modules/checkout/workers/transaction-expiry.worker.ts +11 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use client"
|
|
2
2
|
|
|
3
3
|
import * as React from 'react'
|
|
4
|
+
import { extensionPoints } from '@open-mercato/checkout/modules/checkout/extension-points'
|
|
4
5
|
import Link from 'next/link'
|
|
5
6
|
import { useParams, useRouter, useSearchParams } from 'next/navigation'
|
|
6
|
-
import { ComponentReplacementHandles } from '@open-mercato/shared/modules/widgets/component-registry'
|
|
7
7
|
import { useLocale, useT } from '@open-mercato/shared/lib/i18n/context'
|
|
8
8
|
import { locales, type Locale } from '@open-mercato/shared/lib/i18n/config'
|
|
9
9
|
import type { CustomFieldDisplayEntry } from '@open-mercato/shared/lib/crud/custom-fields'
|
|
@@ -270,17 +270,17 @@ export type PayPageFooterProps = {
|
|
|
270
270
|
themeTokens: PayPageThemeTokens
|
|
271
271
|
}
|
|
272
272
|
|
|
273
|
-
const PAGE_HANDLE =
|
|
274
|
-
const HEADER_HANDLE =
|
|
275
|
-
const DESCRIPTION_HANDLE =
|
|
276
|
-
const SUMMARY_HANDLE =
|
|
277
|
-
const PRICING_HANDLE =
|
|
278
|
-
const PAYMENT_HANDLE =
|
|
279
|
-
const CUSTOMER_FORM_HANDLE =
|
|
280
|
-
const LEGAL_CONSENT_HANDLE =
|
|
281
|
-
const GATEWAY_FORM_HANDLE =
|
|
282
|
-
const HELP_HANDLE =
|
|
283
|
-
const FOOTER_HANDLE =
|
|
273
|
+
const PAGE_HANDLE = extensionPoints.hosts.payPage.componentId
|
|
274
|
+
const HEADER_HANDLE = extensionPoints.hosts.header.componentId
|
|
275
|
+
const DESCRIPTION_HANDLE = extensionPoints.hosts.description.componentId
|
|
276
|
+
const SUMMARY_HANDLE = extensionPoints.hosts.summary.componentId
|
|
277
|
+
const PRICING_HANDLE = extensionPoints.hosts.pricing.componentId
|
|
278
|
+
const PAYMENT_HANDLE = extensionPoints.hosts.payment.componentId
|
|
279
|
+
const CUSTOMER_FORM_HANDLE = extensionPoints.hosts.customerForm.componentId
|
|
280
|
+
const LEGAL_CONSENT_HANDLE = extensionPoints.hosts.legalConsent.componentId
|
|
281
|
+
const GATEWAY_FORM_HANDLE = extensionPoints.hosts.gatewayForm.componentId
|
|
282
|
+
const HELP_HANDLE = extensionPoints.hosts.help.componentId
|
|
283
|
+
const FOOTER_HANDLE = extensionPoints.hosts.footer.componentId
|
|
284
284
|
|
|
285
285
|
// Checkout supports merchant branding defaults; keep those theme fallbacks isolated from general UI state colors.
|
|
286
286
|
const CHECKOUT_THEME_FALLBACKS = {
|
|
@@ -1222,10 +1222,10 @@ export function PayPagePaymentForm({
|
|
|
1222
1222
|
</Alert>
|
|
1223
1223
|
) : null}
|
|
1224
1224
|
|
|
1225
|
-
<InjectionSpot spotId=
|
|
1225
|
+
<InjectionSpot spotId={extensionPoints.hosts.gatewayWidgetBefore.spotId} context={injectionContext} />
|
|
1226
1226
|
{embeddedPaymentSession && embeddedRenderer ? (
|
|
1227
1227
|
<>
|
|
1228
|
-
<InjectionSpot spotId=
|
|
1228
|
+
<InjectionSpot spotId={extensionPoints.hosts.gatewayRendererBefore.spotId} context={injectionContext} />
|
|
1229
1229
|
{React.createElement(embeddedRenderer, {
|
|
1230
1230
|
providerKey: embeddedPaymentSession.providerKey ?? '',
|
|
1231
1231
|
transactionId: activeTransactionId ?? '',
|
|
@@ -1235,11 +1235,11 @@ export function PayPagePaymentForm({
|
|
|
1235
1235
|
onComplete,
|
|
1236
1236
|
onError,
|
|
1237
1237
|
})}
|
|
1238
|
-
<InjectionSpot spotId=
|
|
1238
|
+
<InjectionSpot spotId={extensionPoints.hosts.gatewayRendererAfter.spotId} context={injectionContext} />
|
|
1239
1239
|
</>
|
|
1240
1240
|
) : (
|
|
1241
1241
|
<>
|
|
1242
|
-
<InjectionSpot spotId=
|
|
1242
|
+
<InjectionSpot spotId={extensionPoints.hosts.gatewayActionsBefore.spotId} context={injectionContext} />
|
|
1243
1243
|
<Button
|
|
1244
1244
|
type="button"
|
|
1245
1245
|
className="h-12 w-full rounded-xl text-base"
|
|
@@ -1256,10 +1256,10 @@ export function PayPagePaymentForm({
|
|
|
1256
1256
|
: t('checkout.payPage.actions.payNow', 'Pay now')}
|
|
1257
1257
|
</span>
|
|
1258
1258
|
</Button>
|
|
1259
|
-
<InjectionSpot spotId=
|
|
1259
|
+
<InjectionSpot spotId={extensionPoints.hosts.gatewayActionsAfter.spotId} context={injectionContext} />
|
|
1260
1260
|
</>
|
|
1261
1261
|
)}
|
|
1262
|
-
<InjectionSpot spotId=
|
|
1262
|
+
<InjectionSpot spotId={extensionPoints.hosts.gatewayWidgetAfter.spotId} context={injectionContext} />
|
|
1263
1263
|
|
|
1264
1264
|
{paymentSession ? (
|
|
1265
1265
|
<Button
|
|
@@ -1369,6 +1369,7 @@ export function PayPageFooter({ payload, themeTokens }: PayPageFooterProps) {
|
|
|
1369
1369
|
pl: t('common.languages.polish', 'Polski'),
|
|
1370
1370
|
es: t('common.languages.spanish', 'Español'),
|
|
1371
1371
|
de: t('common.languages.german', 'Deutsch'),
|
|
1372
|
+
ko: t('common.languages.korean', '한국어'),
|
|
1372
1373
|
}), [t])
|
|
1373
1374
|
|
|
1374
1375
|
const setLocale = React.useCallback(async (nextLocale: Locale) => {
|
|
@@ -2144,11 +2145,11 @@ export function PayPage({
|
|
|
2144
2145
|
|
|
2145
2146
|
const leftColumn = (
|
|
2146
2147
|
<div className="space-y-6">
|
|
2147
|
-
<InjectionSpot spotId=
|
|
2148
|
+
<InjectionSpot spotId={extensionPoints.hosts.headerBefore.spotId} context={injectionContext} />
|
|
2148
2149
|
<div data-component-handle={HEADER_HANDLE}>
|
|
2149
2150
|
<HeaderComponent payload={payload} preview={isPreview} themeTokens={themeTokens} />
|
|
2150
2151
|
</div>
|
|
2151
|
-
<InjectionSpot spotId=
|
|
2152
|
+
<InjectionSpot spotId={extensionPoints.hosts.headerAfter.spotId} context={injectionContext} />
|
|
2152
2153
|
|
|
2153
2154
|
{(payload.description || publicCustomFields.length > 0) ? (
|
|
2154
2155
|
<>
|
|
@@ -2159,11 +2160,11 @@ export function PayPage({
|
|
|
2159
2160
|
themeTokens={themeTokens}
|
|
2160
2161
|
/>
|
|
2161
2162
|
</div>
|
|
2162
|
-
<InjectionSpot spotId=
|
|
2163
|
+
<InjectionSpot spotId={extensionPoints.hosts.descriptionAfter.spotId} context={injectionContext} />
|
|
2163
2164
|
</>
|
|
2164
2165
|
) : null}
|
|
2165
2166
|
|
|
2166
|
-
<InjectionSpot spotId=
|
|
2167
|
+
<InjectionSpot spotId={extensionPoints.hosts.customerFieldsBefore.spotId} context={injectionContext} />
|
|
2167
2168
|
{shouldCollectCustomerDetails ? (
|
|
2168
2169
|
<div data-component-handle={CUSTOMER_FORM_HANDLE}>
|
|
2169
2170
|
<CustomerFormComponent
|
|
@@ -2177,13 +2178,13 @@ export function PayPage({
|
|
|
2177
2178
|
/>
|
|
2178
2179
|
</div>
|
|
2179
2180
|
) : null}
|
|
2180
|
-
<InjectionSpot spotId=
|
|
2181
|
+
<InjectionSpot spotId={extensionPoints.hosts.customerFieldsAfter.spotId} context={injectionContext} />
|
|
2181
2182
|
</div>
|
|
2182
2183
|
)
|
|
2183
2184
|
|
|
2184
2185
|
const paymentFlow = (
|
|
2185
2186
|
<>
|
|
2186
|
-
<InjectionSpot spotId=
|
|
2187
|
+
<InjectionSpot spotId={extensionPoints.hosts.pricingBefore.spotId} context={injectionContext} />
|
|
2187
2188
|
<div data-component-handle={PRICING_HANDLE}>
|
|
2188
2189
|
<PricingComponent
|
|
2189
2190
|
payload={payload}
|
|
@@ -2215,9 +2216,9 @@ export function PayPage({
|
|
|
2215
2216
|
themeTokens={themeTokens}
|
|
2216
2217
|
/>
|
|
2217
2218
|
</div>
|
|
2218
|
-
<InjectionSpot spotId=
|
|
2219
|
+
<InjectionSpot spotId={extensionPoints.hosts.pricingAfter.spotId} context={injectionContext} />
|
|
2219
2220
|
|
|
2220
|
-
<InjectionSpot spotId=
|
|
2221
|
+
<InjectionSpot spotId={extensionPoints.hosts.summaryBefore.spotId} context={injectionContext} />
|
|
2221
2222
|
<div data-component-handle={SUMMARY_HANDLE}>
|
|
2222
2223
|
<SummaryComponent
|
|
2223
2224
|
payload={payload}
|
|
@@ -2228,9 +2229,9 @@ export function PayPage({
|
|
|
2228
2229
|
themeTokens={themeTokens}
|
|
2229
2230
|
/>
|
|
2230
2231
|
</div>
|
|
2231
|
-
<InjectionSpot spotId=
|
|
2232
|
+
<InjectionSpot spotId={extensionPoints.hosts.summaryAfter.spotId} context={injectionContext} />
|
|
2232
2233
|
|
|
2233
|
-
<InjectionSpot spotId=
|
|
2234
|
+
<InjectionSpot spotId={extensionPoints.hosts.legalConsentBefore.spotId} context={injectionContext} />
|
|
2234
2235
|
<div data-component-handle={LEGAL_CONSENT_HANDLE}>
|
|
2235
2236
|
<LegalConsentComponent
|
|
2236
2237
|
payload={payload}
|
|
@@ -2242,9 +2243,9 @@ export function PayPage({
|
|
|
2242
2243
|
themeTokens={themeTokens}
|
|
2243
2244
|
/>
|
|
2244
2245
|
</div>
|
|
2245
|
-
<InjectionSpot spotId=
|
|
2246
|
+
<InjectionSpot spotId={extensionPoints.hosts.legalConsentAfter.spotId} context={injectionContext} />
|
|
2246
2247
|
|
|
2247
|
-
<InjectionSpot spotId=
|
|
2248
|
+
<InjectionSpot spotId={extensionPoints.hosts.submitBefore.spotId} context={injectionContext} />
|
|
2248
2249
|
<div data-component-handle={GATEWAY_FORM_HANDLE}>
|
|
2249
2250
|
<PaymentFormComponent
|
|
2250
2251
|
payload={payload}
|
|
@@ -2272,35 +2273,35 @@ export function PayPage({
|
|
|
2272
2273
|
themeTokens={themeTokens}
|
|
2273
2274
|
/>
|
|
2274
2275
|
</div>
|
|
2275
|
-
<InjectionSpot spotId=
|
|
2276
|
+
<InjectionSpot spotId={extensionPoints.hosts.submitAfter.spotId} context={injectionContext} />
|
|
2276
2277
|
|
|
2277
|
-
<InjectionSpot spotId=
|
|
2278
|
+
<InjectionSpot spotId={extensionPoints.hosts.helpBefore.spotId} context={injectionContext} />
|
|
2278
2279
|
<div data-component-handle={HELP_HANDLE}>
|
|
2279
2280
|
<HelpComponent payload={payload} preview={isPreview} themeTokens={themeTokens} />
|
|
2280
2281
|
</div>
|
|
2281
|
-
<InjectionSpot spotId=
|
|
2282
|
+
<InjectionSpot spotId={extensionPoints.hosts.helpAfter.spotId} context={injectionContext} />
|
|
2282
2283
|
</>
|
|
2283
2284
|
)
|
|
2284
2285
|
|
|
2285
2286
|
const rightColumn = (
|
|
2286
2287
|
<>
|
|
2287
|
-
<InjectionSpot spotId=
|
|
2288
|
+
<InjectionSpot spotId={extensionPoints.hosts.paymentBefore.spotId} context={injectionContext} />
|
|
2288
2289
|
<div data-component-handle={PAYMENT_HANDLE}>
|
|
2289
2290
|
<PaymentSectionComponent payload={payload} preview={isPreview} themeTokens={themeTokens}>
|
|
2290
2291
|
{paymentFlow}
|
|
2291
2292
|
</PaymentSectionComponent>
|
|
2292
2293
|
</div>
|
|
2293
|
-
<InjectionSpot spotId=
|
|
2294
|
+
<InjectionSpot spotId={extensionPoints.hosts.paymentAfter.spotId} context={injectionContext} />
|
|
2294
2295
|
</>
|
|
2295
2296
|
)
|
|
2296
2297
|
|
|
2297
2298
|
const footer = (
|
|
2298
2299
|
<>
|
|
2299
|
-
<InjectionSpot spotId=
|
|
2300
|
+
<InjectionSpot spotId={extensionPoints.hosts.footerBefore.spotId} context={injectionContext} />
|
|
2300
2301
|
<div data-component-handle={FOOTER_HANDLE}>
|
|
2301
2302
|
<FooterComponent payload={payload} themeTokens={themeTokens} />
|
|
2302
2303
|
</div>
|
|
2303
|
-
<InjectionSpot spotId=
|
|
2304
|
+
<InjectionSpot spotId={extensionPoints.hosts.footerAfter.spotId} context={injectionContext} />
|
|
2304
2305
|
</>
|
|
2305
2306
|
)
|
|
2306
2307
|
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import {
|
|
2
|
+
componentExtensionHost,
|
|
3
|
+
dataTableExtensionHost,
|
|
4
|
+
defineModuleExtensionPoints,
|
|
5
|
+
injectionExtensionHost,
|
|
6
|
+
} from '@open-mercato/shared/modules/widgets/extension-points'
|
|
7
|
+
|
|
8
|
+
const payPageSpot = (spotId: string) => injectionExtensionHost({
|
|
9
|
+
family: 'detail',
|
|
10
|
+
spotId,
|
|
11
|
+
supported: ['render-widget'],
|
|
12
|
+
contextContract: 'checkout.pay-page.v1',
|
|
13
|
+
source: 'components/PayPage.tsx',
|
|
14
|
+
})
|
|
15
|
+
|
|
16
|
+
const payPageComponent = (componentId: string) => componentExtensionHost({
|
|
17
|
+
componentId,
|
|
18
|
+
propsContract: 'checkout.pay-page.v1',
|
|
19
|
+
source: 'components/PayPage.tsx',
|
|
20
|
+
})
|
|
21
|
+
|
|
22
|
+
export const extensionPoints = defineModuleExtensionPoints({
|
|
23
|
+
moduleId: 'checkout',
|
|
24
|
+
hosts: {
|
|
25
|
+
linksTable: dataTableExtensionHost({ tableId: 'checkout-links', source: 'backend/checkout/pay-links/page.tsx' }),
|
|
26
|
+
templatesTable: dataTableExtensionHost({ tableId: 'checkout-templates', source: 'backend/checkout/templates/page.tsx' }),
|
|
27
|
+
transactionsTable: dataTableExtensionHost({ tableId: 'checkout-transactions', source: 'backend/checkout/transactions/page.tsx' }),
|
|
28
|
+
gatewayWidgetBefore: payPageSpot('checkout.pay-page:gateway-widget:before'),
|
|
29
|
+
gatewayRendererBefore: payPageSpot('checkout.pay-page:gateway-widget:renderer:before'),
|
|
30
|
+
gatewayRendererAfter: payPageSpot('checkout.pay-page:gateway-widget:renderer:after'),
|
|
31
|
+
gatewayActionsBefore: payPageSpot('checkout.pay-page:gateway-widget:actions:before'),
|
|
32
|
+
gatewayActionsAfter: payPageSpot('checkout.pay-page:gateway-widget:actions:after'),
|
|
33
|
+
gatewayWidgetAfter: payPageSpot('checkout.pay-page:gateway-widget:after'),
|
|
34
|
+
headerBefore: payPageSpot('checkout.pay-page:header:before'),
|
|
35
|
+
headerAfter: payPageSpot('checkout.pay-page:header:after'),
|
|
36
|
+
descriptionAfter: payPageSpot('checkout.pay-page:description:after'),
|
|
37
|
+
customerFieldsBefore: payPageSpot('checkout.pay-page:customer-fields:before'),
|
|
38
|
+
customerFieldsAfter: payPageSpot('checkout.pay-page:customer-fields:after'),
|
|
39
|
+
pricingBefore: payPageSpot('checkout.pay-page:pricing:before'),
|
|
40
|
+
pricingAfter: payPageSpot('checkout.pay-page:pricing:after'),
|
|
41
|
+
summaryBefore: payPageSpot('checkout.pay-page:summary:before'),
|
|
42
|
+
summaryAfter: payPageSpot('checkout.pay-page:summary:after'),
|
|
43
|
+
legalConsentBefore: payPageSpot('checkout.pay-page:legal-consent:before'),
|
|
44
|
+
legalConsentAfter: payPageSpot('checkout.pay-page:legal-consent:after'),
|
|
45
|
+
submitBefore: payPageSpot('checkout.pay-page:submit:before'),
|
|
46
|
+
submitAfter: payPageSpot('checkout.pay-page:submit:after'),
|
|
47
|
+
helpBefore: payPageSpot('checkout.pay-page:help:before'),
|
|
48
|
+
helpAfter: payPageSpot('checkout.pay-page:help:after'),
|
|
49
|
+
paymentBefore: payPageSpot('checkout.pay-page:payment:before'),
|
|
50
|
+
paymentAfter: payPageSpot('checkout.pay-page:payment:after'),
|
|
51
|
+
footerBefore: payPageSpot('checkout.pay-page:footer:before'),
|
|
52
|
+
footerAfter: payPageSpot('checkout.pay-page:footer:after'),
|
|
53
|
+
payPage: payPageComponent('page:checkout.pay-page'),
|
|
54
|
+
header: payPageComponent('section:checkout.pay-page.header'),
|
|
55
|
+
description: payPageComponent('section:checkout.pay-page.description'),
|
|
56
|
+
summary: payPageComponent('section:checkout.pay-page.summary'),
|
|
57
|
+
pricing: payPageComponent('section:checkout.pay-page.pricing'),
|
|
58
|
+
payment: payPageComponent('section:checkout.pay-page.payment'),
|
|
59
|
+
customerForm: payPageComponent('section:checkout.pay-page.customer-form'),
|
|
60
|
+
legalConsent: payPageComponent('section:checkout.pay-page.legal-consent'),
|
|
61
|
+
gatewayForm: payPageComponent('section:checkout.pay-page.gateway-form'),
|
|
62
|
+
help: payPageComponent('section:checkout.pay-page.help'),
|
|
63
|
+
footer: payPageComponent('section:checkout.pay-page.footer'),
|
|
64
|
+
},
|
|
65
|
+
})
|
|
66
|
+
|
|
67
|
+
export default extensionPoints
|
|
@@ -380,6 +380,7 @@
|
|
|
380
380
|
"checkout.payPage.validation.priceSelectionRequired": "Bitte eine Zahlungsoption auswaehlen, um fortzufahren.",
|
|
381
381
|
"checkout.payPage.validation.requiredField": "Bitte {field} ausfuellen.",
|
|
382
382
|
"checkout.payPage.validation.thisField": "dieses Feld",
|
|
383
|
+
"checkout.search.subtitle.linkTemplate": "Link-Vorlage",
|
|
383
384
|
"checkout.statusPage.backToPayment": "Zuruck zur Zahlungsseite",
|
|
384
385
|
"checkout.statusPage.cancel.cancelled": "Zahlung abgebrochen",
|
|
385
386
|
"checkout.statusPage.cancel.failed": "Zahlung fehlgeschlagen",
|
|
@@ -380,6 +380,7 @@
|
|
|
380
380
|
"checkout.payPage.validation.priceSelectionRequired": "Choose a payment option to continue.",
|
|
381
381
|
"checkout.payPage.validation.requiredField": "Enter {field}.",
|
|
382
382
|
"checkout.payPage.validation.thisField": "this field",
|
|
383
|
+
"checkout.search.subtitle.linkTemplate": "Link Template",
|
|
383
384
|
"checkout.statusPage.backToPayment": "Back to payment page",
|
|
384
385
|
"checkout.statusPage.cancel.cancelled": "Payment cancelled",
|
|
385
386
|
"checkout.statusPage.cancel.failed": "Payment failed",
|
|
@@ -380,6 +380,7 @@
|
|
|
380
380
|
"checkout.payPage.validation.priceSelectionRequired": "Elige una opcion de pago para continuar.",
|
|
381
381
|
"checkout.payPage.validation.requiredField": "Completa {field}.",
|
|
382
382
|
"checkout.payPage.validation.thisField": "este campo",
|
|
383
|
+
"checkout.search.subtitle.linkTemplate": "Plantilla de enlace",
|
|
383
384
|
"checkout.statusPage.backToPayment": "Volver a la pagina de pago",
|
|
384
385
|
"checkout.statusPage.cancel.cancelled": "Pago cancelado",
|
|
385
386
|
"checkout.statusPage.cancel.failed": "Pago fallido",
|