Skip to main content
The Payment Sessions API is a unified solution for payment collection across all flows — one-time payments, recurring collections, authorisation and capture, and payment method verification — through a single API.

Use Cases

See how Payment Sessions map to common business scenarios.

Lifecycle

Understand the states a payment session moves through from creation to completion.

Webhooks

React to session events in real time.

Recurring Payments

Mandates

Authorise future merchant-initiated payments on behalf of the customer.

Subscriptions

Automate recurring collections on a schedule.

Additional Flows

Payment Method Verification

Verify and save a payment method without charging the customer.

Authorisation and Capture

Reserve funds at checkout and capture or void them later.

Key Features

  • Flexible Payment Flows: Handle one-time payments, first-time setup payments for subscriptions, and repeat payments with minimal effort.
  • Seamless Recurring Payments: Use saved payment methods for a series of transactions initiated and completed without customer interaction.
  • Authorisation and Capture: Reserve funds at checkout and settle later, enabling ship-then-capture, fraud review, and partial fulfilment workflows.
  • Payment Method Verification: Verify and save a customer’s payment method without charging them, for use in future customer-present or merchant-initiated flows.

Benefits

  • Simplicity: Manage various payment scenarios with a single API.
  • Customizability: Tailor the payment experience to fit your brand.
  • Scalability: Support a variety of payment methods and grow your business globally.

How It Works

1

Create a Payment Session

Start by creating a payment session with all necessary details like amount, currency, and payment type.
2

Redirect if Required

For payments where the customer is present, redirect them to the checkout page provided in the session_url to complete the payment. For recurring payments where the customer is not present, use the customer’s saved payment method to process the payment without any customer interaction.
3

Track Payment Status

Monitor the status of your payments in real time using webhooks or API calls.

Session Types

The API supports three distinct session types to handle both customer-present and customer-not-present payments:
  • one_time: A one-time payment where the customer is present and completes payment in real time. Optionally saves the payment method for future customer-present use.
  • first_in_series: The first payment in a series, where the customer is present and authorises their payment method for future merchant-initiated payments. This authorisation is called a mandate, and is typically used to set up recurring payments such as subscriptions or instalment plans.
  • next_in_series: A subsequent payment in a series, where the customer is not present. Fully programmatic, no customer interaction required.
A mandate is an authorisation that allows a merchant to initiate future payments when the customer is not present in the flow.
The following table summarises the differences:
one_timefirst_in_seriesnext_in_series
Primary PurposeOne-time payment by the customer.First payment to set up future automatic payments.Next payment in a series.
Customer InteractionRequired (customer is present).Required (customer is present).Not required (customer is absent).
Saving Payment MethodOptional (for customer present use).Mandatory (for customer absent use).Not applicable (uses saved method).
MandatesNo mandate created.Mandate created for future payments.Relies on an existing mandate.
SubscriptionsNot applicable.Optional. Provide subscription_options alongside mandate_options to automate recurring collections on a schedule.Not applicable.
Authorisation and CaptureSupported via capture_method: manual for card payments.Supported via capture_method: manual for card payments.Supported via capture_method: manual for card payments.
Payment Method VerificationSupported with amount: 0 and save_payment_method: always. Verifies and saves the payment method for future customer-initiated payments.Supported with amount: 0. Verifies the payment method and creates a mandate for future merchant-initiated payments.Not applicable.
Payment FlowCustomer completes via Checkout page.Customer completes via Checkout page.Payment processed programmatically.
ExamplesOne-off purchase with the option to save for future purchases.Subscription setup or instalment plan.Monthly subscription payment or utility bill.