3DS Enabled Payment
On this page, you can explore how a payment with 3DS can be configured with MoneyHash when creating an intent.
The first thing to understand about 3DS configuration is that the provider that will handle the payment must support 3DS payments to the intent configuration to make a difference. If you enable the 3DS step and the provider does not support it, the payment will occur normally. You can find more about each provider on their respective page in MoneyHash's Dashboard.
Enabling 3D Security
For every option we will present, you need to start at the creation of the intent using the Create Intent endpoint:
When creating the intent above, you have three options to handle the 3DS configuration:
Provider's default cycle
To allow the provider to follow their default cycle, handling the payment and executing their default behaviour for each payment scenario, adding 3DS when they see fit, you can proceed with creating a payment process without adding any different data. This happens to a Basic Payment cycle, for example.
Enforce 3DS cycle
To enforce the 3D security step on a payment process, you need to add the threeds.enabled
parameter as true
to the intent's payload. This will enforce the 3DS cycle if the provider has a 3D security flow option.
Property | Type | Description |
---|---|---|
amount | Number | The amount to charge in the payment process. |
amount_currency | String | The currency of the amount is represented by a string of alphabetic codes from ISO 4217 Currency codes. |
operation | String | The type of the current intent. It can be one of purchase , authorize , or capture . |
webhook_url | String | A URL that the MoneyHash server will send a POST request to you when needed. |
threeds | Object | An object with data relating to 3D security. |
threeds.enabled | Boolean | A flag to inform MoneyHash and the provider if 3DS needs to be applied to the payment process being created. |
{
"amount": 50,
"amount_currency": "USD",
"payment_method": "CARD",
"operation": "purchase",
"threeds": {
"enabled": true
},
"webhook_url": "https://webhook.site/b8954509-f628-4805-a4b4-58a0fb2be958"
}
Skip the 3DS cycle
To skip the 3D security step on a payment process, you need to add the threeds.enabled
parameter as false
to the intent's payload. This will skip the 3DS cycle even if it is the default flow of the provider.
Property | Type | Description |
---|---|---|
amount | Number | The amount to charge in the payment process. |
amount_currency | String | The currency of the amount is represented by a string of alphabetic codes from ISO 4217 Currency codes. |
operation | String | The type of the current intent. It can be one of purchase , authorize , or capture . |
webhook_url | String | A URL that the MoneyHash server will send a POST request to you when needed. |
threeds | Object | An object with data relating to 3D security. |
threeds.enabled | Boolean | A flag to inform MoneyHash and the provider if 3DS needs to be applied to the payment process being created. |
{
"amount": 50,
"amount_currency": "USD",
"payment_method": "CARD",
"operation": "purchase",
"threeds": {
"enabled": false
},
"webhook_url": "https://webhook.site/b8954509-f628-4805-a4b4-58a0fb2be958"
}
From here, you are able to proceed with any integration except the HPP one.
Keep track of the webhook endpoint you sent within the request to see the progress of the payment process.
Updated about 1 year ago