Skip to main content
Skip to main content

AbstractPaymentService

This will be

Deprecated

in the near future use the AbstractPaymentProcessor instead

constructor

Parameters

containerunknownRequired
configRecord<string, unknown>

Properties

_isPaymentServicebooleanRequired

Default: true

identifierstringRequired
manager_EntityManagerRequired
transactionManager_undefined | EntityManagerRequired
__container__anyRequired
__configModule__Record<string, unknown>
__moduleDeclaration__Record<string, unknown>

Accessors

activeManager_

Returns

EntityManagerEntityManagerRequired

Methods

getIdentifier

Returns

stringstringRequired

getPaymentData

Parameters

paymentSessionPaymentSessionRequired
A Payment Session is created when a Customer initilizes the checkout flow, and can be used to hold the state of a payment flow. Each Payment Session is controlled by a Payment Provider, which is responsible for the communication with external payment services. Authorized Payment Sessions will eventually get promoted to Payments to indicate that they are authorized for payment processing such as capture or refund. Payment sessions can also be used as part of payment collections.

Returns

PromisePromise<Data>Required

Deprecated

updatePaymentData

Parameters

paymentSessionDataDataRequired
dataDataRequired

Returns

PromisePromise<Data>Required

Deprecated

createPayment

Abstract **createPayment**(context): Promise&#60;[PaymentSessionResponse](/references/medusa/types/medusa.PaymentSessionResponse)&#62;

Parameters

contextCart & PaymentContextRequired
The type of this argument is meant to be temporary and once the previous method signature will be removed, the type will only be PaymentContext instead of Cart & PaymentContext

Returns

PromisePromise<PaymentSessionResponse>Required

Abstract **createPayment**(cart): Promise&#60;[Data](/references/medusa/types/medusa.Data)&#62;

This will be

Parameters

cartCartRequired

Returns

PromisePromise<Data>Required
This will be

Deprecated

in the near future use createPayment(context: Cart & PaymentContext): Promise<PaymentSessionResponse> instead

retrievePayment

Parameters

paymentDataDataRequired

Returns

PromisePromise<Data>Required

Deprecated

updatePayment

Abstract **updatePayment**(paymentSessionData, context): Promise&#60;Record&#60;string, unknown&#62; \| [PaymentSessionResponse](/references/medusa/types/medusa.PaymentSessionResponse)&#62;

Parameters

paymentSessionDataDataRequired
contextCart & PaymentContextRequired
The type of this argument is meant to be temporary and once the previous method signature will be removed, the type will only be PaymentContext instead of Cart & PaymentContext

Returns

PromisePromise<Record<string, unknown> | PaymentSessionResponse>Required
it return either a PaymentSessionResponse or PaymentSessionResponse["session_data"] to maintain backward compatibility

Abstract **updatePayment**(paymentSessionData, cart): Promise&#60;[Data](/references/medusa/types/medusa.Data)&#62;

This will be

Parameters

paymentSessionDataDataRequired
cartCartRequired

Returns

PromisePromise<Data>Required
This will be

Deprecated

in the near future use updatePayment(paymentSessionData: PaymentSessionData, context: Cart & PaymentContext): Promise<PaymentSessionResponse> instead

authorizePayment

Parameters

paymentSessionPaymentSessionRequired
A Payment Session is created when a Customer initilizes the checkout flow, and can be used to hold the state of a payment flow. Each Payment Session is controlled by a Payment Provider, which is responsible for the communication with external payment services. Authorized Payment Sessions will eventually get promoted to Payments to indicate that they are authorized for payment processing such as capture or refund. Payment sessions can also be used as part of payment collections.
contextDataRequired

Returns

PromisePromise<object>Required

Deprecated

capturePayment

This will be

Parameters

paymentPaymentRequired
A payment is originally created from a payment session. Once a payment session is authorized, the payment is created to represent the authorized amount with a given payment method. Payments can be captured, canceled or refunded. Payments can be made towards orders, swaps, order edits, or other resources.

Returns

PromisePromise<Data>Required
This will be

Deprecated

in the near future

refundPayment

This will be

Parameters

paymentPaymentRequired
A payment is originally created from a payment session. Once a payment session is authorized, the payment is created to represent the authorized amount with a given payment method. Payments can be captured, canceled or refunded. Payments can be made towards orders, swaps, order edits, or other resources.
refundAmountnumberRequired

Returns

PromisePromise<Data>Required
This will be

Deprecated

in the near future

cancelPayment

This will be

Parameters

paymentPaymentRequired
A payment is originally created from a payment session. Once a payment session is authorized, the payment is created to represent the authorized amount with a given payment method. Payments can be captured, canceled or refunded. Payments can be made towards orders, swaps, order edits, or other resources.

Returns

PromisePromise<Data>Required
This will be

Deprecated

in the near future

deletePayment

This will be

Parameters

paymentSessionPaymentSessionRequired
A Payment Session is created when a Customer initilizes the checkout flow, and can be used to hold the state of a payment flow. Each Payment Session is controlled by a Payment Provider, which is responsible for the communication with external payment services. Authorized Payment Sessions will eventually get promoted to Payments to indicate that they are authorized for payment processing such as capture or refund. Payment sessions can also be used as part of payment collections.

Returns

PromisePromise<void>Required
This will be

Deprecated

in the near future

retrieveSavedMethods

This will be

Parameters

customerCustomerRequired
A customer can make purchases in your store and manage their profile.

Returns

PromisePromise<Data[]>Required
This will be

Deprecated

in the near future

getStatus

This will be

Parameters

dataDataRequired

Returns

PromisePromise<PaymentSessionStatus>Required
This will be

Deprecated

in the near future

withTransaction

Parameters

transactionManagerEntityManager

Returns

thisthisRequired

shouldRetryTransaction_

Parameters

errRecord<string, unknown> | objectRequired

Returns

booleanbooleanRequired

atomicPhase_

Wraps some work within a transactional block. If the service already has a transaction manager attached this will be reused, otherwise a new transaction manager is created.

Type Parameters

TResultobjectRequired
TErrorobjectRequired

Parameters

work(transactionManager: EntityManager) => Promise<TResult>Required
the transactional work to be done
isolationOrErrorHandlerIsolationLevel | (error: TError) => Promise<void | TResult>
the isolation level to be used for the work.
maybeErrorHandlerOrDontFail(error: TError) => Promise<void | TResult>
Potential error handler

Returns

PromisePromise<TResult>Required
the result of the transactional work
Was this section helpful?