--- 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` **activeManager\_**: [object Object] ___ #### paymentService\_ `Protected` **paymentService\_**: [object Object] ## 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. ##### Type Parameters ##### 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 ##### Type Parameters ##### 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)