Skip to main content
Skip to main content

AbstractPaymentProcessor

Payment processor in charge of creating , managing and processing a payment

Implements

Constructors

constructor

Protected new AbstractPaymentProcessor(container, config?)

Parameters

containerMedusaContainerRequired
configRecord<string, unknown>

Properties

configRecord<string, unknown>
containerMedusaContainerRequired
identifierstringRequired

Methods

authorizePayment

Abstract authorizePayment(paymentSessionData, context): Promise<PaymentProcessorError | { data: Record<string, unknown> ; status: PaymentSessionStatus }>

Authorize an existing session if it is not already authorized

Parameters

paymentSessionDataRecord<string, unknown>Required
contextRecord<string, unknown>Required

Returns

Promise<PaymentProcessorError | { data: Record<string, unknown> ; status: PaymentSessionStatus }>

PromisePromise<PaymentProcessorError | { data: Record<string, unknown> ; status: PaymentSessionStatus }>Required

cancelPayment

Abstract cancelPayment(paymentSessionData): Promise<Record<string, unknown> | PaymentProcessorError>

Cancel an existing session

Parameters

paymentSessionDataRecord<string, unknown>Required

Returns

Promise<Record<string, unknown> | PaymentProcessorError>

PromisePromise<Record<string, unknown> | PaymentProcessorError>Required

capturePayment

Abstract capturePayment(paymentSessionData): Promise<Record<string, unknown> | PaymentProcessorError>

Capture an existing session

Parameters

paymentSessionDataRecord<string, unknown>Required

Returns

Promise<Record<string, unknown> | PaymentProcessorError>

PromisePromise<Record<string, unknown> | PaymentProcessorError>Required

deletePayment

Abstract deletePayment(paymentSessionData): Promise<Record<string, unknown> | PaymentProcessorError>

Delete an existing session

Parameters

paymentSessionDataRecord<string, unknown>Required

Returns

Promise<Record<string, unknown> | PaymentProcessorError>

PromisePromise<Record<string, unknown> | PaymentProcessorError>Required

getIdentifier

getIdentifier(): string

Return a unique identifier to retrieve the payment plugin provider

Returns

string

stringstring

getPaymentStatus

Abstract getPaymentStatus(paymentSessionData): Promise<PaymentSessionStatus>

Return the status of the session

Parameters

paymentSessionDataRecord<string, unknown>Required

Returns

Promise<PaymentSessionStatus>

PromisePromise<PaymentSessionStatus>Required

initiatePayment

Abstract initiatePayment(context): Promise<PaymentProcessorError | PaymentProcessorSessionResponse>

Initiate a payment session with the external provider

Parameters

Returns

Promise<PaymentProcessorError | PaymentProcessorSessionResponse>


refundPayment

Abstract refundPayment(paymentSessionData, refundAmount): Promise<Record<string, unknown> | PaymentProcessorError>

Refund an existing session

Parameters

paymentSessionDataRecord<string, unknown>Required
refundAmountnumberRequired

Returns

Promise<Record<string, unknown> | PaymentProcessorError>

PromisePromise<Record<string, unknown> | PaymentProcessorError>Required

retrievePayment

Abstract retrievePayment(paymentSessionData): Promise<Record<string, unknown> | PaymentProcessorError>

Retrieve an existing session

Parameters

paymentSessionDataRecord<string, unknown>Required

Returns

Promise<Record<string, unknown> | PaymentProcessorError>

PromisePromise<Record<string, unknown> | PaymentProcessorError>Required

updatePayment

Abstract updatePayment(context): Promise<void | PaymentProcessorError | PaymentProcessorSessionResponse>

Update an existing payment session

Parameters

Returns

Promise<void | PaymentProcessorError | PaymentProcessorSessionResponse>


updatePaymentData

Abstract updatePaymentData(sessionId, data): Promise<Record<string, unknown> | PaymentProcessorError>

Update the session data for a payment session

Parameters

sessionIdstringRequired
dataRecord<string, unknown>Required

Returns

Promise<Record<string, unknown> | PaymentProcessorError>

PromisePromise<Record<string, unknown> | PaymentProcessorError>Required
Was this section helpful?