feat: Add support for listing saved payment methods in module and Stripe (#10994)

This commit is contained in:
Stevche Radevski
2025-01-16 16:16:04 +01:00
committed by GitHub
parent 114b2133aa
commit f99f720dd4
8 changed files with 171 additions and 0 deletions

View File

@@ -8,6 +8,7 @@ import {
CreateRefundDTO,
DAL,
FilterablePaymentCollectionProps,
FilterablePaymentMethodProps,
FilterablePaymentProviderProps,
FilterablePaymentSessionProps,
FindConfig,
@@ -20,6 +21,7 @@ import {
PaymentCollectionDTO,
PaymentCollectionUpdatableFields,
PaymentDTO,
PaymentMethodDTO,
PaymentProviderDTO,
PaymentSessionDTO,
ProviderWebhookPayload,
@@ -906,6 +908,33 @@ export default class PaymentModuleService
]
}
@InjectManager()
async listPaymentMethods(
filters: FilterablePaymentMethodProps,
config: FindConfig<PaymentMethodDTO> = {},
@MedusaContext() sharedContext?: Context
): Promise<PaymentMethodDTO[]> {
return await this.paymentProviderService_.listPaymentMethods(
filters.provider_id,
filters.context
)
}
@InjectManager()
async listAndCountPaymentMethods(
filters: FilterablePaymentMethodProps,
config: FindConfig<PaymentMethodDTO> = {},
@MedusaContext() sharedContext?: Context
): Promise<[PaymentMethodDTO[], number]> {
const paymentMethods =
await this.paymentProviderService_.listPaymentMethods(
filters.provider_id,
filters.context
)
return [paymentMethods, paymentMethods.length]
}
@InjectManager()
private async maybeUpdatePaymentCollection_(
paymentCollectionId: string,