Skip to main content
A funding session allows you to accept payments from your users through various methods (Open Banking, Mobile Money, Stablecoin, and Interac). Your server creates a funding session, redirects the user to the checkout URL (or initiates a USSD prompt), and receives an asynchronous webhook when funds settle.

The Funding Session object

number
required
Amount in the smallest currency unit. 10000 = £100.00 GBP. Minimum: 1.
string
required
The ID of the account to credit when the payment settles.
string
required
HTTPS URL to redirect the user to after they complete or abandon the checkout. Must use HTTPS.
string
required
A unique idempotency key for this session. 1–255 characters. Submitting a duplicate reference returns a 409 with the original session’s payment_id.
string
Display text shown to the user on the checkout page. Max 255 characters.
string
required
The funding type for the session (open-banking, momo, interac, crypto).
object
Additional key-value metadata to attached for Mobile Money funding sessions.

Example Funding Session Object

Funding session statuses

Funding session failure codes

When failed, the response includes a failure_code:

Create a funding session

POST /funding-sessions Initiate a funding session via funding type.

Request Parameters

number
required
Amount in the smallest currency unit. 10000 = £100.00 GBP. Minimum: 1.
string
required
The ID of the account to credit when the payment settles.
string
The funding type. For open banking, specify open-banking.
string
required
HTTPS URL to redirect the user to after they complete or abandon the checkout. Must use HTTPS.
string
required
A unique idempotency key for this session. 1–255 characters. Submitting a duplicate reference returns a 409 with the original session’s payment_id.
string
Display text shown to the user on the checkout page. Max 255 characters.
object
Additional key-value metadata to attached for mobile money funding session.

Response



Update a funding session

After the customer completes the Interac transfer, call this endpoint to validate the transfer and update the funding session status.
This endpoint does not require a request body. Calling this endpoint triggers a validation of the completed Interac transfer and updates the funding session status if funds have been received.

Retrieve funding sessions

To retrieve a paginated list of funding sessions for the authenticated entity. Make a GET request to the /funding-sessions endpoint with optional query parameters for pagination and filtering.
Note: this endpoint has other funding session types included in them. Filtering by account_id shows funding session created under an account.

Retrieve a funding session

Retrieves the full details of a specific funding session. Make a GET request to the /funding-sessions/{id} endpoint.

Check session status

Note: Failure object is optional and only appears if session fails
The failure.code field identifies why a payment failed. The failure.message field provides a human-readable description of the failure. The failure.failed_at field is a timestamp indicating when the failure occurred. Here are the possible failure.code values for a funding session:

Error Response

  • Validation errors: Triggered if the payload does not meet the general or provider-specific specifications
  • upstream account-issuing client errors: If the downstream account-issuing service returns a 4xx error during creation

Webhook

Listen for funding_session.updated to receive real-time status changes. Nuvion retries webhook delivery for 72 hours with exponential backoff.