---
title: PSP Authorization
slug: psp-authorization
docTags: 
createdAt: 2026-06-01T13:20:13.522Z
---

## Authorization with 3DS Results

To provide the bank with the 3DS results, it is necessary to modify your integration with the Payment Service Provider (PSP).
This adjustment usually involves enriching the PSP payment request with the following values from the Forter [3DS result](https://docs.forter.com/reference/3ds-result) response's `verificationMethod.verificationSpecificData.ThreeDS` object:

| **Forter's&#x20;**`ThreeDS`**&#x20;field** | **Common Names**                                                            |
| ------------------------------------------ | --------------------------------------------------------------------------- |
| `authenticationValue`                      | Authentication Value / CAVV / AAV / Cryptogram                              |
| `ECIValue`                                 | ECI / ECIFlag / ECIValue / Electronic Commerce Indicator                    |
| `version`                                  | 3DS Version                                                                 |
| `dsTransID`                                | dsTransID / Directory Server Transaction ID / Transaction ID (formerly xid) |

### Examples for common PSPs

:::ExpandableHeading
### Adyen

Map the previously mentioned Forter fields to the corresponding fields within the [Adyen authorize request](https://docs.adyen.com/api-explorer/Checkout/71/post/payments#request-mpiData):

| Adyen's `mpiData.<attribute>` | Forter's `verificationMethod.verificationSpecificData.ThreeDS.<attribute>` |
| ----------------------------- | -------------------------------------------------------------------------- |
| `cavv`                        | `authenticationValue`                                                      |
| `eci`                         | `ECIValue`                                                                 |
| `threeDSVersion`              | `version`                                                                  |
| `dsTransID`                   | `dsTransID`                                                                |
:::

:::ExpandableHeading
### Braintree

Map the previously mentioned Forter fields to the corresponding fields within the [Braintree Transaction: Sale request](https://developer.paypal.com/braintree/docs/reference/request/transaction/sale/node#three_d_secure_pass_thru):

| Braintree's `three_d_secure_pass_thru.<attribute>` | Forter's `verificationMethod.verificationSpecificData.ThreeDS.<attribute>` |
| -------------------------------------------------- | -------------------------------------------------------------------------- |
| `cavv`                                             | `authenticationValue`                                                      |
| `eciFlag`                                          | `ECIValue`                                                                 |
| `threeDSecureVersion`                              | `version`                                                                  |
| `dsTransactionId`                                  | `dsTransID`                                                                |
:::

:::ExpandableHeading
### Stripe

1. Contact your Account Manager at Stripe and ask to enable “3DS Import”.
2. In the [paymentintent](https://docs.stripe.com/api/payment_intents/create#create_payment_intent-payment_method_options-card-three_d_secure) object, please include the following child attributes inside the [payment\_method\_options.card](https://stripe.com/docs/api/payment_intents/object#payment_intent_object-payment_method_options-card) attribute and map them to the corresponding Forter fields as indicated below:

| Stripe's `payment_method_options.card.three_d_secure.<attribute>` | Forter's `verificationMethod.verificationSpecificData.ThreeDS.<attribute>` |
| ----------------------------------------------------------------- | -------------------------------------------------------------------------- |
| `cryptogram`                                                      | `authenticationValue`                                                      |
| `transaction_id`                                                  | `dsTransID`                                                                |
| `version`                                                         | `version`                                                                  |
| `electronic_commerce_indicator`                                   | `ECIValue`                                                                 |

See also [Stripe's 3DSecure import guide](https://docs.stripe.com/payments/payment-intents/three-d-secure-import)

**Example:**

```json
"payment_method_options": {
   "card": {
     "three_d_secure": {
       "cryptogram":"kAMTKCFOIM134yphDhh4o4QBiURR",
       "transaction_id":"c5b808e7-1de1-4069-a17b-f70d3b3b1645",
       "version":"2.2.0",
       "electronic_commerce_indicator":"05"
     }
 }
```
:::

:::ExpandableHeading
### Worldpay AWP GW

1. Review  [Worldpay AWP](https://developer.worldpay.com/docs/access-worldpay/payments/authorize-a-payment#3ds) for full details
2. Add the customer object to the request with Forter's 3DS results

| Worldpay's `customer.authentication.<attribute>` | Forter's `verificationMethod.verificationSpecificData.ThreeDS` |
| ------------------------------------------------ | -------------------------------------------------------------- |
| `version`                                        | `version`                                                      |
| `type`                                           | `"3DS"`                                                        |
| `eci`                                            | `ECIValue`                                                     |
| `authenticationValue`                            | `authenticationValue`                                          |
| `transactionId`                                  | `dsTransID`                                                    |

```json
   "customer": {
        "authentication": {
            "version": "2.1.0"
            "type": "3DS",
            "eci": "05"
            "authenticationValue": "MTIzNDU2Nzg5MDEyMzQ1Njc4OTA"
            "transactionId": "c5b808e7-1de1-4069-a17b-f70d3b3b1645"
        }
    }
```
:::

:::ExpandableHeading
### Checkout.com

Map the previously mentioned Forter fields to the corresponding fields within [Checkout's Authorization Request](https://www.checkout.com/docs/payments/authenticate-payments#Additional_body_parameters)

| Checkout.com's `3ds.<attribute>` | Forter's `verificationMethod.verificationSpecificData.ThreeDS.<attribute>` |
| -------------------------------- | -------------------------------------------------------------------------- |
| `enabled`                        | `true`                                                                     |
| `cryptogram`                     | `authenticationValue`                                                      |
| `eci`                            | `ECIValue`                                                                 |
| `version`                        | `version`                                                                  |
| `xid`                            | `dsTransID`                                                                |

```json
{
  "source": {
    "type": "card",
    "number": "5436031030606378",
    "expiry_month": 12,
    "expiry_year": 2025
  },
  "amount": 257,
  "currency": "USD",
  "3ds": {
    "enabled": true,
    "eci": "06",
    "cryptogram": "MTIzNDU2Nzg5MDEyMzQ1Njc4OTA=",
    "xid": "79f6205c-ff5c-4a4c-8fca-90f67f3a6470",
    "version": "2.0.1"
  }
}
```
:::

:::ExpandableHeading
### PayU / PaymentsOs

| PaymetsOs's `three_d_secure_attributes.external.<attribute>` | Forter's `verificationMethod.verificationSpecificData.ThreeDS.<attribute>` |
| ------------------------------------------------------------ | -------------------------------------------------------------------------- |
| `three_d_secure_version`                                     | `version`                                                                  |
| `three_d_secure_authentication_status`                       | `transStatus`                                                              |
| `ds_xid`                                                     | `dsTransID`                                                                |
| `encoding`                                                   | `"BASE64"`                                                                 |
| `cavv`                                                       | `authenticationValue`                                                      |
| `eci_flag`                                                   | `ECIValue`                                                                 |
:::

:::ExpandableHeading
### Fiserv

Call /payments endpoint and include the[ 3DS authentication results](https://docs.fiserv.dev/public/docs/3-d-secure-1#3dsmethod-notification-request--response):

| Fiserv's `authenticationResult.<attribute>` | Forter's `verificationMethod.verificationSpecificData.ThreeDS.<attribute>` |
| ------------------------------------------- | -------------------------------------------------------------------------- |
| `authenticationType`                        | `"Secure3DAuthenticationResult"`                                           |
| `authenticationResponse`                    | `transStatus`                                                              |
| `cavv`                                      | `authenticationValue`                                                      |
| `dsTransactionId`                           | `dsTransId`                                                                |

Below is a request payload for example.

```json
  "authenticationResult": {
    "authenticationType": "Secure3DAuthenticationResult",
    "dsTransactionId": "f3371948-5388-43a6-bca4-b49700019437",
    "authenticationResponse": "Y",
    "cavv": "ARTnBCZIhcQAAAABZlyFxAABVCAA"
  }

```
:::

:::ExpandableHeading
### Chase

Call /payments endpoint and include the[ 3DS authentication results](https://docs.fiserv.dev/public/docs/3-d-secure-1#3dsmethod-notification-request--response):

| Chase's paymentMethodType.card.authentication`.<attribute>` | Forter's `verificationMethod.verificationSpecificData.ThreeDS.<attribute>` |
| ----------------------------------------------------------- | -------------------------------------------------------------------------- |
| `electronicCommerceIndicator`                               | `eci`                                                                      |
| `threeDS.authenticationValue`                               | `authenticationValue`                                                      |
| `threeDS.authenticationTransactionId`                       | `dsTransId`                                                                |
| `threeDS.threeDSProgramProtocol`                            | `version`                                                                  |
:::

## Authorization with PSD2 Exemption

**The following part is relevant only for PSD2 solution**

In order to pass the bank a request for exemption from 3DS following Forter's recommendation in the Order Response, you should adjust your integration with the PSP and include in the PSP Authorization request a flag for TRA Exemption or Low Value or Secure Corp Exemption.

Contact your PSP to enable such a call (it is not always activated by default), and get their relevant Authorization API reference which explains how to pass a request for TRA Exemption and Low Value Exemption.

### Examples for common PSPs

:::ExpandableHeading
### Adyen

1. Review [Adyen documentation ](https://docs.adyen.com/online-payments/psd2-sca-compliance-and-implementation-guide/sca-options#apply-exemption)for passing exemption
2. Change the default setting in the Customer Area in you Adyen Dasboard. Doing this will override Adyen's choice to apply TRA for a transaction or not. Navigate to Risk > Risk Settings > General > Perform TRA. Choose Enable 3rd party/proprietary risk solution TRA to apply the TRA exemption yourself per transaction.
3. Pass the relevant exemption type (`transactionRiskAnalysis`\ `lowValue`\ `secureCorporate`)  in the scaExemption object, following Forter's recommendation (`REQUEST_SCA_EXEMPTION_TRA` \ `REQUEST_SCA_EXEMPTION_LOW_VALUE` \ `REQUEST_SCA_EXEMPTION_CORP`) . Example:

```json
  additionalData": {
    "scaExemption": "lowValue"
  }
```
:::

:::ExpandableHeading
### Checkout.com

1. Review [Checkout SCA documentation ](https://www.checkout.com/docs/payments/ensure-regulatory-compliance/sca-compliance-guide#3DS_request_examples)for passing exemption
2. Pass the relevant exemption type via the 3ds.enabled and 3ds.exemption fields within the 3ds object

```json
{
  "source": {
    "type": "token",
    "token": "tok_f6z4mnoububudpqnvhwa5ff27u"
  },
  "amount": 2000,
  "currency": "USD",
  "3ds": {
    "enabled": false,
    "exemption": "low_value"
  },
  "success_url": "https://example.com/payments/success",
  "failure_url": "https://example.com/payments/failure"
}
```

```json
{
  "source": {
    "type": "token",
    "token": "tok_f6z4mnoububudpqnvhwa5ff27u"
  },
  "amount": 2000,
  "currency": "USD",
  "3ds": {
    "enabled": true,
    "exemption": "low_value"
  },
  "success_url": "https://example.com/payments/success",
  "failure_url": "https://example.com/payments/failure"
}
```
:::

## Authorization with IDCI results

To provide the bank with the IDCI results, it is necessary to modify your integration with the Payment Service Provider (PSP). This adjustment involves including the `verificationMethod.verificationSpecificData.ThreeDS.dsTransID` , `verificationMethod.verificationSpecificData.ThreeDS.authenticationValue` and `verificationMethod.verificationSpecificData.ThreeDS.ECIValue` values from [Forter Order Response](https://docs.forter.com/reference/order-v3) in the PSP Authorization request.

### Examples for common PSPs

:::ExpandableHeading
### Adyen

Map the previously mentioned Forter fields to the`dsTransID` , `cavv` and `eci` fields within the  [Adyen authorize request](https://docs.adyen.com/api-explorer/Payment/68/post/authorise#request-mpiData-dsTransID).
:::

:::ExpandableHeading
### Braintree

Map the previously mentioned Forter fields to the `dsTransactionId` , `cavv` and `eciFlag` fields within the  [Braintree Transaction: Sale request](https://developer.paypal.com/braintree/docs/reference/request/transaction/sale#three_d_secure_pass_thru.ds_transaction_id).
:::

### Authorization with Network Token & Cryptogram

:::ExpandableHeading
### Braintree

[https://developer.paypal.com/braintree/docs/reference/request/transaction/sale/node#credit\_card-network\_tokenization\_attributes](https://developer.paypal.com/braintree/docs/reference/request/transaction/sale/node#credit_card-network_tokenization_attributes)
:::

:::ExpandableHeading
### Adyen

[https://docs.adyen.com/api-explorer/Payment/68/post/authorise#request-mpiData-tokenAuthenticationVerificationValue](https://docs.adyen.com/api-explorer/Payment/68/post/authorise#request-mpiData-tokenAuthenticationVerificationValue)
:::

:::ExpandableHeading
### Cybersource

[https://developer.cybersource.com/api-reference-assets/index.html#payments](https://developer.cybersource.com/api-reference-assets/index.html#payments)   See the `tokenizedCard` object
:::

:::ExpandableHeading
### Checkout.com

[https://api-reference.checkout.com/#operation/requestAPaymentOrPayout](https://api-reference.checkout.com/#operation/requestAPaymentOrPayout)  To see the attributes, set the `type` to `network_token` in the `source` drop down list

***
:::
