Skip to main content

Payments

The payments model provides payment provider management and payment session handling for checkout flows. It supports multiple payment providers (Stripe, PayPal, etc.) and manages payment sessions that link carts to payment processing.

Payment Service

The PaymentService provides methods to interact with payment providers and sessions.

getProviders

Retrieves available payment providers for a region.

getProviders(
params: GetProvidersParams,
authorization?: string
): Observable<PaymentProviders>

Parameters

ParameterTypeDescription
regionIdstringRegion ID (required)

Returns

An Observable that emits a paginated list of payment providers.

createSession

Creates a payment session for a cart.

createSession(
data: CreateSessionBody,
authorization?: string
): Observable<PaymentSession>

Body Parameters

ParameterTypeDescription
cartIdstringCart ID (required)
providerIdstringPayment provider ID (required)

Returns

PaymentSession with redirectUrl (for redirect-based providers) or clientSecret (for embedded payments).

getSession

Retrieves a payment session by ID.

getSession(
params: GetSessionParams,
authorization?: string
): Observable<PaymentSession | undefined>

updateSession

Updates a payment session (e.g., to change return URL).

updateSession(
params: UpdateSessionParams,
data: UpdateSessionBody,
authorization?: string
): Observable<PaymentSession>

cancelSession

Cancels (deletes) a payment session.

cancelSession(
params: CancelSessionParams,
authorization?: string
): Observable<void>

Data Model Structure

The payments model supports:

  1. PaymentProvider — Available payment providers (Stripe, PayPal, etc.)
  2. PaymentSession — Active payment sessions linking carts to payment processing

Types

PaymentProvider

FieldTypeDescription
idstringUnique identifier
namestringDisplay name
typestringProvider type (e.g., "STRIPE", "PAYPAL")
isEnabledbooleanWhether the provider is enabled
requiresRedirectbooleanWhether provider requires redirect (e.g., Stripe Checkout)
configobjectProvider-specific configuration (optional)

PaymentSession

FieldTypeDescription
idstringUnique identifier
cartIdstringAssociated cart ID
providerIdstringPayment provider ID
statusPaymentSessionStatusSession status
redirectUrlstringRedirect URL for redirect-based providers (optional)
clientSecretstringClient secret for embedded payment forms (optional)
expiresAtstringExpiration date (optional)
metadataobjectAdditional metadata (optional)

PaymentSessionStatus

ValueDescription
PENDINGPayment pending
AUTHORIZEDPayment authorized
CAPTUREDPayment captured
FAILEDPayment failed
CANCELLEDPayment cancelled

PaymentProviders

Paginated list of payment providers.

type PaymentProviders = Pagination.Paginated<PaymentProvider>;