Documentation Index
Fetch the complete documentation index at: https://gnosispay-feat-v2-auth-module.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Card Transaction Simulator
The Card Transaction Simulator allows you to test full card transaction lifecycles in the sandbox environment — without sending traffic to the live card network. When you send a transaction request:- The simulator authenticates the request
- It checks available balance
- It applies lifecycle logic:
- Authorization creates a hold
- Reversal releases a hold
- Replacement adjusts an existing hold
- Clearing confirms/settles a transaction
- Clearing Cancellation cancels via clearing
- It returns an approval or denial response with production-like fields
How to Simulate a Card Transaction
Authenticate with the Simulator API
Use HTTP Basic Auth:
- Username:
simulator - Password: Provided during onboarding
Choose the Card Identifier
You can simulate transactions using:
card_id→POST /transactions/simulatepan→POST /transactions/simulate-by-pan
Understand Request Fields
All simulation requests use these fields:
| Field | Type | Required | Description |
|---|---|---|---|
transaction_type | string | Yes | authorization, reversal, or replacement |
card_id | uuid | Yes* | Card UUID (use pan instead on the by-PAN endpoint) |
pan | string | Yes* | Card PAN (only on the by-PAN endpoint) |
amount | string | Yes | Amount in major units (e.g., "100.50") |
currency | string | Yes | USD, EUR, or GBP |
authorization_code | string | Conditional | Required for reversal and replacement |
replacement_amount | string | Conditional | Required for replacement |
merchant_name | string | No | Defaults to "TEST MERCHANT" |
merchant_code | string | No | MCC code. Defaults to "5541" |
Transaction Types
The simulator supports five transaction types that form a complete lifecycle:Simulate an Authorization
Authorization creates an initial hold on the card balance.Send Authorization Request
transaction_type: “authorization”amountcurrencycard_idorpan
Simulator Validation
The simulator will:
- Confirm the card exists
- Verify the card is active
- Check sufficient available balance
- Place a hold for the requested amount
Simulate a Reversal
Reversal cancels a previous authorization entirely and releases the held amount.Provide Authorization Code
You must use the
authorization_code returned from the original authorization.Simulate a Replacement
Replacement adjusts a previous authorization to a different amount.Simulate a Clearing
Clearing confirms a previous authorization (settlement/base II) and finalizes the transaction.Simulate a Clearing Cancellation
Clearing cancellation cancels a transaction via clearing. For partial cancellation, send an amount lower than the original authorization.Response Handling
Approved (Authorization)
An approved authorization response includes full transaction details:Approved (Clearing/Clearing Cancellation)
Clearing responses are sparse — most fields will be empty or zero-valued:Denied
If denied, the response includes detailed denial information:Common Denial Codes
| Code | Reason |
|---|---|
810 | Insufficient balance |
UBT | Card is blocked |
BNP | Card reported lost |
BNR | Card reported stolen |
FRB | Card not activated |
BND | Card is cancelled |
PFT | Denied by anti-fraud |
FR7 | Card not present in database |
VNM | Card expired |
CNC | Account cancelled |
CND | Account blocked |
Error Handling
Validation and authentication errors return structured error objects:| Status | Cause |
|---|---|
401 | Invalid credentials |
400 | Validation error (missing fields, invalid amount/currency) |
404 | Card or account not found |
409 | Clearing collision — a clearing message is already being processed for this authorization. Wait at least 2 minutes between clearing messages |