--- displayed_sidebar: servicesSidebar --- import ParameterTypes from "@site/src/components/ParameterTypes" # PaymentProviderService Helps retrieve payment providers ## constructor ### 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`", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "customerService_", "type": "[CustomerService](services.CustomerService.mdx)", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "featureFlagRouter_", "type": "`FlagRouter`", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "logger_", "type": "[Logger](../../medusa/types/medusa.Logger.mdx)", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "manager_", "type": "`EntityManager`", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "paymentProviderRepository_", "type": "Repository<[PaymentProvider](../../entities/classes/entities.PaymentProvider.mdx)>", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "paymentRepository_", "type": "Repository<[Payment](../../entities/classes/entities.Payment.mdx)>", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "paymentSessionRepository_", "type": "Repository<[PaymentSession](../../entities/classes/entities.PaymentSession.mdx)>", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "refundRepository_", "type": "Repository<[Refund](../../entities/classes/entities.Refund.mdx)>", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "transactionManager_", "type": "`undefined` \\| `EntityManager`", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] } ]} /> ___ ## Accessors ### activeManager\_ #### Returns ___ ### paymentService\_ #### Returns ___ ## Methods ### 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 #### 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 ___ ### authorizePayment #### Parameters `", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] } ]} /> #### Returns ___ ### buildPaymentProcessorContext Build the create session context for both legacy and new API #### Parameters #### Returns ___ ### cancelPayment #### Parameters #### Returns ___ ### capturePayment #### Parameters #### Returns ___ ### createPayment #### Parameters #### Returns ___ ### createSession `**createSession**(providerId, cart): Promise<[PaymentSession](../../entities/classes/entities.PaymentSession.mdx)>` #### Parameters #### Returns #### Deprecated `**createSession**(sessionInput): Promise<[PaymentSession](../../entities/classes/entities.PaymentSession.mdx)>` Creates a payment session with the given provider. #### Parameters #### Returns ___ ### deleteSession #### Parameters #### Returns ___ ### getStatus #### Parameters #### Returns ___ ### list #### Returns ___ ### listPayments List all the payments according to the given selector and config. #### Parameters #### Returns ___ ### processUpdateRequestsData Process the collected data. Can be used every time we need to process some collected data returned by the provider #### Parameters ` \\| [PaymentSessionResponse](../../medusa/types/medusa.PaymentSessionResponse.mdx)", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] } ]} /> #### Returns ___ ### refreshSession 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`", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] } ]} /> #### Returns ___ ### refundFromPayment #### Parameters #### Returns ___ ### refundPayment #### Parameters #### Returns ___ ### registerInstalledProviders #### Parameters #### Returns ___ ### retrievePayment Retrieve a payment entity with the given id. #### Parameters #### Returns ___ ### retrieveProvider Finds a provider given an id #### Type Parameters #### Parameters #### Returns ___ ### retrieveRefund #### Parameters #### Returns ___ ### retrieveSession Return the payment session for the given id. #### Parameters #### Returns ___ ### saveSession Create or update a Payment session data. #### Parameters `", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "data.status", "type": "[PaymentSessionStatus](../../entities/enums/entities.PaymentSessionStatus.mdx)", "description": "", "optional": true, "defaultValue": "", "expandable": false, "children": [] } ]} /> #### Returns ___ ### shouldRetryTransaction\_ #### Parameters ` \\| `object`", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] } ]} /> #### Returns ___ ### throwFromPaymentProcessorError #### Parameters #### Returns ___ ### updatePayment #### Parameters #### Returns ___ ### updateSession 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](../../entities/classes/entities.Cart.mdx) \\| `PaymentSessionInput`", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] } ]} /> #### Returns ___ ### updateSessionData #### Parameters `", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] } ]} /> #### Returns ___ ### withTransaction #### Parameters #### Returns