Sarraf API
    Preparing search index...

    Class Sarraf<P>

    Type Parameters

    Index
    checkout: {
        create: <Id extends "paymob" | "kashier" | "fawry">(
            input: CreateCheckoutInput<Id>,
        ) => Promise<Checkout>;
    } = ...
    ctx: Ctx
    payments: {
        cancel: (
            lookup: PaymentLookup & { provider: ProviderId & keyof P },
        ) => Promise<Payment>;
        capture: (
            input: CaptureInput & { provider: ProviderId & keyof P },
        ) => Promise<Payment>;
        get: (
            lookup: PaymentLookup & { provider: ProviderId & keyof P },
        ) => Promise<Payment>;
        reconcile: (
            lookup: PaymentLookup & { provider: ProviderId & keyof P },
        ) => Promise<Payment>;
    } = ...

    Type Declaration

    redirects: {
        verify: (
            provider: ProviderId & keyof P,
            query: Record<string, string>,
        ) => Promise<RedirectResult>;
    } = ...

    Type Declaration

    • verify: (
          provider: ProviderId & keyof P,
          query: Record<string, string>,
      ) => Promise<RedirectResult>

      For the thank-you page only. Order state must come from the webhook or a status query.

    refunds: {
        create: (
            input: RefundInput & { provider: ProviderId & keyof P },
        ) => Promise<Refund>;
    } = ...
    webhooks: {
        dedupeKey: (event: SarrafEvent) => string;
        inspect: (
            provider: ProviderId & keyof P,
            req: RawWebhookRequest,
        ) => Promise<WebhookInspection>;
        verifyAndParse: (
            provider: ProviderId & keyof P,
            req: RawWebhookRequest,
        ) => Promise<SarrafEvent>;
    } = ...

    Type Declaration

    • The adapter registered under id, with its concrete type (e.g. PaymobProvider).

      Type Parameters

      • Id extends "paymob" | "kashier" | "fawry"

      Parameters

      Returns NonNullable<P[Id]>