In-app 3DS Forwarding
This guide describes the flow for confirming secure transactions via push notifications in a mobile application. The user receives a prompt in the app to approve or decline a pending transaction.
Prerequisites
This feature is not enabled by default. To activate it for your environment:
- Enable push notifications. Checkout the guide to learn more.
- Contact our Support Team or your Account Manager to request 3DS forwarding activation.
Step 1. Initiate an operation
Once a user initiates an operation, the system captures the trigger and sends a push notification to the user's mobile device (e.g. You have a transaction to review. Tap to see the details). The notification payload contains the requestId parameter — it is used to fetch data related to this ID.
Step 2. Get Transaction Details
Endpoint
GET /card-holder/v1/3ds/transaction/{initiateActionId}
Description
This endpoint retrieves the details of a transaction based on the provided initiateActionId parameter.
The user must be authenticated to trigger this endpoint.
Path Parameters
| Name | Type | Required | Description |
|---|---|---|---|
initiateActionId | uuid | ✅ | A unique identifier for a previously initiated transaction. |
Response Example:
{
"last4": "string",
"merchantName": "string",
"transactionAmount": 0,
"transactionCurrency": "string",
"transactionTimestamp": "string"
}Possible Errors
| Error Message | Description |
|---|---|
The provided transaction reference is invalid. Please check it and try again. | The initiateActionId provided in the request path is invalid or does not exist. Verify the ID is correct. |
This transaction has timed out and can’t be processed. Please create a new one if needed. | The user did not respond to the push notification within 5 minutes. The transaction status will be TIMEOUT. |
Step 3. Submit User Decision
Endpoint
POST /card-holder/v1/3ds/decision
This endpoint is used to obtain user confirmation for transactions and forward that decision to the partner.
Description
This endpoint obtains the user's decision for the transaction and forwards it to the partner system.
Body Parameters
| Name | Type | Required | Description |
|---|---|---|---|
initiateActionId | uuid | ✅ | A unique identifier for a previously initiated transaction. |
approve | boolean | ✅ | Indicates whether the transaction is approved by the user. |
Response Example
{
"error": "string"
}If the operation is completed successfully, the endpoint will respond with
200 OK. If no transaction is found for the providedinitiateActionIdthe error message returned.
Updated 17 days ago
