> ## Documentation Index
> Fetch the complete documentation index at: https://rain-sandbox-trial.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 3ds.notification

<Update label="v1.0.0" description="initial release">
  ### 3ds.notification webhook

  Added the 3DS notification webhook. This webhook is sent when a 3D Secure challenge is initiated for a card transaction, allowing tenants to forward the challenge details to their cardholders.

  #### Payload Fields

  | Field                              | Type                | Description                                                       |
  | ---------------------------------- | ------------------- | ----------------------------------------------------------------- |
  | `id`                               | `string`            | Webhook ID                                                        |
  | `resource`                         | `string`            | Always `"3ds"`                                                    |
  | `action`                           | `string`            | Always `"notification"`                                           |
  | `version`                          | `string`            | The webhook version                                               |
  | `body.challenge.startTime`         | `string`            | ISO 8601 timestamp of when the challenge started                  |
  | `body.challenge.expiryTime`        | `string`            | ISO 8601 timestamp of when the challenge expires                  |
  | `body.challenge.ttl`               | `number`            | Time remaining in seconds                                         |
  | `body.challenge.otp`               | `string` (optional) | One-time password for the challenge                               |
  | `body.challenge.id`                | `string` (optional) | Challenge ID                                                      |
  | `body.transaction.amount`          | `number`            | Transaction amount                                                |
  | `body.transaction.currency`        | `string`            | Currency code (e.g., `USD`)                                       |
  | `body.transaction.merchantName`    | `string`            | Merchant name                                                     |
  | `body.transaction.merchantCountry` | `string`            | Merchant country                                                  |
  | `body.transaction.id`              | `string` (optional) | Transaction ID                                                    |
  | `body.card.id`                     | `string`            | Rain card ID                                                      |
  | `body.deliveryMethod`              | `string`            | Challenge delivery method: `SMS`, `EMAIL`, `WHATSAPP`, or `OTHER` |

  #### Example Payload

  ```json theme={null}
  {
      "id": "b7e3d1a4-5f2c-4890-ab12-cd3456789ef0",
      "resource": "3ds",
      "action": "notification",
      "version": "1.0.0",
      "body": {
          "challenge": {
              "startTime": "2026-03-06T10:00:00.000Z",
              "expiryTime": "2026-03-06T10:05:00.000Z",
              "ttl": 300,
              "otp": "123456",
              "id": "chg_abc123"
          },
          "transaction": {
              "amount": 5000,
              "currency": "USD",
              "merchantName": "AMAZON",
              "merchantCountry": "US"
          },
          "card": {
              "id": "94534236-927b-44f3-9429-27994c7ebc49"
          },
          "deliveryMethod": "SMS"
      }
  }
  ```
</Update>
