Skip to main content
New to the sandbox environment? Read Sandbox vs Production to understand more about sandbox environment.

Card Transaction Simulator

The Card Transaction Simulator allows you to test full card transaction lifecycles in the sandbox environment, without sending transactions to the live card network. When you send a transaction request:
  1. The simulator authenticates the request
  2. It checks available balance
  3. 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
  4. It returns an approval or denial response with production-like fields

How to Simulate a Card Transaction

1

Authenticate with the Simulator API

Use HTTP Basic Auth:
  • Username: simulator
  • Password: Provided during onboarding
All simulator endpoints require authentication.
2

Choose the Card Identifier

You can simulate transactions using:
  • card_idPOST /transactions/simulate
  • panPOST /transactions/simulate-by-pan
Both endpoints behave identically.
3

Understand Request Fields

All simulation requests use these fields:

Transaction Types

The simulator supports five transaction types that form a complete lifecycle: authorization, reversal, replacement, clearing, and clearing cancellation.

Simulate an Authorization

Authorization creates an initial hold on the card balance.
1

Send Authorization Request

Required: transaction_type, amount, currency, and card_id or pan.
2

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
3

Store Authorization Code

If approved, the response includes authorization_code and authorization_id.
Save the authorization_code as it’s required for reversals, replacements, and clearing operations.

Simulate a Reversal

Reversal cancels a previous authorization entirely and releases the held amount.
1

Provide Authorization Code

You must use the authorization_code returned from the original authorization.
2

Send Reversal Request

3

Simulator Behavior

The simulator will:
  • Validate the original authorization exists
  • Confirm the amount matches
  • Release the full held balance

Simulate a Replacement

Replacement adjusts a previous authorization to a different amount.
1

Provide Authorization Code

Use the authorization_code from the original authorization.
2

Send Replacement Request

Required: authorization_code and replacement_amount.
3

Simulator Behavior

The simulator will:
  • Validate the original authorization
  • Reduce or increase the held amount
  • Update the balance accordingly

Simulate a Clearing

Clearing confirms a previous authorization (settlement/Base II) and finalizes the transaction.
1

Provide Authorization Code

Use the authorization_code from the original authorization.
2

Send Clearing Request

3

Simulator Behavior

The simulator will:
  • Validate the original authorization
  • Process the settlement
  • Finalize the transaction
The simulator requires a minimum 2-minute gap between clearing messages for the same authorization. Sending a second clearing before this window elapses will result in a 409 error.

Simulate a Clearing Cancellation

Clearing cancellation cancels a transaction via clearing. For partial cancellation, send an amount lower than the original authorization.
1

Provide Authorization Code

Use the authorization_code from the original authorization.
2

Send Clearing Cancellation Request

3

Simulator Behavior

The simulator will:
  • Validate the original authorization
  • Process the cancellation
  • Adjust balances accordingly
For partial cancellations, use an amount lower than the original authorization amount.

Response Handling

Approved (Authorization)

An approved authorization response includes full transaction details:

Approved (Clearing / Clearing Cancellation)

Clearing responses are sparse as most fields will be empty or zero-valued:

Denied

If denied, the response includes detailed denial information:
denial_code and denial_reason use the same codes documented in Card Decline Reasons, use the simulator to test the responses and showcase the right mapping according to the guide.

Error Handling

Validation and authentication errors return structured error objects:
Possible HTTP status codes: