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>;