@open-mercato/core 0.4.7-develop-0a657b411f → 0.4.7-develop-e249d3e7d0
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/dist/generated/entities/carrier_shipment/index.js +37 -0
- package/dist/generated/entities/carrier_shipment/index.js.map +7 -0
- package/dist/generated/entities/gateway_transaction/index.js +47 -0
- package/dist/generated/entities/gateway_transaction/index.js.map +7 -0
- package/dist/generated/entities/webhook_processed_event/index.js +17 -0
- package/dist/generated/entities/webhook_processed_event/index.js.map +7 -0
- package/dist/generated/entities.ids.generated.js +10 -1
- package/dist/generated/entities.ids.generated.js.map +2 -2
- package/dist/generated/entity-fields-registry.js +6 -0
- package/dist/generated/entity-fields-registry.js.map +2 -2
- package/dist/modules/data_sync/api/runs/[id]/cancel.js +14 -5
- package/dist/modules/data_sync/api/runs/[id]/cancel.js.map +2 -2
- package/dist/modules/data_sync/backend/data-sync/page.meta.js +2 -2
- package/dist/modules/data_sync/backend/data-sync/page.meta.js.map +1 -1
- package/dist/modules/data_sync/backend/data-sync/runs/[id]/page.js +37 -12
- package/dist/modules/data_sync/backend/data-sync/runs/[id]/page.js.map +2 -2
- package/dist/modules/directory/api/get/tenants/lookup.js +1 -0
- package/dist/modules/directory/api/get/tenants/lookup.js.map +2 -2
- package/dist/modules/integrations/api/[id]/route.js +38 -11
- package/dist/modules/integrations/api/[id]/route.js.map +2 -2
- package/dist/modules/integrations/api/logs/route.js +52 -26
- package/dist/modules/integrations/api/logs/route.js.map +2 -2
- package/dist/modules/integrations/api/route.js +37 -7
- package/dist/modules/integrations/api/route.js.map +2 -2
- package/dist/modules/integrations/api/umes-read.js +121 -0
- package/dist/modules/integrations/api/umes-read.js.map +7 -0
- package/dist/modules/integrations/backend/integrations/[id]/page.js +715 -183
- package/dist/modules/integrations/backend/integrations/[id]/page.js.map +2 -2
- package/dist/modules/integrations/backend/integrations/bundle/[id]/page.js +30 -9
- package/dist/modules/integrations/backend/integrations/bundle/[id]/page.js.map +2 -2
- package/dist/modules/integrations/backend/integrations/detail-page-widgets.js +46 -0
- package/dist/modules/integrations/backend/integrations/detail-page-widgets.js.map +7 -0
- package/dist/modules/integrations/backend/integrations/page.js +78 -62
- package/dist/modules/integrations/backend/integrations/page.js.map +2 -2
- package/dist/modules/integrations/backend/integrations/page.meta.js +2 -2
- package/dist/modules/integrations/backend/integrations/page.meta.js.map +1 -1
- package/dist/modules/integrations/setup.js +2 -2
- package/dist/modules/integrations/setup.js.map +2 -2
- package/dist/modules/payment_gateways/acl.js +12 -0
- package/dist/modules/payment_gateways/acl.js.map +7 -0
- package/dist/modules/payment_gateways/api/cancel/route.js +55 -0
- package/dist/modules/payment_gateways/api/cancel/route.js.map +7 -0
- package/dist/modules/payment_gateways/api/capture/route.js +55 -0
- package/dist/modules/payment_gateways/api/capture/route.js.map +7 -0
- package/dist/modules/payment_gateways/api/interceptors.js +24 -0
- package/dist/modules/payment_gateways/api/interceptors.js.map +7 -0
- package/dist/modules/payment_gateways/api/openapi.js +5 -0
- package/dist/modules/payment_gateways/api/openapi.js.map +7 -0
- package/dist/modules/payment_gateways/api/refund/route.js +56 -0
- package/dist/modules/payment_gateways/api/refund/route.js.map +7 -0
- package/dist/modules/payment_gateways/api/sessions/route.js +74 -0
- package/dist/modules/payment_gateways/api/sessions/route.js.map +7 -0
- package/dist/modules/payment_gateways/api/status/route.js +66 -0
- package/dist/modules/payment_gateways/api/status/route.js.map +7 -0
- package/dist/modules/payment_gateways/api/transactions/[id]/route.js +118 -0
- package/dist/modules/payment_gateways/api/transactions/[id]/route.js.map +7 -0
- package/dist/modules/payment_gateways/api/transactions/route.js +113 -0
- package/dist/modules/payment_gateways/api/transactions/route.js.map +7 -0
- package/dist/modules/payment_gateways/api/webhook/[provider]/route.js +136 -0
- package/dist/modules/payment_gateways/api/webhook/[provider]/route.js.map +7 -0
- package/dist/modules/payment_gateways/backend/payment-gateways/page.js +496 -0
- package/dist/modules/payment_gateways/backend/payment-gateways/page.js.map +7 -0
- package/dist/modules/payment_gateways/backend/payment-gateways/page.meta.js +23 -0
- package/dist/modules/payment_gateways/backend/payment-gateways/page.meta.js.map +7 -0
- package/dist/modules/payment_gateways/data/enrichers.js +5 -0
- package/dist/modules/payment_gateways/data/enrichers.js.map +7 -0
- package/dist/modules/payment_gateways/data/entities.js +131 -0
- package/dist/modules/payment_gateways/data/entities.js.map +7 -0
- package/dist/modules/payment_gateways/data/validators.js +57 -0
- package/dist/modules/payment_gateways/data/validators.js.map +7 -0
- package/dist/modules/payment_gateways/di.js +16 -0
- package/dist/modules/payment_gateways/di.js.map +7 -0
- package/dist/modules/payment_gateways/events.js +21 -0
- package/dist/modules/payment_gateways/events.js.map +7 -0
- package/dist/modules/payment_gateways/i18n/en.js +6 -0
- package/dist/modules/payment_gateways/i18n/en.js.map +7 -0
- package/dist/modules/payment_gateways/i18n/pl.js +6 -0
- package/dist/modules/payment_gateways/i18n/pl.js.map +7 -0
- package/dist/modules/payment_gateways/index.js +9 -0
- package/dist/modules/payment_gateways/index.js.map +7 -0
- package/dist/modules/payment_gateways/lib/gateway-service.js +378 -0
- package/dist/modules/payment_gateways/lib/gateway-service.js.map +7 -0
- package/dist/modules/payment_gateways/lib/queue.js +17 -0
- package/dist/modules/payment_gateways/lib/queue.js.map +7 -0
- package/dist/modules/payment_gateways/lib/status-machine.js +29 -0
- package/dist/modules/payment_gateways/lib/status-machine.js.map +7 -0
- package/dist/modules/payment_gateways/lib/webhook-processor.js +88 -0
- package/dist/modules/payment_gateways/lib/webhook-processor.js.map +7 -0
- package/dist/modules/payment_gateways/lib/webhook-utils.js +42 -0
- package/dist/modules/payment_gateways/lib/webhook-utils.js.map +7 -0
- package/dist/modules/payment_gateways/migrations/Migration20260305122155.js +19 -0
- package/dist/modules/payment_gateways/migrations/Migration20260305122155.js.map +7 -0
- package/dist/modules/payment_gateways/setup.js +13 -0
- package/dist/modules/payment_gateways/setup.js.map +7 -0
- package/dist/modules/payment_gateways/widgets/injection-table.js +7 -0
- package/dist/modules/payment_gateways/widgets/injection-table.js.map +7 -0
- package/dist/modules/payment_gateways/workers/status-poller.js +44 -0
- package/dist/modules/payment_gateways/workers/status-poller.js.map +7 -0
- package/dist/modules/payment_gateways/workers/webhook-processor.js +20 -0
- package/dist/modules/payment_gateways/workers/webhook-processor.js.map +7 -0
- package/dist/modules/sales/data/enrichers.js +72 -0
- package/dist/modules/sales/data/enrichers.js.map +7 -0
- package/dist/modules/sales/lib/makeSalesLineRoute.js +3 -0
- package/dist/modules/sales/lib/makeSalesLineRoute.js.map +2 -2
- package/dist/modules/sales/widgets/injection/payment-gateway-config-field/widget.js +29 -0
- package/dist/modules/sales/widgets/injection/payment-gateway-config-field/widget.js.map +7 -0
- package/dist/modules/sales/widgets/injection/payment-gateway-status-column/widget.js +23 -0
- package/dist/modules/sales/widgets/injection/payment-gateway-status-column/widget.js.map +7 -0
- package/dist/modules/sales/widgets/injection-table.js +13 -1
- package/dist/modules/sales/widgets/injection-table.js.map +2 -2
- package/dist/modules/shipping_carriers/acl.js +10 -0
- package/dist/modules/shipping_carriers/acl.js.map +7 -0
- package/dist/modules/shipping_carriers/api/cancel/route.js +55 -0
- package/dist/modules/shipping_carriers/api/cancel/route.js.map +7 -0
- package/dist/modules/shipping_carriers/api/interceptors.js +21 -0
- package/dist/modules/shipping_carriers/api/interceptors.js.map +7 -0
- package/dist/modules/shipping_carriers/api/openapi.js +5 -0
- package/dist/modules/shipping_carriers/api/openapi.js.map +7 -0
- package/dist/modules/shipping_carriers/api/rates/route.js +55 -0
- package/dist/modules/shipping_carriers/api/rates/route.js.map +7 -0
- package/dist/modules/shipping_carriers/api/shipments/route.js +61 -0
- package/dist/modules/shipping_carriers/api/shipments/route.js.map +7 -0
- package/dist/modules/shipping_carriers/api/tracking/route.js +58 -0
- package/dist/modules/shipping_carriers/api/tracking/route.js.map +7 -0
- package/dist/modules/shipping_carriers/api/webhook/[provider]/route.js +119 -0
- package/dist/modules/shipping_carriers/api/webhook/[provider]/route.js.map +7 -0
- package/dist/modules/shipping_carriers/data/enrichers.js +82 -0
- package/dist/modules/shipping_carriers/data/enrichers.js.map +7 -0
- package/dist/modules/shipping_carriers/data/entities.js +80 -0
- package/dist/modules/shipping_carriers/data/entities.js.map +7 -0
- package/dist/modules/shipping_carriers/data/validators.js +49 -0
- package/dist/modules/shipping_carriers/data/validators.js.map +7 -0
- package/dist/modules/shipping_carriers/di.js +15 -0
- package/dist/modules/shipping_carriers/di.js.map +7 -0
- package/dist/modules/shipping_carriers/events.js +19 -0
- package/dist/modules/shipping_carriers/events.js.map +7 -0
- package/dist/modules/shipping_carriers/i18n/en.js +11 -0
- package/dist/modules/shipping_carriers/i18n/en.js.map +7 -0
- package/dist/modules/shipping_carriers/i18n/pl.js +11 -0
- package/dist/modules/shipping_carriers/i18n/pl.js.map +7 -0
- package/dist/modules/shipping_carriers/index.js +9 -0
- package/dist/modules/shipping_carriers/index.js.map +7 -0
- package/dist/modules/shipping_carriers/lib/adapter-registry.js +29 -0
- package/dist/modules/shipping_carriers/lib/adapter-registry.js.map +7 -0
- package/dist/modules/shipping_carriers/lib/adapter.js +1 -0
- package/dist/modules/shipping_carriers/lib/adapter.js.map +7 -0
- package/dist/modules/shipping_carriers/lib/queue.js +17 -0
- package/dist/modules/shipping_carriers/lib/queue.js.map +7 -0
- package/dist/modules/shipping_carriers/lib/shipping-service.js +155 -0
- package/dist/modules/shipping_carriers/lib/shipping-service.js.map +7 -0
- package/dist/modules/shipping_carriers/lib/status-sync.js +37 -0
- package/dist/modules/shipping_carriers/lib/status-sync.js.map +7 -0
- package/dist/modules/shipping_carriers/migrations/Migration20260305170000.js +16 -0
- package/dist/modules/shipping_carriers/migrations/Migration20260305170000.js.map +7 -0
- package/dist/modules/shipping_carriers/setup.js +13 -0
- package/dist/modules/shipping_carriers/setup.js.map +7 -0
- package/dist/modules/shipping_carriers/widgets/injection/create-shipment-button/widget.js +25 -0
- package/dist/modules/shipping_carriers/widgets/injection/create-shipment-button/widget.js.map +7 -0
- package/dist/modules/shipping_carriers/widgets/injection/tracking-column/widget.js +23 -0
- package/dist/modules/shipping_carriers/widgets/injection/tracking-column/widget.js.map +7 -0
- package/dist/modules/shipping_carriers/widgets/injection/tracking-status-badge/widget.js +40 -0
- package/dist/modules/shipping_carriers/widgets/injection/tracking-status-badge/widget.js.map +7 -0
- package/dist/modules/shipping_carriers/widgets/injection-table.js +24 -0
- package/dist/modules/shipping_carriers/widgets/injection-table.js.map +7 -0
- package/dist/modules/shipping_carriers/workers/status-poller.js +21 -0
- package/dist/modules/shipping_carriers/workers/status-poller.js.map +7 -0
- package/dist/modules/shipping_carriers/workers/webhook-processor.js +54 -0
- package/dist/modules/shipping_carriers/workers/webhook-processor.js.map +7 -0
- package/dist/modules/translations/api/get/locales.js +1 -0
- package/dist/modules/translations/api/get/locales.js.map +2 -2
- package/dist/modules/translations/api/put/locales.js +1 -0
- package/dist/modules/translations/api/put/locales.js.map +2 -2
- package/generated/entities/carrier_shipment/index.ts +17 -0
- package/generated/entities/gateway_transaction/index.ts +22 -0
- package/generated/entities/webhook_processed_event/index.ts +7 -0
- package/generated/entities.ids.generated.ts +10 -1
- package/generated/entity-fields-registry.ts +6 -0
- package/jest.config.cjs +1 -0
- package/package.json +5 -2
- package/src/modules/auth/i18n/de.json +1 -0
- package/src/modules/auth/i18n/en.json +1 -0
- package/src/modules/auth/i18n/es.json +1 -0
- package/src/modules/auth/i18n/pl.json +1 -0
- package/src/modules/data_sync/api/runs/[id]/cancel.ts +18 -5
- package/src/modules/data_sync/backend/data-sync/page.meta.ts +2 -2
- package/src/modules/data_sync/backend/data-sync/runs/[id]/page.tsx +50 -12
- package/src/modules/directory/api/get/tenants/lookup.ts +1 -0
- package/src/modules/integrations/AGENTS.md +31 -0
- package/src/modules/integrations/api/[id]/route.ts +38 -11
- package/src/modules/integrations/api/logs/route.ts +53 -27
- package/src/modules/integrations/api/route.ts +31 -1
- package/src/modules/integrations/api/umes-read.ts +177 -0
- package/src/modules/integrations/backend/integrations/[id]/page.tsx +902 -202
- package/src/modules/integrations/backend/integrations/bundle/[id]/page.tsx +43 -9
- package/src/modules/integrations/backend/integrations/detail-page-widgets.ts +74 -0
- package/src/modules/integrations/backend/integrations/page.meta.ts +2 -2
- package/src/modules/integrations/backend/integrations/page.tsx +65 -54
- package/src/modules/integrations/i18n/de.json +15 -0
- package/src/modules/integrations/i18n/en.json +15 -0
- package/src/modules/integrations/i18n/es.json +15 -0
- package/src/modules/integrations/i18n/pl.json +15 -0
- package/src/modules/integrations/setup.ts +2 -2
- package/src/modules/payment_gateways/acl.ts +8 -0
- package/src/modules/payment_gateways/api/cancel/route.ts +56 -0
- package/src/modules/payment_gateways/api/capture/route.ts +56 -0
- package/src/modules/payment_gateways/api/interceptors.ts +22 -0
- package/src/modules/payment_gateways/api/openapi.ts +1 -0
- package/src/modules/payment_gateways/api/refund/route.ts +57 -0
- package/src/modules/payment_gateways/api/sessions/route.ts +76 -0
- package/src/modules/payment_gateways/api/status/route.ts +69 -0
- package/src/modules/payment_gateways/api/transactions/[id]/route.ts +123 -0
- package/src/modules/payment_gateways/api/transactions/route.ts +120 -0
- package/src/modules/payment_gateways/api/webhook/[provider]/route.ts +161 -0
- package/src/modules/payment_gateways/backend/payment-gateways/page.meta.ts +19 -0
- package/src/modules/payment_gateways/backend/payment-gateways/page.tsx +660 -0
- package/src/modules/payment_gateways/data/enrichers.ts +8 -0
- package/src/modules/payment_gateways/data/entities.ts +106 -0
- package/src/modules/payment_gateways/data/validators.ts +67 -0
- package/src/modules/payment_gateways/di.ts +26 -0
- package/src/modules/payment_gateways/events.ts +17 -0
- package/src/modules/payment_gateways/i18n/de.json +77 -0
- package/src/modules/payment_gateways/i18n/en.json +77 -0
- package/src/modules/payment_gateways/i18n/en.ts +4 -0
- package/src/modules/payment_gateways/i18n/es.json +77 -0
- package/src/modules/payment_gateways/i18n/pl.json +77 -0
- package/src/modules/payment_gateways/i18n/pl.ts +4 -0
- package/src/modules/payment_gateways/index.ts +5 -0
- package/src/modules/payment_gateways/lib/gateway-service.ts +486 -0
- package/src/modules/payment_gateways/lib/queue.ts +19 -0
- package/src/modules/payment_gateways/lib/status-machine.ts +28 -0
- package/src/modules/payment_gateways/lib/webhook-processor.ts +133 -0
- package/src/modules/payment_gateways/lib/webhook-utils.ts +52 -0
- package/src/modules/payment_gateways/migrations/.snapshot-open-mercato.json +373 -0
- package/src/modules/payment_gateways/migrations/Migration20260305122155.ts +20 -0
- package/src/modules/payment_gateways/setup.ts +11 -0
- package/src/modules/payment_gateways/widgets/injection-table.ts +9 -0
- package/src/modules/payment_gateways/workers/status-poller.ts +58 -0
- package/src/modules/payment_gateways/workers/webhook-processor.ts +30 -0
- package/src/modules/sales/data/enrichers.ts +120 -0
- package/src/modules/sales/lib/makeSalesLineRoute.ts +3 -0
- package/src/modules/sales/widgets/injection/payment-gateway-config-field/widget.ts +28 -0
- package/src/modules/sales/widgets/injection/payment-gateway-status-column/widget.ts +22 -0
- package/src/modules/sales/widgets/injection-table.ts +12 -0
- package/src/modules/shipping_carriers/acl.ts +6 -0
- package/src/modules/shipping_carriers/api/cancel/route.ts +53 -0
- package/src/modules/shipping_carriers/api/interceptors.ts +19 -0
- package/src/modules/shipping_carriers/api/openapi.ts +1 -0
- package/src/modules/shipping_carriers/api/rates/route.ts +53 -0
- package/src/modules/shipping_carriers/api/shipments/route.ts +59 -0
- package/src/modules/shipping_carriers/api/tracking/route.ts +56 -0
- package/src/modules/shipping_carriers/api/webhook/[provider]/route.ts +134 -0
- package/src/modules/shipping_carriers/data/enrichers.ts +89 -0
- package/src/modules/shipping_carriers/data/entities.ts +60 -0
- package/src/modules/shipping_carriers/data/validators.ts +48 -0
- package/src/modules/shipping_carriers/di.ts +20 -0
- package/src/modules/shipping_carriers/events.ts +16 -0
- package/src/modules/shipping_carriers/i18n/de.json +7 -0
- package/src/modules/shipping_carriers/i18n/en.json +7 -0
- package/src/modules/shipping_carriers/i18n/en.ts +7 -0
- package/src/modules/shipping_carriers/i18n/es.json +7 -0
- package/src/modules/shipping_carriers/i18n/pl.json +7 -0
- package/src/modules/shipping_carriers/i18n/pl.ts +7 -0
- package/src/modules/shipping_carriers/index.ts +5 -0
- package/src/modules/shipping_carriers/lib/adapter-registry.ts +33 -0
- package/src/modules/shipping_carriers/lib/adapter.ts +93 -0
- package/src/modules/shipping_carriers/lib/queue.ts +19 -0
- package/src/modules/shipping_carriers/lib/shipping-service.ts +204 -0
- package/src/modules/shipping_carriers/lib/status-sync.ts +38 -0
- package/src/modules/shipping_carriers/migrations/Migration20260305170000.ts +14 -0
- package/src/modules/shipping_carriers/setup.ts +11 -0
- package/src/modules/shipping_carriers/widgets/injection/create-shipment-button/widget.ts +24 -0
- package/src/modules/shipping_carriers/widgets/injection/tracking-column/widget.ts +22 -0
- package/src/modules/shipping_carriers/widgets/injection/tracking-status-badge/widget.tsx +44 -0
- package/src/modules/shipping_carriers/widgets/injection-table.ts +22 -0
- package/src/modules/shipping_carriers/workers/status-poller.ts +33 -0
- package/src/modules/shipping_carriers/workers/webhook-processor.ts +79 -0
- package/src/modules/translations/api/get/locales.ts +1 -0
- package/src/modules/translations/api/put/locales.ts +1 -0
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { Entity, Index, OptionalProps, PrimaryKey, Property } from '@mikro-orm/core'
|
|
2
|
+
|
|
3
|
+
@Entity({ tableName: 'gateway_transactions' })
|
|
4
|
+
@Index({ properties: ['paymentId', 'organizationId', 'tenantId'] })
|
|
5
|
+
@Index({ properties: ['providerKey', 'providerSessionId', 'organizationId'] })
|
|
6
|
+
@Index({ properties: ['organizationId', 'tenantId', 'unifiedStatus'] })
|
|
7
|
+
export class GatewayTransaction {
|
|
8
|
+
[OptionalProps]?: 'unifiedStatus' | 'gatewayStatus' | 'providerSessionId' | 'gatewayPaymentId' | 'gatewayRefundId' | 'redirectUrl' | 'clientSecret' | 'gatewayMetadata' | 'webhookLog' | 'lastWebhookAt' | 'lastPolledAt' | 'expiresAt' | 'createdAt' | 'updatedAt' | 'deletedAt'
|
|
9
|
+
|
|
10
|
+
@PrimaryKey({ type: 'uuid', defaultRaw: 'gen_random_uuid()' })
|
|
11
|
+
id!: string
|
|
12
|
+
|
|
13
|
+
@Property({ name: 'payment_id', type: 'uuid' })
|
|
14
|
+
paymentId!: string
|
|
15
|
+
|
|
16
|
+
@Property({ name: 'provider_key', type: 'text' })
|
|
17
|
+
providerKey!: string
|
|
18
|
+
|
|
19
|
+
@Property({ name: 'provider_session_id', type: 'text', nullable: true })
|
|
20
|
+
providerSessionId?: string | null
|
|
21
|
+
|
|
22
|
+
@Property({ name: 'gateway_payment_id', type: 'text', nullable: true })
|
|
23
|
+
gatewayPaymentId?: string | null
|
|
24
|
+
|
|
25
|
+
@Property({ name: 'gateway_refund_id', type: 'text', nullable: true })
|
|
26
|
+
gatewayRefundId?: string | null
|
|
27
|
+
|
|
28
|
+
@Property({ name: 'unified_status', type: 'text' })
|
|
29
|
+
unifiedStatus: string = 'pending'
|
|
30
|
+
|
|
31
|
+
@Property({ name: 'gateway_status', type: 'text', nullable: true })
|
|
32
|
+
gatewayStatus?: string | null
|
|
33
|
+
|
|
34
|
+
@Property({ name: 'redirect_url', type: 'text', nullable: true })
|
|
35
|
+
redirectUrl?: string | null
|
|
36
|
+
|
|
37
|
+
@Property({ name: 'client_secret', type: 'text', nullable: true })
|
|
38
|
+
clientSecret?: string | null
|
|
39
|
+
|
|
40
|
+
@Property({ name: 'amount', type: 'numeric', precision: 18, scale: 4 })
|
|
41
|
+
amount!: string
|
|
42
|
+
|
|
43
|
+
@Property({ name: 'currency_code', type: 'text' })
|
|
44
|
+
currencyCode!: string
|
|
45
|
+
|
|
46
|
+
@Property({ name: 'gateway_metadata', type: 'jsonb', nullable: true })
|
|
47
|
+
gatewayMetadata?: Record<string, unknown> | null
|
|
48
|
+
|
|
49
|
+
@Property({ name: 'webhook_log', type: 'jsonb', nullable: true })
|
|
50
|
+
webhookLog?: Array<{ eventType: string; receivedAt: string; idempotencyKey: string; unifiedStatus: string; processed: boolean }> | null
|
|
51
|
+
|
|
52
|
+
@Property({ name: 'last_webhook_at', type: Date, nullable: true })
|
|
53
|
+
lastWebhookAt?: Date | null
|
|
54
|
+
|
|
55
|
+
@Property({ name: 'last_polled_at', type: Date, nullable: true })
|
|
56
|
+
lastPolledAt?: Date | null
|
|
57
|
+
|
|
58
|
+
@Property({ name: 'expires_at', type: Date, nullable: true })
|
|
59
|
+
expiresAt?: Date | null
|
|
60
|
+
|
|
61
|
+
@Property({ name: 'organization_id', type: 'uuid' })
|
|
62
|
+
organizationId!: string
|
|
63
|
+
|
|
64
|
+
@Property({ name: 'tenant_id', type: 'uuid' })
|
|
65
|
+
tenantId!: string
|
|
66
|
+
|
|
67
|
+
@Property({ name: 'created_at', type: Date, onCreate: () => new Date() })
|
|
68
|
+
createdAt: Date = new Date()
|
|
69
|
+
|
|
70
|
+
@Property({ name: 'updated_at', type: Date, onUpdate: () => new Date() })
|
|
71
|
+
updatedAt: Date = new Date()
|
|
72
|
+
|
|
73
|
+
@Property({ name: 'deleted_at', type: Date, nullable: true })
|
|
74
|
+
deletedAt?: Date | null
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
@Entity({ tableName: 'gateway_webhook_events' })
|
|
78
|
+
@Index({
|
|
79
|
+
name: 'gateway_webhook_events_idempotency_unique',
|
|
80
|
+
properties: ['idempotencyKey', 'providerKey', 'organizationId', 'tenantId'],
|
|
81
|
+
options: { unique: true },
|
|
82
|
+
})
|
|
83
|
+
export class WebhookProcessedEvent {
|
|
84
|
+
[OptionalProps]?: 'processedAt'
|
|
85
|
+
|
|
86
|
+
@PrimaryKey({ type: 'uuid', defaultRaw: 'gen_random_uuid()' })
|
|
87
|
+
id!: string
|
|
88
|
+
|
|
89
|
+
@Property({ name: 'provider_key', type: 'text' })
|
|
90
|
+
providerKey!: string
|
|
91
|
+
|
|
92
|
+
@Property({ name: 'idempotency_key', type: 'text' })
|
|
93
|
+
idempotencyKey!: string
|
|
94
|
+
|
|
95
|
+
@Property({ name: 'event_type', type: 'text' })
|
|
96
|
+
eventType!: string
|
|
97
|
+
|
|
98
|
+
@Property({ name: 'organization_id', type: 'uuid' })
|
|
99
|
+
organizationId!: string
|
|
100
|
+
|
|
101
|
+
@Property({ name: 'tenant_id', type: 'uuid' })
|
|
102
|
+
tenantId!: string
|
|
103
|
+
|
|
104
|
+
@Property({ name: 'processed_at', type: Date, onCreate: () => new Date() })
|
|
105
|
+
processedAt: Date = new Date()
|
|
106
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { z } from 'zod'
|
|
2
|
+
|
|
3
|
+
const unifiedPaymentStatusSchema = z.enum([
|
|
4
|
+
'pending',
|
|
5
|
+
'authorized',
|
|
6
|
+
'captured',
|
|
7
|
+
'partially_captured',
|
|
8
|
+
'refunded',
|
|
9
|
+
'partially_refunded',
|
|
10
|
+
'cancelled',
|
|
11
|
+
'failed',
|
|
12
|
+
'expired',
|
|
13
|
+
'unknown',
|
|
14
|
+
])
|
|
15
|
+
|
|
16
|
+
export const createSessionSchema = z.object({
|
|
17
|
+
providerKey: z.string().min(1),
|
|
18
|
+
paymentMethodId: z.string().uuid().optional(),
|
|
19
|
+
orderId: z.string().uuid().optional(),
|
|
20
|
+
amount: z.number().positive(),
|
|
21
|
+
currencyCode: z.string().min(3).max(3),
|
|
22
|
+
captureMethod: z.enum(['automatic', 'manual']).default('automatic'),
|
|
23
|
+
description: z.string().max(500).optional(),
|
|
24
|
+
successUrl: z.string().url().optional(),
|
|
25
|
+
cancelUrl: z.string().url().optional(),
|
|
26
|
+
metadata: z.record(z.string(), z.unknown()).optional(),
|
|
27
|
+
})
|
|
28
|
+
|
|
29
|
+
export type CreateSessionPayload = z.infer<typeof createSessionSchema>
|
|
30
|
+
|
|
31
|
+
export const captureSchema = z.object({
|
|
32
|
+
transactionId: z.string().uuid(),
|
|
33
|
+
amount: z.number().positive().optional(),
|
|
34
|
+
})
|
|
35
|
+
|
|
36
|
+
export type CapturePayload = z.infer<typeof captureSchema>
|
|
37
|
+
|
|
38
|
+
export const refundSchema = z.object({
|
|
39
|
+
transactionId: z.string().uuid(),
|
|
40
|
+
amount: z.number().positive().optional(),
|
|
41
|
+
reason: z.string().max(200).optional(),
|
|
42
|
+
})
|
|
43
|
+
|
|
44
|
+
export type RefundPayload = z.infer<typeof refundSchema>
|
|
45
|
+
|
|
46
|
+
export const cancelSchema = z.object({
|
|
47
|
+
transactionId: z.string().uuid(),
|
|
48
|
+
reason: z.string().max(200).optional(),
|
|
49
|
+
})
|
|
50
|
+
|
|
51
|
+
export type CancelPayload = z.infer<typeof cancelSchema>
|
|
52
|
+
|
|
53
|
+
export const getStatusSchema = z.object({
|
|
54
|
+
transactionId: z.string().uuid(),
|
|
55
|
+
})
|
|
56
|
+
|
|
57
|
+
export type GetStatusPayload = z.infer<typeof getStatusSchema>
|
|
58
|
+
|
|
59
|
+
export const listTransactionsQuerySchema = z.object({
|
|
60
|
+
page: z.coerce.number().int().min(1).default(1),
|
|
61
|
+
pageSize: z.coerce.number().int().min(1).max(100).default(20),
|
|
62
|
+
search: z.string().trim().max(200).optional(),
|
|
63
|
+
providerKey: z.string().trim().min(1).max(100).optional(),
|
|
64
|
+
status: unifiedPaymentStatusSchema.optional(),
|
|
65
|
+
})
|
|
66
|
+
|
|
67
|
+
export type ListTransactionsQuery = z.infer<typeof listTransactionsQuerySchema>
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { asFunction, asValue } from 'awilix'
|
|
2
|
+
import type { EntityManager } from '@mikro-orm/postgresql'
|
|
3
|
+
import type { AppContainer } from '@open-mercato/shared/lib/di/container'
|
|
4
|
+
import type { CredentialsService } from '../integrations/lib/credentials-service'
|
|
5
|
+
import type { IntegrationLogService } from '../integrations/lib/log-service'
|
|
6
|
+
import type { IntegrationStateService } from '../integrations/lib/state-service'
|
|
7
|
+
import { GatewayTransaction, WebhookProcessedEvent } from './data/entities'
|
|
8
|
+
import { createPaymentGatewayService } from './lib/gateway-service'
|
|
9
|
+
|
|
10
|
+
type Cradle = {
|
|
11
|
+
em: EntityManager
|
|
12
|
+
integrationCredentialsService: CredentialsService
|
|
13
|
+
integrationLogService: IntegrationLogService
|
|
14
|
+
integrationStateService: IntegrationStateService
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export function register(container: AppContainer) {
|
|
18
|
+
container.register({
|
|
19
|
+
paymentGatewayService: asFunction(({ em, integrationCredentialsService, integrationLogService, integrationStateService }: Cradle) =>
|
|
20
|
+
createPaymentGatewayService({ em, integrationCredentialsService, integrationLogService, integrationStateService }),
|
|
21
|
+
).scoped().proxy(),
|
|
22
|
+
|
|
23
|
+
GatewayTransaction: asValue(GatewayTransaction),
|
|
24
|
+
WebhookProcessedEvent: asValue(WebhookProcessedEvent),
|
|
25
|
+
})
|
|
26
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { createModuleEvents } from '@open-mercato/shared/modules/events'
|
|
2
|
+
|
|
3
|
+
const events = [
|
|
4
|
+
{ id: 'payment_gateways.session.created', label: 'Payment Session Created', category: 'lifecycle', entity: 'session' },
|
|
5
|
+
{ id: 'payment_gateways.session.expired', label: 'Payment Session Expired', category: 'lifecycle', entity: 'session' },
|
|
6
|
+
{ id: 'payment_gateways.payment.authorized', label: 'Payment Authorized', category: 'lifecycle', entity: 'payment' },
|
|
7
|
+
{ id: 'payment_gateways.payment.captured', label: 'Payment Captured', category: 'lifecycle', entity: 'payment' },
|
|
8
|
+
{ id: 'payment_gateways.payment.failed', label: 'Payment Failed', category: 'lifecycle', entity: 'payment' },
|
|
9
|
+
{ id: 'payment_gateways.payment.refunded', label: 'Payment Refunded', category: 'lifecycle', entity: 'payment' },
|
|
10
|
+
{ id: 'payment_gateways.payment.cancelled', label: 'Payment Cancelled', category: 'lifecycle', entity: 'payment' },
|
|
11
|
+
{ id: 'payment_gateways.webhook.received', label: 'Webhook Received', category: 'system', entity: 'webhook', excludeFromTriggers: true },
|
|
12
|
+
{ id: 'payment_gateways.webhook.failed', label: 'Webhook Processing Failed', category: 'system', entity: 'webhook', excludeFromTriggers: true },
|
|
13
|
+
] as const
|
|
14
|
+
|
|
15
|
+
export const eventsConfig = createModuleEvents({ moduleId: 'payment_gateways', events })
|
|
16
|
+
export const emitPaymentGatewayEvent = eventsConfig.emit
|
|
17
|
+
export default eventsConfig
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
{
|
|
2
|
+
"payment_gateways.captureMethod.automatic": "Automatisch",
|
|
3
|
+
"payment_gateways.captureMethod.manual": "Manuell",
|
|
4
|
+
"payment_gateways.column.gatewayStatus": "Gateway-Status",
|
|
5
|
+
"payment_gateways.feature.capture": "Autorisierte Zahlungen erfassen",
|
|
6
|
+
"payment_gateways.feature.manage": "Zahlungssitzungen verwalten",
|
|
7
|
+
"payment_gateways.feature.refund": "Erfasste Zahlungen erstatten",
|
|
8
|
+
"payment_gateways.feature.view": "Zahlungsgateway-Transaktionen anzeigen",
|
|
9
|
+
"payment_gateways.field.captureMethod": "Erfassungsmethode des Gateways",
|
|
10
|
+
"payment_gateways.field.paymentTypes": "Gateway-Zahlungsarten",
|
|
11
|
+
"payment_gateways.nav.transactions": "Zahlungstransaktionen",
|
|
12
|
+
"payment_gateways.status.authorized": "Autorisiert",
|
|
13
|
+
"payment_gateways.status.cancelled": "Storniert",
|
|
14
|
+
"payment_gateways.status.captured": "Erfasst",
|
|
15
|
+
"payment_gateways.status.expired": "Abgelaufen",
|
|
16
|
+
"payment_gateways.status.failed": "Fehlgeschlagen",
|
|
17
|
+
"payment_gateways.status.partially_captured": "Teilweise erfasst",
|
|
18
|
+
"payment_gateways.status.partially_refunded": "Teilweise erstattet",
|
|
19
|
+
"payment_gateways.status.pending": "Ausstehend",
|
|
20
|
+
"payment_gateways.status.refunded": "Erstattet",
|
|
21
|
+
"payment_gateways.status.unknown": "Unbekannt",
|
|
22
|
+
"payment_gateways.transactions.actions.hideDetails": "Details ausblenden",
|
|
23
|
+
"payment_gateways.transactions.actions.refreshStatus": "Status aktualisieren",
|
|
24
|
+
"payment_gateways.transactions.actions.showDetails": "Details anzeigen",
|
|
25
|
+
"payment_gateways.transactions.columns.amount": "Betrag",
|
|
26
|
+
"payment_gateways.transactions.columns.createdAt": "Erstellt am",
|
|
27
|
+
"payment_gateways.transactions.columns.eventType": "Ereignistyp",
|
|
28
|
+
"payment_gateways.transactions.columns.gatewayPaymentId": "Gateway-Zahlungs-ID",
|
|
29
|
+
"payment_gateways.transactions.columns.gatewayRefundId": "Gateway-Erstattungs-ID",
|
|
30
|
+
"payment_gateways.transactions.columns.lastPolledAt": "Letzte Abfrage",
|
|
31
|
+
"payment_gateways.transactions.columns.lastWebhookAt": "Letzter Webhook",
|
|
32
|
+
"payment_gateways.transactions.columns.level": "Stufe",
|
|
33
|
+
"payment_gateways.transactions.columns.message": "Nachricht",
|
|
34
|
+
"payment_gateways.transactions.columns.paymentId": "Zahlungs-ID",
|
|
35
|
+
"payment_gateways.transactions.columns.processed": "Verarbeitet",
|
|
36
|
+
"payment_gateways.transactions.columns.provider": "Anbieter",
|
|
37
|
+
"payment_gateways.transactions.columns.receivedAt": "Empfangen am",
|
|
38
|
+
"payment_gateways.transactions.columns.redirectUrl": "Weiterleitungs-URL",
|
|
39
|
+
"payment_gateways.transactions.columns.session": "Sitzungs-ID",
|
|
40
|
+
"payment_gateways.transactions.columns.status": "Status",
|
|
41
|
+
"payment_gateways.transactions.columns.time": "Zeit",
|
|
42
|
+
"payment_gateways.transactions.columns.transactionId": "Transaktions-ID",
|
|
43
|
+
"payment_gateways.transactions.columns.updatedAt": "Aktualisiert am",
|
|
44
|
+
"payment_gateways.transactions.description": "Verfolgen Sie alle Zahlungsgateway-Transaktionen, pruafen Sie Webhook-Aktivitaeten und kontrollieren Sie Anbieterprotokolle an einem Ort.",
|
|
45
|
+
"payment_gateways.transactions.detail.gatewayMetadata": "Gateway-Metadaten",
|
|
46
|
+
"payment_gateways.transactions.detail.identifiers": "Kennungen",
|
|
47
|
+
"payment_gateways.transactions.detail.loading": "Transaktionsdetails werden geladen",
|
|
48
|
+
"payment_gateways.transactions.detail.logs": "Gateway-Protokolle",
|
|
49
|
+
"payment_gateways.transactions.detail.logsEmpty": "Noch sind keine transaktionsbezogenen Protokolle verfuegbar.",
|
|
50
|
+
"payment_gateways.transactions.detail.summary.amount": "Betrag",
|
|
51
|
+
"payment_gateways.transactions.detail.summary.gatewayStatus": "Gateway-Status",
|
|
52
|
+
"payment_gateways.transactions.detail.summary.provider": "Anbieter",
|
|
53
|
+
"payment_gateways.transactions.detail.summary.status": "Status",
|
|
54
|
+
"payment_gateways.transactions.detail.title": "Transaktionsdetails",
|
|
55
|
+
"payment_gateways.transactions.detail.webhooks": "Webhook-Aktivitaet",
|
|
56
|
+
"payment_gateways.transactions.detail.webhooksEmpty": "Fuer diese Transaktion wurden noch keine Webhook-Ereignisse aufgezeichnet.",
|
|
57
|
+
"payment_gateways.transactions.error.load": "Zahlungstransaktionen konnten nicht geladen werden",
|
|
58
|
+
"payment_gateways.transactions.error.loadDetail": "Transaktionsdetails konnten nicht geladen werden",
|
|
59
|
+
"payment_gateways.transactions.error.refreshStatus": "Der Transaktionsstatus konnte nicht aktualisiert werden",
|
|
60
|
+
"payment_gateways.transactions.filters.allProviders": "Alle Anbieter",
|
|
61
|
+
"payment_gateways.transactions.filters.allStatuses": "Alle Status",
|
|
62
|
+
"payment_gateways.transactions.filters.provider": "Anbieter",
|
|
63
|
+
"payment_gateways.transactions.filters.status": "Status",
|
|
64
|
+
"payment_gateways.transactions.level.error": "Fehler",
|
|
65
|
+
"payment_gateways.transactions.level.info": "Info",
|
|
66
|
+
"payment_gateways.transactions.level.warn": "Warnung",
|
|
67
|
+
"payment_gateways.transactions.log.code": "Code",
|
|
68
|
+
"payment_gateways.transactions.log.entityId": "Entitaets-ID",
|
|
69
|
+
"payment_gateways.transactions.log.entityType": "Entitaetstyp",
|
|
70
|
+
"payment_gateways.transactions.log.level": "Stufe",
|
|
71
|
+
"payment_gateways.transactions.log.runId": "Lauf-ID",
|
|
72
|
+
"payment_gateways.transactions.log.time": "Zeit",
|
|
73
|
+
"payment_gateways.transactions.searchPlaceholder": "Nach Zahlung, Transaktion, Sitzung oder Gateway-ID suchen",
|
|
74
|
+
"payment_gateways.transactions.success.refreshStatus": "Der Transaktionsstatus wurde aktualisiert",
|
|
75
|
+
"payment_gateways.transactions.tableTitle": "Transaktionen",
|
|
76
|
+
"payment_gateways.transactions.title": "Zahlungstransaktionen"
|
|
77
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
{
|
|
2
|
+
"payment_gateways.captureMethod.automatic": "Automatic",
|
|
3
|
+
"payment_gateways.captureMethod.manual": "Manual",
|
|
4
|
+
"payment_gateways.column.gatewayStatus": "Gateway status",
|
|
5
|
+
"payment_gateways.feature.capture": "Capture authorized payments",
|
|
6
|
+
"payment_gateways.feature.manage": "Manage payment sessions",
|
|
7
|
+
"payment_gateways.feature.refund": "Refund captured payments",
|
|
8
|
+
"payment_gateways.feature.view": "View payment gateway transactions",
|
|
9
|
+
"payment_gateways.field.captureMethod": "Gateway capture method",
|
|
10
|
+
"payment_gateways.field.paymentTypes": "Gateway payment types",
|
|
11
|
+
"payment_gateways.nav.transactions": "Payment Transactions",
|
|
12
|
+
"payment_gateways.status.authorized": "Authorized",
|
|
13
|
+
"payment_gateways.status.cancelled": "Cancelled",
|
|
14
|
+
"payment_gateways.status.captured": "Captured",
|
|
15
|
+
"payment_gateways.status.expired": "Expired",
|
|
16
|
+
"payment_gateways.status.failed": "Failed",
|
|
17
|
+
"payment_gateways.status.partially_captured": "Partially Captured",
|
|
18
|
+
"payment_gateways.status.partially_refunded": "Partially Refunded",
|
|
19
|
+
"payment_gateways.status.pending": "Pending",
|
|
20
|
+
"payment_gateways.status.refunded": "Refunded",
|
|
21
|
+
"payment_gateways.status.unknown": "Unknown",
|
|
22
|
+
"payment_gateways.transactions.actions.hideDetails": "Hide details",
|
|
23
|
+
"payment_gateways.transactions.actions.refreshStatus": "Refresh status",
|
|
24
|
+
"payment_gateways.transactions.actions.showDetails": "Show details",
|
|
25
|
+
"payment_gateways.transactions.columns.amount": "Amount",
|
|
26
|
+
"payment_gateways.transactions.columns.createdAt": "Created at",
|
|
27
|
+
"payment_gateways.transactions.columns.eventType": "Event type",
|
|
28
|
+
"payment_gateways.transactions.columns.gatewayPaymentId": "Gateway payment ID",
|
|
29
|
+
"payment_gateways.transactions.columns.gatewayRefundId": "Gateway refund ID",
|
|
30
|
+
"payment_gateways.transactions.columns.lastPolledAt": "Last poll",
|
|
31
|
+
"payment_gateways.transactions.columns.lastWebhookAt": "Last webhook",
|
|
32
|
+
"payment_gateways.transactions.columns.level": "Level",
|
|
33
|
+
"payment_gateways.transactions.columns.message": "Message",
|
|
34
|
+
"payment_gateways.transactions.columns.paymentId": "Payment ID",
|
|
35
|
+
"payment_gateways.transactions.columns.processed": "Processed",
|
|
36
|
+
"payment_gateways.transactions.columns.provider": "Provider",
|
|
37
|
+
"payment_gateways.transactions.columns.receivedAt": "Received at",
|
|
38
|
+
"payment_gateways.transactions.columns.redirectUrl": "Redirect URL",
|
|
39
|
+
"payment_gateways.transactions.columns.session": "Session ID",
|
|
40
|
+
"payment_gateways.transactions.columns.status": "Status",
|
|
41
|
+
"payment_gateways.transactions.columns.time": "Time",
|
|
42
|
+
"payment_gateways.transactions.columns.transactionId": "Transaction ID",
|
|
43
|
+
"payment_gateways.transactions.columns.updatedAt": "Updated at",
|
|
44
|
+
"payment_gateways.transactions.description": "Track all payment-gateway transactions, inspect webhook activity, and review provider logs from one place.",
|
|
45
|
+
"payment_gateways.transactions.detail.gatewayMetadata": "Gateway metadata",
|
|
46
|
+
"payment_gateways.transactions.detail.identifiers": "Identifiers",
|
|
47
|
+
"payment_gateways.transactions.detail.loading": "Loading transaction details",
|
|
48
|
+
"payment_gateways.transactions.detail.logs": "Gateway logs",
|
|
49
|
+
"payment_gateways.transactions.detail.logsEmpty": "No transaction-scoped logs are available yet.",
|
|
50
|
+
"payment_gateways.transactions.detail.summary.amount": "Amount",
|
|
51
|
+
"payment_gateways.transactions.detail.summary.gatewayStatus": "Gateway status",
|
|
52
|
+
"payment_gateways.transactions.detail.summary.provider": "Provider",
|
|
53
|
+
"payment_gateways.transactions.detail.summary.status": "Status",
|
|
54
|
+
"payment_gateways.transactions.detail.title": "Transaction details",
|
|
55
|
+
"payment_gateways.transactions.detail.webhooks": "Webhook activity",
|
|
56
|
+
"payment_gateways.transactions.detail.webhooksEmpty": "No webhook events have been recorded for this transaction yet.",
|
|
57
|
+
"payment_gateways.transactions.error.load": "Failed to load payment transactions",
|
|
58
|
+
"payment_gateways.transactions.error.loadDetail": "Failed to load transaction details",
|
|
59
|
+
"payment_gateways.transactions.error.refreshStatus": "Failed to refresh transaction status",
|
|
60
|
+
"payment_gateways.transactions.filters.allProviders": "All providers",
|
|
61
|
+
"payment_gateways.transactions.filters.allStatuses": "All statuses",
|
|
62
|
+
"payment_gateways.transactions.filters.provider": "Provider",
|
|
63
|
+
"payment_gateways.transactions.filters.status": "Status",
|
|
64
|
+
"payment_gateways.transactions.level.error": "Error",
|
|
65
|
+
"payment_gateways.transactions.level.info": "Info",
|
|
66
|
+
"payment_gateways.transactions.level.warn": "Warn",
|
|
67
|
+
"payment_gateways.transactions.log.code": "Code",
|
|
68
|
+
"payment_gateways.transactions.log.entityId": "Entity ID",
|
|
69
|
+
"payment_gateways.transactions.log.entityType": "Entity type",
|
|
70
|
+
"payment_gateways.transactions.log.level": "Level",
|
|
71
|
+
"payment_gateways.transactions.log.runId": "Run ID",
|
|
72
|
+
"payment_gateways.transactions.log.time": "Time",
|
|
73
|
+
"payment_gateways.transactions.searchPlaceholder": "Search by payment, transaction, session, or gateway id",
|
|
74
|
+
"payment_gateways.transactions.success.refreshStatus": "Transaction status refreshed",
|
|
75
|
+
"payment_gateways.transactions.tableTitle": "Transactions",
|
|
76
|
+
"payment_gateways.transactions.title": "Payment Transactions"
|
|
77
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
{
|
|
2
|
+
"payment_gateways.captureMethod.automatic": "Automatica",
|
|
3
|
+
"payment_gateways.captureMethod.manual": "Manual",
|
|
4
|
+
"payment_gateways.column.gatewayStatus": "Estado de la pasarela",
|
|
5
|
+
"payment_gateways.feature.capture": "Capturar pagos autorizados",
|
|
6
|
+
"payment_gateways.feature.manage": "Gestionar sesiones de pago",
|
|
7
|
+
"payment_gateways.feature.refund": "Reembolsar pagos capturados",
|
|
8
|
+
"payment_gateways.feature.view": "Ver transacciones de la pasarela de pago",
|
|
9
|
+
"payment_gateways.field.captureMethod": "Metodo de captura de la pasarela",
|
|
10
|
+
"payment_gateways.field.paymentTypes": "Tipos de pago de la pasarela",
|
|
11
|
+
"payment_gateways.nav.transactions": "Transacciones de pago",
|
|
12
|
+
"payment_gateways.status.authorized": "Autorizado",
|
|
13
|
+
"payment_gateways.status.cancelled": "Cancelado",
|
|
14
|
+
"payment_gateways.status.captured": "Capturado",
|
|
15
|
+
"payment_gateways.status.expired": "Expirado",
|
|
16
|
+
"payment_gateways.status.failed": "Fallido",
|
|
17
|
+
"payment_gateways.status.partially_captured": "Capturado parcialmente",
|
|
18
|
+
"payment_gateways.status.partially_refunded": "Reembolsado parcialmente",
|
|
19
|
+
"payment_gateways.status.pending": "Pendiente",
|
|
20
|
+
"payment_gateways.status.refunded": "Reembolsado",
|
|
21
|
+
"payment_gateways.status.unknown": "Desconocido",
|
|
22
|
+
"payment_gateways.transactions.actions.hideDetails": "Ocultar detalles",
|
|
23
|
+
"payment_gateways.transactions.actions.refreshStatus": "Actualizar estado",
|
|
24
|
+
"payment_gateways.transactions.actions.showDetails": "Mostrar detalles",
|
|
25
|
+
"payment_gateways.transactions.columns.amount": "Importe",
|
|
26
|
+
"payment_gateways.transactions.columns.createdAt": "Creado el",
|
|
27
|
+
"payment_gateways.transactions.columns.eventType": "Tipo de evento",
|
|
28
|
+
"payment_gateways.transactions.columns.gatewayPaymentId": "ID de pago de la pasarela",
|
|
29
|
+
"payment_gateways.transactions.columns.gatewayRefundId": "ID de reembolso de la pasarela",
|
|
30
|
+
"payment_gateways.transactions.columns.lastPolledAt": "Ultima consulta",
|
|
31
|
+
"payment_gateways.transactions.columns.lastWebhookAt": "Ultimo webhook",
|
|
32
|
+
"payment_gateways.transactions.columns.level": "Nivel",
|
|
33
|
+
"payment_gateways.transactions.columns.message": "Mensaje",
|
|
34
|
+
"payment_gateways.transactions.columns.paymentId": "ID de pago",
|
|
35
|
+
"payment_gateways.transactions.columns.processed": "Procesado",
|
|
36
|
+
"payment_gateways.transactions.columns.provider": "Proveedor",
|
|
37
|
+
"payment_gateways.transactions.columns.receivedAt": "Recibido el",
|
|
38
|
+
"payment_gateways.transactions.columns.redirectUrl": "URL de redireccion",
|
|
39
|
+
"payment_gateways.transactions.columns.session": "ID de sesion",
|
|
40
|
+
"payment_gateways.transactions.columns.status": "Estado",
|
|
41
|
+
"payment_gateways.transactions.columns.time": "Hora",
|
|
42
|
+
"payment_gateways.transactions.columns.transactionId": "ID de transaccion",
|
|
43
|
+
"payment_gateways.transactions.columns.updatedAt": "Actualizado el",
|
|
44
|
+
"payment_gateways.transactions.description": "Supervise todas las transacciones de la pasarela de pago, revise la actividad de los webhooks y consulte los registros del proveedor desde un solo lugar.",
|
|
45
|
+
"payment_gateways.transactions.detail.gatewayMetadata": "Metadatos de la pasarela",
|
|
46
|
+
"payment_gateways.transactions.detail.identifiers": "Identificadores",
|
|
47
|
+
"payment_gateways.transactions.detail.loading": "Cargando detalles de la transaccion",
|
|
48
|
+
"payment_gateways.transactions.detail.logs": "Registros de la pasarela",
|
|
49
|
+
"payment_gateways.transactions.detail.logsEmpty": "Todavia no hay registros asociados a esta transaccion.",
|
|
50
|
+
"payment_gateways.transactions.detail.summary.amount": "Importe",
|
|
51
|
+
"payment_gateways.transactions.detail.summary.gatewayStatus": "Estado de la pasarela",
|
|
52
|
+
"payment_gateways.transactions.detail.summary.provider": "Proveedor",
|
|
53
|
+
"payment_gateways.transactions.detail.summary.status": "Estado",
|
|
54
|
+
"payment_gateways.transactions.detail.title": "Detalles de la transaccion",
|
|
55
|
+
"payment_gateways.transactions.detail.webhooks": "Actividad de webhooks",
|
|
56
|
+
"payment_gateways.transactions.detail.webhooksEmpty": "Todavia no se han registrado eventos de webhook para esta transaccion.",
|
|
57
|
+
"payment_gateways.transactions.error.load": "No se pudieron cargar las transacciones de pago",
|
|
58
|
+
"payment_gateways.transactions.error.loadDetail": "No se pudieron cargar los detalles de la transaccion",
|
|
59
|
+
"payment_gateways.transactions.error.refreshStatus": "No se pudo actualizar el estado de la transaccion",
|
|
60
|
+
"payment_gateways.transactions.filters.allProviders": "Todos los proveedores",
|
|
61
|
+
"payment_gateways.transactions.filters.allStatuses": "Todos los estados",
|
|
62
|
+
"payment_gateways.transactions.filters.provider": "Proveedor",
|
|
63
|
+
"payment_gateways.transactions.filters.status": "Estado",
|
|
64
|
+
"payment_gateways.transactions.level.error": "Error",
|
|
65
|
+
"payment_gateways.transactions.level.info": "Info",
|
|
66
|
+
"payment_gateways.transactions.level.warn": "Aviso",
|
|
67
|
+
"payment_gateways.transactions.log.code": "Codigo",
|
|
68
|
+
"payment_gateways.transactions.log.entityId": "ID de entidad",
|
|
69
|
+
"payment_gateways.transactions.log.entityType": "Tipo de entidad",
|
|
70
|
+
"payment_gateways.transactions.log.level": "Nivel",
|
|
71
|
+
"payment_gateways.transactions.log.runId": "ID de ejecucion",
|
|
72
|
+
"payment_gateways.transactions.log.time": "Hora",
|
|
73
|
+
"payment_gateways.transactions.searchPlaceholder": "Buscar por pago, transaccion, sesion o ID de la pasarela",
|
|
74
|
+
"payment_gateways.transactions.success.refreshStatus": "El estado de la transaccion se actualizo",
|
|
75
|
+
"payment_gateways.transactions.tableTitle": "Transacciones",
|
|
76
|
+
"payment_gateways.transactions.title": "Transacciones de pago"
|
|
77
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
{
|
|
2
|
+
"payment_gateways.captureMethod.automatic": "Automatyczny",
|
|
3
|
+
"payment_gateways.captureMethod.manual": "Manualny",
|
|
4
|
+
"payment_gateways.column.gatewayStatus": "Status bramki",
|
|
5
|
+
"payment_gateways.feature.capture": "Przechwytywanie autoryzowanych płatności",
|
|
6
|
+
"payment_gateways.feature.manage": "Zarządzanie sesjami płatności",
|
|
7
|
+
"payment_gateways.feature.refund": "Zwroty przechwyconych płatności",
|
|
8
|
+
"payment_gateways.feature.view": "Podgląd transakcji bramek płatności",
|
|
9
|
+
"payment_gateways.field.captureMethod": "Tryb przechwycenia bramki",
|
|
10
|
+
"payment_gateways.field.paymentTypes": "Typy płatności bramki",
|
|
11
|
+
"payment_gateways.nav.transactions": "Transakcje płatności",
|
|
12
|
+
"payment_gateways.status.authorized": "Autoryzowana",
|
|
13
|
+
"payment_gateways.status.cancelled": "Anulowana",
|
|
14
|
+
"payment_gateways.status.captured": "Przechwycona",
|
|
15
|
+
"payment_gateways.status.expired": "Wygasła",
|
|
16
|
+
"payment_gateways.status.failed": "Nieudana",
|
|
17
|
+
"payment_gateways.status.partially_captured": "Częściowo przechwycona",
|
|
18
|
+
"payment_gateways.status.partially_refunded": "Częściowo zwrócona",
|
|
19
|
+
"payment_gateways.status.pending": "Oczekująca",
|
|
20
|
+
"payment_gateways.status.refunded": "Zwrócona",
|
|
21
|
+
"payment_gateways.status.unknown": "Nieznany",
|
|
22
|
+
"payment_gateways.transactions.actions.hideDetails": "Ukryj szczegóły",
|
|
23
|
+
"payment_gateways.transactions.actions.refreshStatus": "Odśwież status",
|
|
24
|
+
"payment_gateways.transactions.actions.showDetails": "Pokaż szczegóły",
|
|
25
|
+
"payment_gateways.transactions.columns.amount": "Kwota",
|
|
26
|
+
"payment_gateways.transactions.columns.createdAt": "Utworzono",
|
|
27
|
+
"payment_gateways.transactions.columns.eventType": "Typ zdarzenia",
|
|
28
|
+
"payment_gateways.transactions.columns.gatewayPaymentId": "ID płatności bramki",
|
|
29
|
+
"payment_gateways.transactions.columns.gatewayRefundId": "ID zwrotu bramki",
|
|
30
|
+
"payment_gateways.transactions.columns.lastPolledAt": "Ostatnie odpytywanie",
|
|
31
|
+
"payment_gateways.transactions.columns.lastWebhookAt": "Ostatni webhook",
|
|
32
|
+
"payment_gateways.transactions.columns.level": "Poziom",
|
|
33
|
+
"payment_gateways.transactions.columns.message": "Komunikat",
|
|
34
|
+
"payment_gateways.transactions.columns.paymentId": "ID płatności",
|
|
35
|
+
"payment_gateways.transactions.columns.processed": "Przetworzono",
|
|
36
|
+
"payment_gateways.transactions.columns.provider": "Dostawca",
|
|
37
|
+
"payment_gateways.transactions.columns.receivedAt": "Odebrano",
|
|
38
|
+
"payment_gateways.transactions.columns.redirectUrl": "Adres przekierowania",
|
|
39
|
+
"payment_gateways.transactions.columns.session": "ID sesji",
|
|
40
|
+
"payment_gateways.transactions.columns.status": "Status",
|
|
41
|
+
"payment_gateways.transactions.columns.time": "Czas",
|
|
42
|
+
"payment_gateways.transactions.columns.transactionId": "ID transakcji",
|
|
43
|
+
"payment_gateways.transactions.columns.updatedAt": "Zaktualizowano",
|
|
44
|
+
"payment_gateways.transactions.description": "Śledź wszystkie transakcje bramek płatności, sprawdzaj aktywność webhooków i przeglądaj logi dostawcy w jednym miejscu.",
|
|
45
|
+
"payment_gateways.transactions.detail.gatewayMetadata": "Metadane bramki",
|
|
46
|
+
"payment_gateways.transactions.detail.identifiers": "Identyfikatory",
|
|
47
|
+
"payment_gateways.transactions.detail.loading": "Ładowanie szczegółów transakcji",
|
|
48
|
+
"payment_gateways.transactions.detail.logs": "Logi bramki",
|
|
49
|
+
"payment_gateways.transactions.detail.logsEmpty": "Brak logów przypisanych do tej transakcji.",
|
|
50
|
+
"payment_gateways.transactions.detail.summary.amount": "Kwota",
|
|
51
|
+
"payment_gateways.transactions.detail.summary.gatewayStatus": "Status bramki",
|
|
52
|
+
"payment_gateways.transactions.detail.summary.provider": "Dostawca",
|
|
53
|
+
"payment_gateways.transactions.detail.summary.status": "Status",
|
|
54
|
+
"payment_gateways.transactions.detail.title": "Szczegóły transakcji",
|
|
55
|
+
"payment_gateways.transactions.detail.webhooks": "Aktywność webhooków",
|
|
56
|
+
"payment_gateways.transactions.detail.webhooksEmpty": "Dla tej transakcji nie zapisano jeszcze żadnych zdarzeń webhooka.",
|
|
57
|
+
"payment_gateways.transactions.error.load": "Nie udało się załadować transakcji płatności",
|
|
58
|
+
"payment_gateways.transactions.error.loadDetail": "Nie udało się załadować szczegółów transakcji",
|
|
59
|
+
"payment_gateways.transactions.error.refreshStatus": "Nie udało się odświeżyć statusu transakcji",
|
|
60
|
+
"payment_gateways.transactions.filters.allProviders": "Wszyscy dostawcy",
|
|
61
|
+
"payment_gateways.transactions.filters.allStatuses": "Wszystkie statusy",
|
|
62
|
+
"payment_gateways.transactions.filters.provider": "Dostawca",
|
|
63
|
+
"payment_gateways.transactions.filters.status": "Status",
|
|
64
|
+
"payment_gateways.transactions.level.error": "Błąd",
|
|
65
|
+
"payment_gateways.transactions.level.info": "Informacja",
|
|
66
|
+
"payment_gateways.transactions.level.warn": "Ostrzeżenie",
|
|
67
|
+
"payment_gateways.transactions.log.code": "Kod",
|
|
68
|
+
"payment_gateways.transactions.log.entityId": "ID encji",
|
|
69
|
+
"payment_gateways.transactions.log.entityType": "Typ encji",
|
|
70
|
+
"payment_gateways.transactions.log.level": "Poziom",
|
|
71
|
+
"payment_gateways.transactions.log.runId": "ID uruchomienia",
|
|
72
|
+
"payment_gateways.transactions.log.time": "Czas",
|
|
73
|
+
"payment_gateways.transactions.searchPlaceholder": "Szukaj po płatności, transakcji, sesji lub identyfikatorze bramki",
|
|
74
|
+
"payment_gateways.transactions.success.refreshStatus": "Status transakcji odświeżony",
|
|
75
|
+
"payment_gateways.transactions.tableTitle": "Transakcje",
|
|
76
|
+
"payment_gateways.transactions.title": "Transakcje płatności"
|
|
77
|
+
}
|