Testing Payment on Sandbox

Sandbox Environment can be used to create "testing" transactions (usually performed from your development/testing environment). All transaction made within this environment mode is not "real", and does not require "real payment/fund". This environment is created automatically when you are signing up, and free to use.

In the Sandbox environment, Midtrans uses web-based simulator to simulate a response from payment provider or bank's system. This helps to test different scenarios that can happen on production, without actually doing real payments.

This is the list of payment credentials that you can use on Midtrans Sandbox environment. Please note that, it will not work on Production environment.




Card Payments


The table given below lists the details to be entered for simulating credit card transactions. All cards listed below already support 8 digit BINS.


InputValue
Expiry Month01 (or any month)
Expiry Year2025 (or any future year)
CVV123
OTP/3DS112233
Card NumberRefer to table given below.

General


VISADescription
Full Authentication
Cardholder is 3DS ready
Accept Transaction: 4811 1111 1111 1114
Denied by Bank Transaction: 4911 1111 1111 1113
Attempted Authentication
Cardholder is not
enrolled for 3DS
Accept Transaction: 4411 1111 1111 1118
Denied by FDS Transaction: 4611 1111 1111 1116
Denied by Bank Transaction: 4711 1111 1111 1115
MASTERCARDDescription
Full Authentication
Cardholder is 3DS ready
Accept Transaction: 5211 1111 1111 1117
Denied by Bank Transaction: 5111 1111 1111 1118
Attempted Authentication
Cardholder is not
enrolled for 3DS
Accept Transaction: 5410 1111 1111 1116
Denied by FDS Transaction: 5411 1111 1111 1115
Denied by Bank Transaction: 5511 1111 1111 1114
JCBDescription
Full Authentication
Cardholder is 3DS ready
Accept Transaction: 3528 2033 2456 4357
Denied by Bank Transaction: 3528 5129 4493 2269
Attempted Authentication
Cardholder is not
enrolled for 3DS
Accept Transaction: 3528 8680 4786 4225
Denied by FDS Transaction: 3528 1852 6717 1623
Denied by Bank Transaction: 3528 9097 7983 7631
AMEXDescription
Full Authentication
Cardholder is 3DS ready
Accept Transaction: 3701 9216 9722 458
Denied by Bank Transaction: 3742 9635 4400 881
Attempted Authentication
Cardholder is not
enrolled for 3DS
Accept Transaction: 3737 4772 6661 940
Denied by FDS Transaction: 3780 9621 8340 018
Denied by Bank Transaction: 3703 5609 7975 856

FDS refers to our Fraud Detection System. "Denied by FDS" means to simulate a transaction that is being denied because it is suspected as fraudulent.


📘

Note

Not every acquiring banks might be able to accept JCB and Amex card. You can use BNI & BCA acquiring for JCB. BCA acquiring can accept Amex.


Bank-Specific

This is useful for Installment/Promo scenario which require bank specific card.


Accepted 3D Secure Card

BankCard Number
Mandiri
Full Authentication

4617 0069 5974 6656*

5573 3810 7219 6900
Attempted Authentication4617 0017 4194 2101*5573 3819 9982 5417
Mandiri Debit
Full Authentication

4097 6611 1111 1113*
Attempted Authentication4097 6611 1111 1139*
*Card not available for online installment/promo
CIMB
Full Authentication

4599 2078 8712 2414

5481 1698 1883 2479
Attempted Authentication4599 2039 9705 28985481 1671 2103 2563
BNI
Full Authentication

4105 0586 8948 1467

5264 2210 3887 4659
Attempted Authentication4105 0525 4151 21485264 2249 7176 1016
BNI Private Label1946 4159 8148 7684*
*Card only acceptable via BNI Acquiring.
BCA
Full Authentication

4773 7760 5705 1650

5229 9031 3685 3172
Attempted Authentication4773 7738 1098 11905229 9073 6430 3610
BRI
Full Authentication

4365 0263 3573 7199

5520 0298 7089 9100
Attempted Authentication4365 0278 6723 26905520 0254 8646 8439
MEGA
Full Authentication

4201 9100 0000 0009

5221 0300 0000 0009
Attempted Authentication4201 9100 0000 00175221 0300 0000 0017
Maybank
Full Authentication

4055 7720 2603 6004

5520 0867 5210 2334
Attempted Authentication4055 7713 3514 40125520 0867 7490 8452

Denied Card

BankCard Number
Mandiri4617 0085 6083 17605573 3840 4322 4447
Mandiri Debit4097 6676 7217 8631
CIMB4599 2060 0973 30905481 1691 9178 2739
BNI4105 0541 4854 13635264 2235 3013 1711
BNI Private Label1946 4102 7193 1269
BCA4773 7752 0201 18095229 9034 0542 3830
BRI4365 0286 6251 25835520 0219 0920 3008
MEGA4201 9100 0000 00255221 0300 0000 0025
Maybank4055 7796 2846 04745520 0883 1465 3770

Offline Card

It is used for testing a specific scenario where the card is not eligible for online transactions, which result in Deny transaction status.

BrandCard Number
VISA4705 8595 1098 4866
MASTERCARD5597 5189 2656 1951

📘

Note

  • General card number is used for general feature testing of card payment.
  • Bank specific card number is useful for testing advanced card features (on-us/off-us installments, whitelist BIN, promo, and so on) that require card from specific bank.

3D Secure Version Specific

📘

3DS 2 Behavior Change Notice

To reflect the changes that has been applied to our Production Environment, on 31st January 2023 similar changes is applied to Sandbox Environment. The changes are summarized as follows:

  • Most/all acquirer bank MIDs within merchants’ sandbox accounts is upgraded to allow accepting 3DS 2. The previously MIGS acquirer MID's channel will be replaced with MPGS. Which will change the transaction's value of channel_response_message and channel_response_code. As explained in this notice.
  • All sandbox testing cards (that were previously 3DS 1) are upgraded to 3DS 2. Including cards listed under General and Bank Specific tabs.
  • These changes are supposed to be seamless, not cause breaking, and not require changes of implementation from the merchant side (except IF merchant is still using a very old pre-2019 card integration flow, then card transaction will be treated as 3DS 1).
  • Background context: 3DS 1 has been phased-out & upgraded to 3DS 2 in Production Environment & industry wide. Hence the same are applied to Sandbox.

3D Secure 2

Specific cards for testing 3DS 2 card payment scenario.


VISADescription
Card 3DS 2 Enrolled.
frictionless 3DS (3DS input NOT prompted)
Accept: 4556 5579 5572 6624
Accept: 4024 0071 8944 9340
Deny: 4485 4364 5535 4151
Card 3DS 2 Enrolled.
challenged by 3DS (3DS input prompted)
Accept: 4916 9940 6425 2017
Deny: 4604 6331 9421 9929

Result still Pending initially (will become Accept after 60sec delay):
4024 0071 7626 5022
3DS authentication is either failed or could not be attempted; possible reasons being both card and Issuing Bank are not secured by 3DS(technical errors or improper configuration).Deny: 4716 1250 5984 7899
MASTERCARDDescription
Card 3DS 2 Enrolled.
frictionless 3DS (3DS input NOT prompted)
Accept: 5333 2591 5564 3223
Deny: 5328 7203 8458 2224
Card 3DS 2 Enrolled.
challenged by 3DS (3DS input prompted)
Accept: 5306 8899 4283 3340
Deny: 5424 1840 4982 1670

Result still Pending initially (will become Accept after 60sec delay):
5487 9716 3133 0522
3DS authentication is either failed or could not be attempted; possible reasons being both card and Issuing Bank are not secured by 3DS(technical errors or improper configuration).Deny: 5250 5486 9206 9390
AMEXDescription
Card 3DS 2 Enrolled.
frictionless 3DS (input NOT prompted)
Accept: 3415 0209 8634 895
Deny: 3456 9539 9207 589
Card 3DS 2 Enrolled.
challenged by 3DS (3DS input prompted)
Accept: 3486 3826 7931 507
Deny: 3720 2110 6351 394

Result still Pending initially (will become Accept after 60sec delay):
3451 9777 1649 926
3DS authentication is either failed or could not be attempted; possible reasons being both card and Issuing Bank are not secured by 3DS(technical errors or improper configuration).Deny: 3794 5219 9603 6850

3D Secure 1

Specific cards for testing outdated 3DS 1 card payment scenario, which will be rejected due to no longer supported.

BrandCard Number
Visa4723249479082225
MasterCard5555666677771111
JCB3528927894502153
Amex3419184532253540



E-Wallet


Payment MethodsDescription
GoPayOn mobile platform you are automatically redirected to GoPay Simulator.
On desktop, QR Code image is displayed. To perform a test transaction, enter the QR Code image URL in QRIS Simulator.

Note: if the QRIS Simulator fails, please try GoPay QR Simulator, you may be on older version of merchant account before QRIS implemented.

To perform failed linking scenarios Gopay Tokenization on Sandbox environment, you can use these phone numbers.
- User not registered: 123450001
- User is blocked: 123450002
ShopeePayOn mobile platform you are automatically redirected to ShopeePay Simulator.
On desktop, QR Code image is displayed. To perform a test transaction, enter the QR Code image URL in QRIS Simulator.
QRISTo perform a test transaction, copy the QR Code image URL and use it in QRIS Simulator.
[DEPRECATED] Indosat DompetkuAccept number: 08123456789
Deny number: other than 08123456789
[DEPRECATED] Mandiri E-cashAccept number: 0987654321
PIN: 12345
OTP: 12123434

📘

Note

On Sandbox, Midtrans uses web-based payment simulator. So, payment that requires app deeplink like GoPay, will use web simulator instead of real app deeplink. To test real app deeplink use cases, please use Midtrans Production Environment.




Bank Transfer


Payment MethodsDescription
Permata Virtual AccountMidtrans will generate a dummy Permata Virtual Account Number. To perform a test transaction, use the Permata Virtual Account Simulator - Open API and choose Permata as the bank.
BCA Virtual AccountMidtrans will generate a dummy BCA Virtual Account Number. To perform a test transaction, use the BCA Virtual Account Simulator.
Mandiri Bill PaymentMidtrans will generate a Payment Code to complete payment via Mandiri e-channel (Internet Banking, SMS Banking, Mandiri ATM). To perform a test transaction, use the Mandiri Bill Payment Simulator - Open API and choose Mandiri as the bank, input company code as bill code and Mandiri Bill number as bill key.
BNI Virtual AccountMidtrans will generate a dummy BNI Virtual Account Number. To perform a test transaction, use the BNI Virtual Account Simulator.
BRI Virtual AccountMidtrans will generate a dummy BRI Virtual Account Number. To perform a test transaction, use the BRI Virtual Account Simulator - Open API and choose BRI as the bank.
CIMB Virtual AccountMidtrans will generate a dummy CIMB Virtual Account Number. To perform a test transaction, use the CIMB Virtual Account Simulator - Open API and choose CIMB as the bank.



Convenience Store


Payment MethodsDescription
IndomaretMidtrans will generate a dummy Indomaret Payment Code. To perform a test transaction, use the Indomaret Simulator.
AlfamartMidtrans will generate a dummy Alfamart Payment Code. To perform a test transaction, use the Alfamart Simulator.
KiosonMidtrans will generate a dummy Kioson Payment Code. To perform a test transaction, use the Kioson Simulator.





Cardless Credit


Payment MethodsDescription
AkulakuMidtrans will automatically redirect to Akulaku simulator page. Test credentials will be displayed.
KredivoMidtrans will automatically redirect to Kredivo simulator page. Test credentials will be displayed.



Note & Limitation


Sandbox Env Should Not be Paid with Real Payment

📘

Note

Do not attempt to pay with a real-world payment-provider/bank to a transaction created in the Sandbox environment. Sandbox transactions cannot be paid with real payment, and should only be paid with the Sandbox Payment Simulator/Credentials explained in this page.

​​Midtrans will not be responsible and may not be able to help you recover any real-world payment funds if you do such an action.

Explanation: A payment reference generated on Midtrans Sandbox environment (VA number, QR image, etc.), may possibly be the same reference that is also active on the payment provider’s real environment. If you make a real payment to it, the funds will be routed to the real payment provider’s environment instead, which often the funds will not reach Midtrans. So please keep the environmental difference in mind.

QRIS Specific

For QRIS payment method, usually the sandbox reference will refer to the same Merchant ID you have in your Midtrans Production environment, real payment made there can possibly be routed to your Midtrans Production account. You can try to login to your Midtrans Production account, and may find payment with Order ID formatted as: QRIS-{generated_id}, which you can also try to refund.