Create a payment session

A Payment Session is a temporary, secure, and hosted interaction between your platform and Redpin, designed to facilitate a cross-border property payment.

The OAuth 2.0 Authenticated Create Payment Session API allows you to create a new hosted payment session. You provide the payment details (amount, recipients, etc.), session configuration (like allowed domains and callbacks), and receive a unique session URL in response. This URL can be embedded in your app or website to launch the hosted payment flow in a secure, guided interface.

Payment sessions are time-bound and will automatically expire at the specified expires_at timestamp. Once expired, the session URL becomes inaccessible and can no longer be used to complete the payment. If the payment is not completed before the session expires, a new session must be created again to initiate the payment.

Path parameters

customer_idstringRequired
A unique identifier for the customer initiating the session.

Headers

AuthorizationstringRequired

Bearer authentication of the form Bearer <token>, where token is your auth token.

Request

This endpoint expects an object.
client_customer_refstringRequired

The API caller’s internal customer ID for the person initiating the payment.
It must be the same reference used when invoking the Pre-eligibility check API.

property_refstringRequired

The unique identifier for the property receiving this payment. Must match a property_ref from a previously onboarded property. Used to identify the property and map payments to the correct client account for fund segregation.

payment_detailsobjectRequired
allowed_originslist of stringsOptional

A list of allowed domain origins from which the hosted payment session can be launched. Each entry must be one of the following:

  • A valid HTTPS origin for web applications (e.g., https://example.com)
  • A valid Android package name (e.g., com.example.app) for native Android apps
  • A valid iOS bundle identifier (e.g., com.example.iosapp) for native iOS apps

Note

  • Wildcards or regular expressions are not supported.
  • If this field is not provided, the session will be accessible from any origin (i.e., no origin-based restriction will be applied).
callbackslist of stringsOptional

List of callback URLs that will receive webhook notifications when the session status changes.

  • These URLs must be publicly accessible from Redpin’s servers.
  • For detailed payload structure and supported status events, refer to the Webhook Reference

Response

Payment session created successfully
session_idstring
A unique identifier automatically generated for each payment session.
expires_atdatetime

The exact date and time (in ISO 8601 format) when the session becomes invalid.

  • The session URL becomes inaccessible and can no longer be used to complete the payment. If the payment is not completed before the session expires, a new session must be created again to initiate the payment.
session_urlstring

A hosted payment page URL that displays Redpin’s secure payment flow. This URL can be integrated into your mobile app (via webview) or website (via redirect or iframe), allowing users to review payment details and complete the cross-border transaction.

Errors