Skip to main content

Types

The SDK provides full TypeScript type coverage for every API request and response. It also uses branded types to prevent accidentally mixing up different ID strings.

Branded IDs

Branded types add compile-time safety to string IDs. A PaymentId cannot be accidentally passed where a MerchantId is expected, even though both are strings at runtime.

Available Branded Types

How Branding Works

The __brand property is a phantom type — it exists only in the type system and has zero runtime overhead. You can still use branded IDs as regular strings:

Enums

Environment

ApiKeyMode

Currency

PaymentToken

Status Types


Configuration

ZendFiConfig


Request Types

CreatePaymentRequest

CustomerObject

Pre-filled customer info attached to a payment link at creation time. When present, the checkout page skips the email / customer-info collection step and shows a “Continue to Pay” button instead. The link is automatically forced to max_uses = 1.

CreatePaymentLinkRequest

CreateSubscriptionPlanRequest

CreateSubscriptionRequest

CreateInstallmentPlanRequest

CreateInvoiceRequest

SplitRecipient

Discriminated union supporting two settlement paths: direct wallet transfers and bank account deposits via PAJ.

Response Types

Payment

Invoice

Webhook Types

Pagination