In-app 3DS Forwarding
This guide describes the flow for confirming secure transactions via push notifications in mobile application: the user receives a prompt directly in the mobile app to approve or decline a pending transaction.
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}
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.
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 26 days ago
