UNPKG

@sahabaplus/moyasar

Version:

A comprehensive TypeScript SDK for integrating with the Moyasar payment gateway

103 lines 3.61 kB
import type { ApiClient, Metadata, MoyasarClientTypes } from "../../shared/types/index"; import type { ListPaymentsResponse, PaymentListOptions, Payment, CreatePaymentRequest, UpdatePaymentRequest, RefundPaymentRequest, CapturePaymentRequest } from "./types"; import { PaymentStatus } from "./enums"; type PaymentServiceParams<T extends MoyasarClientTypes> = { apiClient: ApiClient<T>; }; export declare class PaymentService<T extends MoyasarClientTypes> { private apiClient; private readonly paymentUtils; constructor(p: PaymentServiceParams<T>); /** * Create a new payment */ create(params: CreatePaymentRequest<T["metadata"]>): Promise<Payment<T["metadata"]>>; /** * List payments with optional filtering */ list(options?: PaymentListOptions): Promise<ListPaymentsResponse<T["metadata"]>>; /** * Retrieve a specific payment */ retrieve(paymentId: string): Promise<Payment<T["metadata"]>>; /** * Update a payment */ update({ paymentId, update, }: { paymentId: string; update: UpdatePaymentRequest<T["metadata"]>; }): Promise<Payment<T["metadata"]>>; /** * Refund a payment (full or partial) */ refund({ paymentId, refund, }: { paymentId: string; refund: RefundPaymentRequest; }): Promise<Payment<T["metadata"]>>; /** * Capture an authorized payment (full or partial) */ capture({ paymentId, capture, }: { paymentId: string; capture?: CapturePaymentRequest; }): Promise<Payment<T["metadata"]>>; /** * Void an authorized payment */ void(paymentId: string): Promise<Payment<T["metadata"]>>; /** * Search payments by metadata */ searchByMetadata({ metadata, options, }: { metadata: Metadata; options: Omit<PaymentListOptions, "metadata">; }): Promise<ListPaymentsResponse<T["metadata"]>>; /** * Get payments by status */ getByStatus(status: PaymentStatus, options?: Omit<PaymentListOptions, "status">): Promise<ListPaymentsResponse<T["metadata"]>>; /** * Get paid payments */ getPaid(options?: Omit<PaymentListOptions, "status">): Promise<ListPaymentsResponse<T["metadata"]>>; /** * Get failed payments */ getFailed(options?: Omit<PaymentListOptions, "status">): Promise<ListPaymentsResponse<T["metadata"]>>; /** * Get authorized payments */ getAuthorized(options?: Omit<PaymentListOptions, "status">): Promise<ListPaymentsResponse<T["metadata"]>>; /** * Get refunded payments */ getRefunded(options?: Omit<PaymentListOptions, "status">): Promise<ListPaymentsResponse<T["metadata"]>>; /** * Get payments by card last 4 digits */ getByCardLast4({ last4, options, }: { last4: string; options: Omit<PaymentListOptions, "last_4">; }): Promise<ListPaymentsResponse<T["metadata"]>>; /** * Get payments by RRN (Retrieval Reference Number) */ getByRRN({ rrn, options, }: { rrn: string; options: Omit<PaymentListOptions, "rrn">; }): Promise<ListPaymentsResponse<T["metadata"]>>; /** * Check payment capabilities (what actions can be performed) */ getPaymentCapabilities(paymentId: string): Promise<{ canRefund: boolean; canCapture: boolean; canVoid: boolean; maxRefundAmount: number; maxCaptureAmount: number; }>; private handleError; protected parseBody(p: object): Record<string, string>; } export {}; //# sourceMappingURL=service.d.ts.map