--- displayed_sidebar: servicesSidebar --- import ParameterTypes from "@site/src/components/ParameterTypes" # PaymentProviderService Helps retrieve payment providers ## Constructors ### constructor `**new PaymentProviderService**(container)` #### Parameters ## Properties `", "description": "", "optional": true, "defaultValue": "", "expandable": false, "children": [] }, { "name": "__container__", "type": "`any`", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "__moduleDeclaration__", "type": "`Record`", "description": "", "optional": true, "defaultValue": "", "expandable": false, "children": [] }, { "name": "container_", "type": "[InjectedDependencies](../types/InjectedDependencies-24.mdx)", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "customerService_", "type": "[CustomerService](CustomerService.mdx)", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "featureFlagRouter_", "type": "[FlagRouter](FlagRouter.mdx)", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "logger_", "type": "[Logger](../types/Logger-1.mdx)", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "manager_", "type": "EntityManager", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "paymentProviderRepository_", "type": "Repository<[PaymentProvider](PaymentProvider.mdx)>", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "paymentRepository_", "type": "Repository<[Payment](Payment.mdx)>", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "paymentSessionRepository_", "type": "Repository<[PaymentSession](PaymentSession.mdx)>", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "refundRepository_", "type": "Repository<[Refund](Refund.mdx)>", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "transactionManager_", "type": "`undefined` \\| EntityManager", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] } ]} /> ## Accessors ### activeManager\_ `Protected get**activeManager_**(): EntityManager` #### Returns EntityManager ___ ### paymentService\_ `Protected get**paymentService_**(): [PaymentService](PaymentService.mdx)` #### Returns [PaymentService](PaymentService.mdx) ## Methods ### atomicPhase\_ `Protected **atomicPhase_**(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. #### Parameters Promise<TResult>", "description": "the transactional work to be done", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "isolationOrErrorHandler", "type": "`IsolationLevel` \\| (`error`: `TError`) => Promise<void \\| TResult>", "description": "the isolation level to be used for the work.", "optional": true, "defaultValue": "", "expandable": false, "children": [] }, { "name": "maybeErrorHandlerOrDontFail", "type": "(`error`: `TError`) => Promise<void \\| TResult>", "description": "Potential error handler", "optional": true, "defaultValue": "", "expandable": false, "children": [] } ]} /> #### Returns Promise<TResult> ___ ### authorizePayment `**authorizePayment**(paymentSession, context): Promise<undefined \| [PaymentSession](PaymentSession.mdx)>` #### Parameters `", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] } ]} /> #### Returns Promise<undefined \| [PaymentSession](PaymentSession.mdx)> ___ ### buildPaymentProcessorContext `Protected **buildPaymentProcessorContext**(cartOrData): [Cart](Cart.mdx) & [PaymentContext](../types/PaymentContext.mdx)` Build the create session context for both legacy and new API #### Parameters #### Returns [Cart](Cart.mdx) & [PaymentContext](../types/PaymentContext.mdx) ___ ### cancelPayment `**cancelPayment**(paymentObj): Promise<[Payment](Payment.mdx)>` #### Parameters #### Returns Promise<[Payment](Payment.mdx)> ___ ### capturePayment `**capturePayment**(paymentObj): Promise<[Payment](Payment.mdx)>` #### Parameters #### Returns Promise<[Payment](Payment.mdx)> ___ ### createPayment `**createPayment**(data): Promise<[Payment](Payment.mdx)>` #### Parameters #### Returns Promise<[Payment](Payment.mdx)> ___ ### createSession `**createSession**(providerId, cart): Promise<[PaymentSession](PaymentSession.mdx)>` #### Parameters #### Returns Promise<[PaymentSession](PaymentSession.mdx)> #### Deprecated `**createSession**(sessionInput): Promise<[PaymentSession](PaymentSession.mdx)>` Creates a payment session with the given provider. #### Parameters #### Returns Promise<[PaymentSession](PaymentSession.mdx)> ___ ### deleteSession `**deleteSession**(paymentSession): Promise<undefined \| [PaymentSession](PaymentSession.mdx)>` #### Parameters #### Returns Promise<undefined \| [PaymentSession](PaymentSession.mdx)> ___ ### getStatus `**getStatus**(payment): Promise<[PaymentSessionStatus](../enums/PaymentSessionStatus.mdx)>` #### Parameters #### Returns Promise<[PaymentSessionStatus](../enums/PaymentSessionStatus.mdx)> ___ ### list `**list**(): Promise<[PaymentProvider](PaymentProvider.mdx)[]>` #### Returns Promise<[PaymentProvider](PaymentProvider.mdx)[]> ___ ### listPayments `**listPayments**(selector, config?): Promise<[Payment](Payment.mdx)[]>` List all the payments according to the given selector and config. #### Parameters #### Returns Promise<[Payment](Payment.mdx)[]> ___ ### 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 ` \\| [PaymentSessionResponse](../types/PaymentSessionResponse.mdx)", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] } ]} /> #### Returns Promise<void> ___ ### refreshSession `**refreshSession**(paymentSession, sessionInput): Promise<[PaymentSession](PaymentSession.mdx)>` Refreshes a payment session with the given provider. This means, that we delete the current one and create a new. #### Parameters `", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "paymentSession.id", "type": "`string`", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "paymentSession.provider_id", "type": "`string`", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "sessionInput", "type": "[PaymentSessionInput](../types/PaymentSessionInput.mdx)", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] } ]} /> #### Returns Promise<[PaymentSession](PaymentSession.mdx)> ___ ### refundFromPayment `**refundFromPayment**(payment, amount, reason, note?): Promise<[Refund](Refund.mdx)>` #### Parameters #### Returns Promise<[Refund](Refund.mdx)> ___ ### refundPayment `**refundPayment**(payObjs, amount, reason, note?): Promise<[Refund](Refund.mdx)>` #### Parameters #### Returns Promise<[Refund](Refund.mdx)> ___ ### registerInstalledProviders `**registerInstalledProviders**(providerIds): Promise<void>` #### Parameters #### Returns Promise<void> ___ ### retrievePayment `**retrievePayment**(paymentId, relations?): Promise<[Payment](Payment.mdx)>` Retrieve a payment entity with the given id. #### Parameters #### Returns Promise<[Payment](Payment.mdx)> ___ ### retrieveProvider `**retrieveProvider**(providerId): TProvider extends [AbstractPaymentService](AbstractPaymentService.mdx) ? [AbstractPaymentService](AbstractPaymentService.mdx) : TProvider extends [AbstractPaymentProcessor](AbstractPaymentProcessor.mdx) ? [AbstractPaymentProcessor](AbstractPaymentProcessor.mdx) : any` Finds a provider given an id #### Parameters #### Returns `TProvider` extends [AbstractPaymentService](AbstractPaymentService.mdx) ? [AbstractPaymentService](AbstractPaymentService.mdx) : `TProvider` extends [AbstractPaymentProcessor](AbstractPaymentProcessor.mdx) ? [AbstractPaymentProcessor](AbstractPaymentProcessor.mdx) : `any` ___ ### retrieveRefund `**retrieveRefund**(id, config?): Promise<[Refund](Refund.mdx)>` #### Parameters #### Returns Promise<[Refund](Refund.mdx)> ___ ### retrieveSession `**retrieveSession**(paymentSessionId, relations?): Promise<[PaymentSession](PaymentSession.mdx)>` Return the payment session for the given id. #### Parameters #### Returns Promise<[PaymentSession](PaymentSession.mdx)> ___ ### saveSession `Protected **saveSession**(providerId, data): Promise<[PaymentSession](PaymentSession.mdx)>` Create or update a Payment session data. #### Parameters `", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "data.status", "type": "[PaymentSessionStatus](../enums/PaymentSessionStatus.mdx)", "description": "", "optional": true, "defaultValue": "", "expandable": false, "children": [] } ]} /> #### Returns Promise<[PaymentSession](PaymentSession.mdx)> ___ ### shouldRetryTransaction\_ `Protected **shouldRetryTransaction_**(err): boolean` #### Parameters ` \\| `{ code: string }`", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] } ]} /> #### Returns `boolean` ___ ### throwFromPaymentProcessorError `Private **throwFromPaymentProcessorError**(errObj): void` #### Parameters #### Returns `void` ___ ### updatePayment `**updatePayment**(paymentId, data): Promise<[Payment](Payment.mdx)>` #### Parameters #### Returns Promise<[Payment](Payment.mdx)> ___ ### updateSession `**updateSession**(paymentSession, sessionInput): Promise<[PaymentSession](PaymentSession.mdx)>` Update a payment session with the given provider. #### Parameters `", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "paymentSession.id", "type": "`string`", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "paymentSession.provider_id", "type": "`string`", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "sessionInput", "type": "[Cart](Cart.mdx) \\| [PaymentSessionInput](../types/PaymentSessionInput.mdx)", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] } ]} /> #### Returns Promise<[PaymentSession](PaymentSession.mdx)> ___ ### updateSessionData `**updateSessionData**(paymentSession, data): Promise<[PaymentSession](PaymentSession.mdx)>` #### Parameters `", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] } ]} /> #### Returns Promise<[PaymentSession](PaymentSession.mdx)> ___ ### withTransaction `**withTransaction**(transactionManager?): [PaymentProviderService](PaymentProviderService.mdx)` #### Parameters #### Returns [PaymentProviderService](PaymentProviderService.mdx)