import { CreatePaymentProviderSession, PaymentProviderError, PaymentProviderSessionResponse, ProviderWebhookPayload, WebhookActionResult, } from "@medusajs/framework/types" import { AbstractPaymentProvider, PaymentActions, PaymentSessionStatus, } from "@medusajs/framework/utils" export class SystemProviderService extends AbstractPaymentProvider { static identifier = "system" static PROVIDER = "system" async getStatus(_): Promise { return "authorized" } async getPaymentData(_): Promise> { return {} } async initiatePayment( context: CreatePaymentProviderSession ): Promise { return { data: {} } } async getPaymentStatus( paymentSessionData: Record ): Promise { throw new Error("Method not implemented.") } async retrievePayment( paymentSessionData: Record ): Promise | PaymentProviderError> { return {} } async authorizePayment(_): Promise< | PaymentProviderError | { status: PaymentSessionStatus data: PaymentProviderSessionResponse["data"] } > { return { data: {}, status: PaymentSessionStatus.AUTHORIZED } } async updatePayment( _ ): Promise { return { data: {} } as PaymentProviderSessionResponse } async deletePayment(_): Promise> { return {} } async capturePayment(_): Promise> { return {} } async refundPayment(_): Promise> { return {} } async cancelPayment(_): Promise> { return {} } async getWebhookActionAndData( data: ProviderWebhookPayload["payload"] ): Promise { return { action: PaymentActions.NOT_SUPPORTED } } } export default SystemProviderService