Skip to main content

Online payments

Service Provider Simulator

Last updated: 01-Sep-2022
Rate this article:


The Service Provider Simulator works like a processor and allows you to test your transactions in a sandbox environment based on your linked Payment Provider Contract. See here how to get started.

The Simulator is designed to assist with integration testing and troubleshooting. If the simulator processor is not available to you, please contact your Verifone administrator. The Simulator can be configured without any need to provide your acquiring merchant ID or any other credentials. 


Available to all merchants who want to test in a sandbox environment.

Service Provider Simulator

Authorize and settle transactions

Once your Payment Provider Contract (PPC) is set up in the sandbox, you can start testing. 

When testing using a PPC configured with the simulator, you may also mock the settlement process. If you have requested to capture a transaction, either by using the capture_now flag during the authorisation or the capture API, the transaction will be updated automatically to Settled status after 60 mins.

In the Production environment, the settlement will take place according to a fixed scheduled time per acquirer (usually this happens at the end of the day; read the Supported acquirers documentation for more details). Check the contract with your acquirer for settlement period details.

   The Service Provider Simulator does not support pre-authorizations.

Combine transaction tests with 3-D Secure

To combine transactions with the 3-D Secure flow, simply use the cards listed for 3DS 1.0 and for 3DS 2.0 to trigger the relevant behavior. 

Trigger specific error responses

Generally, all transactions initiated against the simulator would be approved with a code 0000. However, in production, you may encounter failed transactions.

There are two ways to trigger unhappy flows:

  • you can use a specific value for the amount and, in this case, when the amount ends in the values below, a relevant error code will be invoked as described in the table.
  • you can use the merchant_reference parameters. When the merchant_reference is equal to the values below, a relevant error code will be invoked as described in the table.



Transaction status

Response code

*121 please 121 DECLINED 121
*122 please 122 UNKNOWN 122
*123 please 123 FAILED 123
*131 please 131 UNAVAILABLE 131
*132 please 132 NOT_SUPPORTED 132

Trigger a specific CVV result

Initiating card transactions can return several different responses for the CVV check. Those scenarios can be tested by sending an appropriate value for the CVV.  The cvv_result values can be invoked as described in the table below. 




"111" "1" Matched
"222" "2" Not matched
"333" "3" Not checked
any other value "0" Unavailable

Test in production 

After your account was set up and you received all your credentials to be used in the Production environment, you are ready to start testing!

  Note that transactions in the Production environment are real and will reflect into your bank account. Refunding the transactions at the end of your testing may be a good practice.
Rate this article:

Need help?

Do you have a question? On our Support page you will find a list with answers to frequently asked questions.
Did not find the answer you are looking for? Please contact us. We are happy to help.

Logo of Verifone