---
title: "Simulate a Pre-Chargeback Alert"
method: POST
path: "/payments/pre-chargeback-alerts/simulate-alert"
tags: ["Payments", "Pre-Chargeback Alerts"]
---

# Simulate a Pre-Chargeback Alert

`POST /payments/pre-chargeback-alerts/simulate-alert`

## Request

- Base URL: `https://api.evervault.com`
- URL: `https://api.evervault.com/payments/pre-chargeback-alerts/simulate-alert`
- Auth: HTTP basic
- TypeScript: <https://skmtc.dev/evervault/apis/evervault-api/docs/payments/pre-chargeback-alerts/simulate-alert/post.ts> (a function with typed inputs; its response is checked against the schema)

Simulates an incoming pre-chargeback alert so you can test your webhook handler and
alert-processing logic. This endpoint is only available for
[Sandbox Apps](/developers/sandbox).

The `merchantId` must belong to a merchant that has already been enrolled in
pre-chargeback alerts. All other fields are optional.

## Request body

- object
  - `merchantId` string, required: The Evervault Merchant ID to simulate an alert for.
  - `status` 'ACTION_REQUIRED' | 'RESOLVED' | 'INVALID': The simulated alert status.
  - `cardScheme` 'VISA' | 'MASTERCARD' | 'MAESTRO' | 'AMEX' | 'DISCOVER' | 'JCB' | 'DINERS_CLUB' | 'UNIONPAY' | 'RUPAY' | 'INTERAC' | 'MIR' | 'OTHER': The card scheme for the simulated alert.
  - `amountInCents` integer: The disputed amount in cents. Must be a positive integer when supplied.
  - `currencyCode` string: A valid ISO 4217 currency code.
  - `transactionRefundOutcome` 'REFUNDED' | 'NOT_REFUNDED': The refund outcome. May only be supplied when `status` is `RESOLVED`.
  - `transactionAcquirerReferenceNumber` string: The ARN for the simulated transaction. Must be exactly 23 characters.
  - `transactionAuthorizationCode` string: The authorization code for the simulated transaction. Must be exactly 6 characters.
  - `externalCustomerReference` string: An optional reference of your choice, such as a correlation ID, that is attached to the request. The reference will be visible in your logs. Must be between 1 and 255 characters.

## Response `201`

Returns the simulated Pre-Chargeback Alert object.

- PreChargebackAlert: A pre-chargeback alert received from Ethoca or Verifi RDR.
  - `id` string, required: A unique identifier for the alert.
  - `merchantId` string, required: The Evervault Merchant ID associated with the alert.
  - `alertType` 'ETHOCA_ALERT' | 'VERIFI_RDR', required: The alert network that originated the alert.
  - `alertNetworkId` string, nullable: The alert identifier from the alert network.
  - `status` 'ACTION_REQUIRED' | 'RESOLVED' | 'INVALID', required: The current status of the alert. `ACTION_REQUIRED` only applies to Ethoca alerts.
  - `chargebackReasonCode` string, nullable: The reason code identifying why the dispute was raised.
  - `transactionAmountInCents` integer, nullable: The disputed transaction amount in cents.
  - `transactionCurrencyCode` string, nullable: The ISO 4217 currency code of the disputed transaction.
  - `transactionAuthorizedAt` string, date-time, nullable: When the transaction was authorized, as an ISO 8601 timestamp in UTC.
  - `actionRequiredDeadline` string, date-time, nullable: The deadline by which an Ethoca alert must be actioned. After this time the chargeback proceeds regardless of whether you refunded the customer.
  - `transactionAuthorizationCode` string, nullable: The authorization code for the disputed transaction.
  - `transactionAcquirerReferenceNumber` string, nullable: The Acquirer Reference Number (ARN). Useful when communicating with your PSP to identify the transaction.
  - `transactionStatementDescriptor` string, nullable: The descriptor that appeared on the cardholder's statement.
  - `transactionCardBin` string, nullable: The first 6–11 digits of the card number. Also included in `card.bin`.
  - `card` object, nullable: Card details for the disputed transaction, when available.
    - `bin` string, nullable: The BIN/IIN of the card.
    - `lastFour` string, nullable: The last four digits of the card number.
    - `brand` string, nullable: The card scheme (for example `VISA` or `MASTERCARD`).
    - `issuer` string, nullable: The issuing bank name.
  - `transactionRefundOutcome` 'REFUNDED' | 'NOT_REFUNDED' | 'null', nullable: Populated when a refund outcome is known. For Verifi RDR, this is set automatically.
  - `transactionNetworkId` string, nullable: The network transaction identifier, when available.
  - `subscriptionCancelOutcome` string, nullable: The outcome of a subscription cancellation, when available.
  - `note` string, nullable: An optional note stored with the alert for your own records.
  - `integrationId` string, nullable: An optional integration identifier associated with the alert.
  - `integrationTransactionId` string, nullable: An optional integration transaction identifier associated with the alert.
  - `createdAt` string, date-time, required: When the alert was created, as an ISO 8601 timestamp in UTC.

## Other responses

- `403`: Simulations are only available for sandbox apps.
- `404`: Merchant not found, not enrolled, or pre-chargeback alerts are not configured.

## Changes

- **2026-11-06** `8d0ca833fa04`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/evervault/apis/evervault-api/changes/payments/pre-chargeback-alerts/simulate-alert/post.md)

---

[API](https://skmtc.dev/evervault/apis/evervault-api.md) - [All operations](https://skmtc.dev/evervault/apis/evervault-api/llms.txt) - [OpenAPI document](https://skmtc.dev/evervault/apis/evervault-api/revisions/8d0ca833fa04?raw)
