Midtrans merupakan salah satu layanan payment gateway di Indonesia yang sangat populer dan banyak digunakan karena kemudahan dalam integrasinya. Midtrans termasuk perusahaan yang berada di dalam Gojek group.
Dengan menggunakan layanan payment gateway di dalam website yang kita buat, maka akan mempermudah kita dalam menangani pembayaran yang dilakukan oleh customer secara otomatis dan tanpa perlu melakukan konfirmasi pembayaran secara manual.
Dan enaknya lagi kita sudah disediakan layanan dengan nama SNAP PAY, yang akan menampilkan beberapa metode pembayaran yang bisa di pilih oleh customer saat melakukan checkout.
Cara Kerja Midtrans
CATATAN:
Merchant Backendadalah aplikasi Laravel yang sedang kita buat.Snap Backendadalah backend service dari Midtrans.
Dari ilustrasi gambar alur kerja payment gatewat (Midtrans) di atas, kurang lebih detail konsepnya seperti berikut ini :
- Pengguna melakukan request checkout ke dalam
Merchant Backend. Merchant Backendmembuat permintaan api keSnap Backenduntuk mendapatkanSNAP_TOKEN.Snap Backendmenanggapi permintaan dan mengembalikan response keMerchant BackenddenganSNAP_TOKEN.Merchant Backendmembuat halaman HTML dan mengirimkannya kembali ke browser.- Pengguna memverifikasi detailnya kemudian mengklik tombol bayar dengan kode JavaScript
snap.pay(SNAP_TOKEN). Pengguna kemudian mengisi detail pembayaran dan mengklik tombol konfirmasi. Snap Paymengirimkan detail pembayaran keSnap Backend.Snap Backendmemproses detailnya dan meresponse dengan status pembayaran. kemudianSnap Paymemanggil kembali dengan status yang di dapatkan.Snap Backendmembuat notifikasi ke dalamMerchant Backendterkait status biaya.
Langkah 1 - Daftar Akun di Midtrans
Pertama, kita akan melakukan pendaftaran akun di dalam website Midtrans, ini bertujuan agar kita nanti mendapatkan Client Key dan Server Key yang digunakan untuk integrasi.
Silahkan buka URL berikut ini dan lakukan pendaftaran dengan mengisi semua informasi yang dibutuhkan : https://dashboard.midtrans.com/register
Silahkan diisi semua informasi yang dibutuhkan. Dan untuk BUSINESS NAME bisa diisi sembarang, karena masih untuk proses pembelajaran. Jika sudah berhasil register, maka kita akan di arahkan kedalam halaman dashboard Midtrans.
Di dalam halaman dashboard Midtrans terdapat 2 environment, yaitu Sandbox dan Production. Disini pastikan kita menggunakan yang jenis Sandbox, karena masih dalam proses testing. Nanti, jika sudah benar-benar fix dan digunakan secara online, maka kita bisa menggantinya dengan Production.
Setelah itu, sekarang klik menu PENGATURAN > ACCESS KEYS, maka sekarang kita sudah mendapatkan kredensial Merchant ID, Client Key dan Server Key.
Langkah 2 - Installassi Package Midtrans
Sekarang, kita lanjutkan untuk proses installasi package Midtrans di dalam project Laravel yang kita kembangkan. Silahkan jalankan perintah di bawah ini di dalam terminal/CMD dan pastikan menjalankannya di dalam project Laravel.
bashcomposer require midtrans/midtrans-php:2.6.1
Silahkan tunggu proses installasi sampai selesai. Dan pastikan harus terhubung dengan internet, karena package akan diunduh secara online.
REPOSITORY : https://github.com/Midtrans/midtrans-php
Langkah 3 - Konfigurasi Package Midtrans
Sekarang, kita lanjutkan untuk proses konfigurasi Midtrans di dalam project Laravel. Silahkan buka file .env kemudian tambahkan kode berikut ini :
ini
MIDTRANS_CLIENT_KEY=paste_client_key_midtrans_disini
MIDTRANS_SERVER_KEY=paste_server_key_midtrans_disini
MIDTRANS_IS_PRODUCTION=false
Setelah itu kita akan tambahkan config, dimana config ini akan kita gunakan untuk mendapatkan data dari konfigurasi Midtrans dari file .env di atas.
Silahkan buat file baru dengan nama midtrans.php di dalam folder config, kemudian masukkan kode berikut ini di dalamnya.
php
<?php
return [
'client_key' => env('MIDTRANS_CLIENT_KEY'),
'server_key' => env('MIDTRANS_SERVER_KEY'),
'is_production' => env('MIDTRANS_IS_PRODUCTION', false),
'is_sanitized' => env('MIDTRANS_IS_SANITIZED', true),
'is_3ds' => env('MIDTRANS_IS_3DS', true),
];
Sekarang, kita sudah bisa menggunakan Midtrans di dalam project Laravel yang kita kembangkan.




