Transaction Simulator

With the transaction simulator, you can create ATM, automated fuel dispensers (AFD), physical stores, and online stores. These simulations allow you to generate a wide array of transaction types without the need for real cards or money. Furthermore, these virtual stores can serve as effective tools for demonstrating your product.


Transaction simulator is used to manually create transactions. The simulator should be used to create small number of transactions, usually for the purpose of debugging the wallet’s behavior in a specific case, or it can be used to simulate real world transactions (for example payment in a restaurant) for the purpose of demonstrating the product behavior.

Nautilus simulator is based on virtual merchant (or bank) places. It supports virtual:

  • ATM
  • AFD (Automated Fuel Dispenser)
  • Physical store
  • Online store

Each of these places can be in a “different” country, it can accept different currency (Nautilus fully supports DCC and multi-currency transactions), and it can have different acquiring settings. To use a simulator all you need is to have at least one card registered in Nautilus system (you do that via API) and a wallet to handle the messages (you can use a dummy wallet which accepts all transactions to check how things work) – you don’t need any real card or real money to test your wallet.

How to use the simulator

As the first step, create a simulator based on your requirements, such as an ATM or a physical store. You'll input basic data for the simulator, including location, time zone, accepted currency, and other acquiring parameters. Enabling DCC (dynamic currency conversion) allows the simulator to charge cards in both its native currency and the card's billing currency.

After configuring the simulator, you can initiate it. During simulation, you can select one of the enabled operations configured earlier. The transaction currency will match the currency set during the simulator creation. Depending on the chosen operation, you may need to enter a transaction amount.

Using the Nautilus simulator to demonstrate your product

As transactions generated using simulators replicate the structure of transactions from real stores in production mode, there's no need to be connected to a live payment processor or have real cards with actual funds. This enables you to demonstrate your product's functionality to potential investors without the need for such connections.

You can effortlessly generate test transactions in simulators. The simulator's capability to create virtual places worldwide, with support for any currency, enables you to simulate transactions in any country. The wallet receives these transactions via the transaction data feed in real-time, just as it would for any real transaction in a production environment.

As many virtual stores as you need

There are no limitations on the number or location of virtual stores you can create. You have the flexibility to create as many merchant places as necessary, placing them anywhere globally. Each store can be configured with a distinct set of acquiring options. In fact, we encourage clients to create a diverse range of places with different behaviors. This approach provides better coverage of various situations they might encounter in production.

At a minimum, we advise clients to create one simulator of each major type within their target country for wallet operations. Additionally, we recommend having two simulators of each major type outside of this country, each using a different currency. One simulator abroad should have DCC disabled, and the other should have DCC enabled. This ensures comprehensive testing of all major currency conversion scenarios.

Different transaction types

Each simulator can simulate appropriate types of transactions. For example, a virtual ATM can simulate balance inquiries, PIN changes, money withdrawal and money deposit transactions. While using the simulator, you can send an authorization request, advice, and settlement to simulate all possible message transmission scenarios. For example, you could choose to omit the authorization and only send the settlement.

How to simulate edge cases

One common occurrence is when a message in the normal transaction flow is missing, such as receiving a settlement without a prior authorization. Another situation is when there are too many messages, like receiving both an authorization request and an authorization advice for the same transaction. With Nautilus, you can simulate these scenarios by selecting the appropriate checkboxes in the lower part of the simulator execution dialog. For instance, if you disable authorization and advice, you will receive only a settlement. Equivalent options are also available in the dialog for adding new transactions to an existing chain.

Another type of edge case is when subsequent transaction amounts and/or currencies do not match, such as in a restaurant scenario where the authorization is obtained for the food price, but the tip is added later in the settlement. To simulate this situation, you can create an authorization using the simulator (uncheck 'Settle...'). Then, on the transaction details page, click the 'Add new transaction' button, select the final settlement, and choose a different amount and/or currency from the original authorization.

These were just a few ideas on how to simulate edge cases. Nautilus provides the flexibility to vary amounts, currencies, and message flows as much as you need.