Integration

Why did I not receive any HTTP notification from Midtrans’ system?

Merchant typically fails to receive HTTP notification from us because of many reasons, most commonly are network disturbances and merchant’s endpoint URL is unavailable. If you are whitelisting IP address for any incoming messages, please include the following IP block: Production Environment: ...

Can we implement discount or voucher?

Yes. We recommend you to use ‘item’ parameter for discount or voucher when sending payment request to us. Here below is a simple example: [Item name] / item = 100.000 Voucher / Item = -50.000 Gross Amount = 50.000 Here is what look like in code : ................................$item1_details = a...

Midtrans payment page display changes (SNAP)

To increase efficiency and make it easier for customers to process payments on the merchant website or application, Midtrans made several changes to the payment page display (SNAP). You may see in the table below. For your information, if you have registered as a Midtrans merchant and have used a...

What does the error code 402 message “Merchant doesn’t have access for this payment type” mean?

This error message appears if you are trying to use any payment channel that is not activated yet. If you want to activate any specific payment method, please reach us via our Contact Us page ↗ and fill the form.      

What does the error code 401 message “Access denied due to unauthorized transaction, please check client key or server key” mean?

There are several possible scenarios: You are using Production Access Keys while running Sandbox endpoint URL, or vice versa; Your Server Key is not converted yet to base64; You have space ( ) when converting.      

What’s the difference between Server Key and Client Key? How do I access them?

Both keys, collectively known as Access Keys, are vital identification components of your Midtrans' account. You need to put these keys on your config file. Client key is used to generate credit card tokens specifically for Core API implementation, while server key is used for the remainder of AP...

Do you provide logos for the all the payment types on Midtrans?

Yes we are.We provide several lists of logo in our github ↗, you can use our logo collection for your website.      

How does my payment page looks like?

Midtrans has 2 options when it comes to users’ payment experience. The first one is SNAP, the simplest way to integrate a beautiful, customizable payment flow that works great across desktop as well as mobile platform. Check out our code on online documentation (https://snap-docs.midtrans.com/). ...

What does error code 411 message “Token id is missing, invalid, or timed out” mean?

This error is related to token issues in card payment. If you encounter this error, please: Ensure that token generation and token charging time gap short (less than 10 minutes, to be safe); Ensure that no 'token_id' is reused for another transaction, except for One Click or Two Clicks transacti...

BCA KlikPay Landing Page Development Guideline

To enable this payment method, you can see this guideline ↗. Additionally you will need to fulfill additional technical requirements below as required by BCA team according to their guidelines. This article will explain additional technical requirement to integrate with BCA KlikPay payment method...

Create Landing Page for Direct Debit Payment

On this section we will discuss about create an informative landing page for direct debit payment. These payment channel will redirect our customer to their institution website, then customer will conduct their payment there. The payment channel we cover so far CIMB Clicks, Epay BRI, Line Pay | m...

Why I encounter `javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure` when trying to connect to Midtrans API ?

This usually caused by outdated Java client.Please check the Java version, web framework version, and OS version used to connect. Please make sure you are not using outdated version, and stay updated. For example if your versions are Java version 7, web framework version Spring 3.1, and OS versio...

What if I want to use BCA Klikpay as a payment method?

To enable this payment method, you can see this guideline ↗. From technical/development side, please make sure you can meet some of requirements below, in order to integrate with BCA Klikpay on your website/app : Merchant must integrate via SNAP pop up (payment page shown on merchant’s website, ...

Why did my customer not receive any email notification from Midtrans’ system?

Customer typically fails to receive email notification from us because of many reasons, most commonly are network disturbances and/or customer’s mailbox is full. You can rely on to that reason, if it happens to one or some of your customers.There is no restriction against email domain in order to...

My mobile application fail to be redirected to GOJEK application, what to do?

If you are using android application web view, there's configuration needed to allow open deeplink to other application. Please make sure that the web view allow opening gojek:// deeplink protocol.Please refer to this link ↗ for more detail. You need to modify your web view shouldOverrideUrlLoadi...

Is there any restriction format for email parameter that being sent to Midtrans?

Yes, Midtrans do validation for customer emails format for certain payment method such as Permata VA, CIMB Clicks, Telkomsel Cash, KlikBCA, Mandiri Ecash, and IndomaretWe are using regex logic for this validation. Please focus on the value that allowed by this logic, you can refer to below explan...

Midtrans' notification features

Midtrans has 2 types of notifications that are used to send information to you as a merchant or customer merchant, namely email notification and HTTP notification. ---- Email Notification Midtrans will automatically send a notification in the form of an email containing information regarding the ...

What is Core API? How to integrate Core API into my system?

Midtrans Core API integration allows you to design & customize the payment UI on your site/application according to your business needs. The Core API can be integrated into a variety of systems, such as website, application, PoS, IoT, etc. If you don't/not yet want to integrate Midtrans Core API ...

Introduction to Payment Link

Payment Link provides an easy way to accept payments from your customers. Midtrans generates a link which redirects the customer to Midtrans payment page. You can share the Payment Link through any channels such as email, WhatsApp or any messengers. User-friendly and no technical integration is r...

Additional Requirements for Kredivo Integration

By default, Kredivo requires item_details (click here ↗) and customer_details (click here ↗) on top of payment_type and transaction_details to be sent by merchants as MANDATORY PARAMETERS. To ensure that merchants comply with Kredivo requirements, all merchants will need to conduct transaction te...