Skip to main content

Class: PaymentProviderService

Helps retrieve payment providers

Hierarchy

  • TransactionBaseService

    PaymentProviderService

Constructors

constructor

new PaymentProviderService(container)

Parameters

NameType
containerInjectedDependencies

Overrides

TransactionBaseService.constructor

Defined in

packages/medusa/src/services/payment-provider.ts:64

Properties

__configModule__

Protected Optional Readonly __configModule__: Record<string, unknown>

Inherited from

TransactionBaseService.__configModule__

Defined in

packages/medusa/src/interfaces/transaction-base-service.ts:10


__container__

Protected Readonly __container__: any

Inherited from

TransactionBaseService.__container__

Defined in

packages/medusa/src/interfaces/transaction-base-service.ts:9


__moduleDeclaration__

Protected Optional Readonly __moduleDeclaration__: Record<string, unknown>

Inherited from

TransactionBaseService.__moduleDeclaration__

Defined in

packages/medusa/src/interfaces/transaction-base-service.ts:11


container_

Protected Readonly container_: InjectedDependencies

Defined in

packages/medusa/src/services/payment-provider.ts:53


customerService_

Protected Readonly customerService_: CustomerService

Defined in

packages/medusa/src/services/payment-provider.ts:59


featureFlagRouter_

Protected Readonly featureFlagRouter_: FlagRouter

Defined in

packages/medusa/src/services/payment-provider.ts:62


logger_

Protected Readonly logger_: Logger

Defined in

packages/medusa/src/services/payment-provider.ts:60


manager_

Protected manager_: EntityManager

Overrides

TransactionBaseService.manager_

Defined in

packages/medusa/src/services/payment-provider.ts:51


paymentProviderRepository_

Protected Readonly paymentProviderRepository_: typeof PaymentProviderRepository

Defined in

packages/medusa/src/services/payment-provider.ts:56


paymentRepository_

Protected Readonly paymentRepository_: typeof PaymentRepository

Defined in

packages/medusa/src/services/payment-provider.ts:57


paymentSessionRepository_

Protected Readonly paymentSessionRepository_: typeof PaymentSessionRepository

Defined in

packages/medusa/src/services/payment-provider.ts:54


refundRepository_

Protected Readonly refundRepository_: typeof RefundRepository

Defined in

packages/medusa/src/services/payment-provider.ts:58


transactionManager_

Protected transactionManager_: undefined | EntityManager

Overrides

TransactionBaseService.transactionManager_

Defined in

packages/medusa/src/services/payment-provider.ts:52

Methods

atomicPhase_

Protected atomicPhase_<TResult, TError>(work, isolationOrErrorHandler?, maybeErrorHandlerOrDontFail?): Promise<TResult>

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

Name
TResult
TError

Parameters

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

Returns

Promise<TResult>

the result of the transactional work

Inherited from

TransactionBaseService.atomicPhase_

Defined in

packages/medusa/src/interfaces/transaction-base-service.ts:50


authorizePayment

authorizePayment(paymentSession, context): Promise<undefined | PaymentSession>

Parameters

NameType
paymentSessionPaymentSession
contextRecord<string, unknown>

Returns

Promise<undefined | PaymentSession>

Defined in

packages/medusa/src/services/payment-provider.ts:395


buildPaymentProcessorContext

Protected buildPaymentProcessorContext(cartOrData): Cart & PaymentContext

Build the create session context for both legacy and new API

Parameters

NameType
cartOrDataCart | PaymentSessionInput

Returns

Cart & PaymentContext

Defined in

packages/medusa/src/services/payment-provider.ts:641


cancelPayment

cancelPayment(paymentObj): Promise<Payment>

Parameters

NameType
paymentObjPartial<Payment> & { id: string }

Returns

Promise<Payment>

Defined in

packages/medusa/src/services/payment-provider.ts:448


capturePayment

capturePayment(paymentObj): Promise<Payment>

Parameters

NameType
paymentObjPartial<Payment> & { id: string }

Returns

Promise<Payment>

Defined in

packages/medusa/src/services/payment-provider.ts:473


createPayment

createPayment(data): Promise<Payment>

Parameters

NameType
dataCreatePaymentInput

Returns

Promise<Payment>

Defined in

packages/medusa/src/services/payment-provider.ts:357


createSession

createSession<TInput>(providerIdOrSessionInput, ...cart): Promise<PaymentSession>

Creates a payment session with the given provider.

Type parameters

NameType
TInputextends string | PaymentSessionInput = string | PaymentSessionInput

Parameters

NameTypeDescription
providerIdOrSessionInputTInputthe id of the provider to create payment with or the input data
...cartTInput extends string ? [Cart] : [undefined?]a cart object used to calculate the amount, etc. from

Returns

Promise<PaymentSession>

the payment session

Defined in

packages/medusa/src/services/payment-provider.ts:180


deleteSession

deleteSession(paymentSession): Promise<undefined | PaymentSession>

Parameters

NameType
paymentSessionPaymentSession

Returns

Promise<undefined | PaymentSession>

Defined in

packages/medusa/src/services/payment-provider.ts:303


getStatus

getStatus(payment): Promise<PaymentSessionStatus>

Parameters

NameType
paymentPayment

Returns

Promise<PaymentSessionStatus>

Defined in

packages/medusa/src/services/payment-provider.ts:468


list

list(): Promise<PaymentProvider[]>

Returns

Promise<PaymentProvider[]>

Defined in

packages/medusa/src/services/payment-provider.ts:97


listPayments

listPayments(selector, config?): Promise<Payment[]>

Parameters

NameType
selectorSelector<Payment>
configFindConfig<Payment>

Returns

Promise<Payment[]>

Defined in

packages/medusa/src/services/payment-provider.ts:132


processUpdateRequestsData

Protected processUpdateRequestsData(data?, paymentResponse): Promise<void>

Process the collected data. Can be used every time we need to process some collected data returned by the provider

Parameters

NameType
dataObject
data.customer?Object
data.customer.id?string
paymentResponseRecord<string, unknown> | PaymentSessionResponse

Returns

Promise<void>

Defined in

packages/medusa/src/services/payment-provider.ts:731


refreshSession

refreshSession(paymentSession, sessionInput): Promise<PaymentSession>

Refreshes a payment session with the given provider. This means, that we delete the current one and create a new.

Parameters

NameTypeDescription
paymentSessionObjectthe payment session object to update
paymentSession.dataRecord<string, unknown>-
paymentSession.idstring-
paymentSession.provider_idstring-
sessionInputPaymentSessionInput

Returns

Promise<PaymentSession>

the payment session

Defined in

packages/medusa/src/services/payment-provider.ts:238


refundFromPayment

refundFromPayment(payment, amount, reason, note?): Promise<Refund>

Parameters

NameType
paymentPayment
amountnumber
reasonstring
note?string

Returns

Promise<Refund>

Defined in

packages/medusa/src/services/payment-provider.ts:578


refundPayment

refundPayment(payObjs, amount, reason, note?): Promise<Refund>

Parameters

NameType
payObjsPayment[]
amountnumber
reasonstring
note?string

Returns

Promise<Refund>

Defined in

packages/medusa/src/services/payment-provider.ts:493


registerInstalledProviders

registerInstalledProviders(providerIds): Promise<void>

Parameters

NameType
providerIdsstring[]

Returns

Promise<void>

Defined in

packages/medusa/src/services/payment-provider.ts:78


retrievePayment

retrievePayment(id, relations?): Promise<Payment>

Parameters

NameTypeDefault value
idstringundefined
relationsstring[][]

Returns

Promise<Payment>

Defined in

packages/medusa/src/services/payment-provider.ts:104


retrieveProvider

retrieveProvider<TProvider>(providerId): TProvider extends AbstractPaymentService ? AbstractPaymentService : any

Finds a provider given an id

Type parameters

NameType
TProviderextends unknown

Parameters

NameTypeDescription
providerIdstringthe id of the provider to get

Returns

TProvider extends AbstractPaymentService ? AbstractPaymentService : any

the payment provider

Defined in

packages/medusa/src/services/payment-provider.ts:333


retrieveRefund

retrieveRefund(id, config?): Promise<Refund>

Parameters

NameType
idstring
configFindConfig<Refund>

Returns

Promise<Refund>

Defined in

packages/medusa/src/services/payment-provider.ts:618


retrieveSession

retrieveSession(id, relations?): Promise<PaymentSession>

Parameters

NameTypeDefault value
idstringundefined
relationsstring[][]

Returns

Promise<PaymentSession>

Defined in

packages/medusa/src/services/payment-provider.ts:145


saveSession

Protected saveSession(providerId, data): Promise<PaymentSession>

Create or update a Payment session data.

Parameters

NameType
providerIdstring
dataObject
data.amount?number
data.cartId?string
data.isInitiated?boolean
data.isSelected?boolean
data.payment_session_id?string
data.sessionDataRecord<string, unknown>
data.status?PaymentSessionStatus

Returns

Promise<PaymentSession>

Defined in

packages/medusa/src/services/payment-provider.ts:681


shouldRetryTransaction_

Protected shouldRetryTransaction_(err): boolean

Parameters

NameType
errRecord<string, unknown> | { code: string }

Returns

boolean

Inherited from

TransactionBaseService.shouldRetryTransaction_

Defined in

packages/medusa/src/interfaces/transaction-base-service.ts:31


updatePayment

updatePayment(paymentId, data): Promise<Payment>

Parameters

NameType
paymentIdstring
dataObject
data.order_id?string
data.swap_id?string

Returns

Promise<Payment>

Defined in

packages/medusa/src/services/payment-provider.ts:383


updateSession

updateSession(paymentSession, sessionInput): Promise<PaymentSession>

Update a payment session with the given provider.

Parameters

NameTypeDescription
paymentSessionObjectThe paymentSession to update
paymentSession.dataRecord<string, unknown>-
paymentSession.idstring-
paymentSession.provider_idstring-
sessionInputCart | PaymentSessionInput

Returns

Promise<PaymentSession>

the payment session

Defined in

packages/medusa/src/services/payment-provider.ts:268


updateSessionData

updateSessionData(paymentSession, data): Promise<PaymentSession>

Parameters

NameType
paymentSessionPaymentSession
dataRecord<string, unknown>

Returns

Promise<PaymentSession>

Defined in

packages/medusa/src/services/payment-provider.ts:427


withTransaction

withTransaction(transactionManager?): PaymentProviderService

Parameters

NameType
transactionManager?EntityManager

Returns

PaymentProviderService

Inherited from

TransactionBaseService.withTransaction

Defined in

packages/medusa/src/interfaces/transaction-base-service.ts:14