Sandbox¶
The Sandbox environment is a real system with exactly the same applications and APIs as the Live environment. Your Sandbox account configuration such as Payment Methods, Currencies and so on - is based on your business needs which we gather from you during the Merchant enrollment process. In our Sandbox environment you can make test payments using all payment methods configured on your Sandbox account.
Sandbox simulates specific behaviours of given payment methods. It replicates communication with the Payment suppliers as accurately as possible. In this article, you can find all necessary information about how to open your Sandbox account and what is the logic of the Sandbox testing procedures.
Account request¶
To register your Sandbox account, you will need to complete and submit the registration form. Once this is done, we will contact you to set up up your account according to your business needs.
API credentials¶
Once your Sandbox account is established, log into Merchant Back-office Sandbox and go to .
Once there, copy your Merchant ID and then continue to the Secret Key widget to copy your Merchant Secret key
.
Test integration¶
It is important to test your integration before going live.
Within the Sandbox environment we provide simple rules to simulate incoming payment scenarios so that you can test your integration. You can use this system to ensure your test integration is working as expected, before you switch your integration to the Live environment.
We use different amounts to test payment processing capacity and results in the Sandbox environment.
You should test following scenarios:
Happy flow¶
When you send the payment with an amount 51 and higher, Payment is successfully processed.
Endpoint GET /payins/{idPayin}
returns status SUCCESS
.
Required amount¶
The rules below allow you to simulate a scenario where the system modifies the required amount for payments identification purposes.
When you send the payment with paymentMethod = OfflineMethod
and an amount equals to 50 then payment request returns moneyRequired
attribute in paymentMethodResponse
object set with decrement amount and Payment is successfully processed.
Endpoint GET /payins/{idPayin}
returns status SUCCESS
.
When you send the payment with paymentMethod = PROMPTPAY
OR DUITNOW
then, payment request returns moneyRequired
attribute in paymentMethodResponse
object set with decrement amount.
Endpoint GET /payins/{idPayin}
returns moneyRequired
attribute in paymentMethodResponse
object set with decrement amount as well.
Non-happy flow¶
Processing failure¶
This flow allows you to simulate a situation where we have received a payment but the payment process failed due to technical issues (such as connectivity errors).
When you send the payment with an amount between 3 and less than 20, Payment fails to be processed in a very short period of time (few seconds).
Endpoint GET /payins/{idPayin}
returns status FAILED
.
Different amount received¶
This flow allows you to simulate a situation where we have received a payment but with different amount than it was requested in payment.
When you send the payment with an amount between 20 and less than 30, Payment fails to be processed in a very short period of time (few seconds).
Endpoint GET /payins/{idPayin}
returns status FAILED
.
When you send the payment with an amount between 30 and less than 40, Payment fails to be processed in a very short period of time (few seconds).
Endpoint GET /payins/{idPayin}
returns status SUCCESS
.
Incoming Payment expiration¶
This flow allows you to simulate a situation where we have received a payment but the payment process expired. This can happen for various reasons such as customer inactivity, a customer leaving the payment before it has processed or Payment processing has time out.
You can simulate this situation when you send a payment with an amount equals to 1. Then the Payment failure takes a longer time register (around 2 hours after the payment request expires).
Endpoint GET /payins/{idPayin}
returns status PROCESSING
before the payment request expires.
Endpoint GET /payins/{idPayin}
returns status FAILED
after the payment request expires.
Note
For all testing flows the CallBack is sent to the CallbackURL
(specified during incoming payment creation via POST /payins/{idPayin}
when the status is changed to SUCCESS
or FAILED
.