DocumentationPaymentsTypesInterfaces

Payment Adapter

amerta


amerta / Payments/Types / PaymentAdapter

Interface: PaymentAdapter

Defined in: amerta/payload/payments/types/index.d.ts:81

Payment Adapter Interface

Defines the contract for payment gateway adapters. Each payment provider (Stripe, PayPal, etc.) must implement this interface to integrate with the system.

PaymentAdapter

Example

// Implementing a payment adapter
const stripeAdapter: PaymentAdapter = {
  slug: "stripe",
  label: "Stripe",
  settingsFields: [...],
  onSaveSettings: async (args) => { ... },
  executeAction: async (action, data, method) => { ... },
  confirm: async (amount, currency, orderNumber, redirectUrl, locale, order) => { ... }
};

Properties

callback()?

optional callback: (req, order) => Promise<any>

Defined in: amerta/payload/payments/types/index.d.ts:168

Optional server-side callback for payment gateway confirmations

Parameters

| Parameter | Type | | ------ | ------ | | req | PayloadRequest | | order | Order |

Returns

Promise<any>


confirm()

confirm: (amount, currency, orderNumber, redirectUrl, locale, order) => Promise<{ redirectUrl: string; success: boolean; }>

Defined in: amerta/payload/payments/types/index.d.ts:121

Confirm payment after customer submission

Parameters

| Parameter | Type | | ------ | ------ | | amount | number | | currency | Currency | | orderNumber | string | | redirectUrl | string | | locale | string | | order | Order |

Returns

Promise<{ redirectUrl: string; success: boolean; }>


executeAction()

executeAction: (actionName, actionData, method) => Promise<any>

Defined in: amerta/payload/payments/types/index.d.ts:107

Execute a payment action (charge, refund, etc.)

Parameters

| Parameter | Type | | ------ | ------ | | actionName | string | | actionData | {[key: string]: any; amount: number; currencyCode?: string; } | | actionData.amount | number | | actionData.currencyCode? | string | | method | PaymentMethod |

Returns

Promise<any>


handleWebhook()?

optional handleWebhook: (req) => Promise<Response>

Defined in: amerta/payload/payments/types/index.d.ts:140

Optional webhook handler for payment notifications

Parameters

| Parameter | Type | | ------ | ------ | | req | PayloadRequest |

Returns

Promise<Response>


label

label: string

Defined in: amerta/payload/payments/types/index.d.ts:83

Human-readable name of the payment provider


onSaveSettings()

onSaveSettings: (args) => Promise<any>

Defined in: amerta/payload/payments/types/index.d.ts:97

Callback when payment settings are saved

Parameters

| Parameter | Type | | ------ | ------ | | args | { data: Partial<PaymentMethod>; operation: CreateOrUpdateOperation; originalDoc?: any; req: PayloadRequest; } | | args.data | Partial<PaymentMethod> | | args.operation | CreateOrUpdateOperation | | args.originalDoc? | any | | args.req | PayloadRequest |

Returns

Promise<any>


settingsFields

settingsFields: Field[]

Defined in: amerta/payload/payments/types/index.d.ts:85

Dynamic form fields for payment provider configuration


slug

slug: string

Defined in: amerta/payload/payments/types/index.d.ts:82

Unique identifier for the payment adapter (e.g., "stripe", "paypal")