---
title: "Simulate authorisation transaction"
method: POST
path: "/simulate/authorisation"
tags: ["Simulate"]
---

# Simulate authorisation transaction

`POST /simulate/authorisation`

## Headers

- `Accept-Version` string, required — Specifies the API version to use for this request.

## Request body

- object
  - `cardID` string, required — The unique identifier of the card to be used for simulating the transaction.
  - `billAmount` number, float, required — The total amount charged to the cardholder, in the card’s currency. This amount includes the transaction amount plus any applicable fees.
  - `transactionAmount` number, float — The original amount of the transaction in the merchant’s currency, representing the base value of the purchase before fees are added. **Note**: If not specified, this defaults to the same value as **billAmount**.
  - `transactionCurrency` string, nullable — The [ISO 4217 currency code](https://en.wikipedia.org/wiki/ISO_4217) for the transaction. Defaults to the card’s currency if not specified.
  - `transactionID` string — The identifier for the transaction. It is required If you simulate incremental authorizations.
  - `simulateIncorrectCVV` boolean — When set to **true**, simulates an incorrect CVV scenario.
  - `simulateIncorrectPIN` boolean — When set to **true**, simulates an incorrect PIN scenario.
  - `simulateIncorrectExpiryDate` boolean — When set to **true**, simulates an incorrect expiration date scenario.
  - `simulateTimeout` boolean — When set to **true**, simulates a transaction timeout in the sandbox, causing the transaction to be declined and emitting a declined-transaction webhook.
  - `simulateFraud` boolean — When set to **true**, triggers the fraud alert simulation flow (FRAUD_DETECTION webhook + timeout handling).
  - `merchantName` string — Override merchant name in the FRAUD_DETECTION webhook. Defaults to "Simulated Merchant".
  - `merchantLocation` string — Override merchant location in the FRAUD_DETECTION webhook. Defaults to "SG".
  - `mcc` string — The 4-digit Merchant Category Code (MCC). This parameter is not applicable to incremental authorizations. Default is **5732**.
  - `acquirerCountry` string, nullable — The country of the acquirer. This parameter is not applicable to incremental authorizations. Default is **HKG**.

## Response `201`

Successfully simulated an authorisation transaction

- object
  - `lifecycleEventID` string, required — A unique identifier for the lifecycle event.
  - `id` string, required — A unique identifier for the transaction.

## Other responses

- `400` — Invalid inputs
- `404` — Not found

---

[API](https://skmtc.net/reap-global/apis/reap-api.md) · [All operations](https://skmtc.net/reap-global/apis/reap-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/reap-global/reap-api/versions/525072733e02/schema)
