Sarraf API
    Preparing search index...

    Interface PaymentProvider<Id>

    interface PaymentProvider<Id extends ProviderId = ProviderId> {
        capabilities: Capabilities;
        id: Id;
        attach?(ctx: Ctx): void;
        cancel?(lookup: PaymentLookup, ctx: Ctx): Promise<Payment>;
        capture?(input: CaptureInput, ctx: Ctx): Promise<Payment>;
        createCheckout(input: CreateCheckoutInput<Id>, ctx: Ctx): Promise<Checkout>;
        getPayment(lookup: PaymentLookup, ctx: Ctx): Promise<Payment>;
        inspectWebhook(
            req: RawWebhookRequest,
            ctx: Ctx,
        ): Promise<WebhookInspection>;
        parseWebhook(verified: VerifiedWebhook, ctx: Ctx): Promise<SarrafEvent>;
        refund?(input: RefundInput, ctx: Ctx): Promise<Refund>;
        verifyRedirect?(
            query: Record<string, string>,
            ctx: Ctx,
        ): Promise<RedirectResult>;
        verifyWebhook(req: RawWebhookRequest, ctx: Ctx): Promise<VerifiedWebhook>;
    }

    Type Parameters

    Index
    capabilities: Capabilities
    id: Id
    • Called once by Sarraf with its context, for adapters that expose extra APIs.

      Parameters

      Returns void

    • Parameters

      • query: Record<string, string>
      • ctx: Ctx

      Returns Promise<RedirectResult>