Melihat judul postingan ini, mungkin teman-teman sudah bisa membaca apa isi dari postingan kali ini. Ya, percobaan saya kali ini adalah integrasi midtrans di aplikasi yang dibangun menggunakan PHP. Midtrans ini saya gunakan sebagai payment gateway untuk menangani proses pembayaran. Karena tujuan awalnya itu untuk mempelajari cara kerja integrasi midtrans, jadi aplikasi yang saya jadikan studi kasus itu sederhana. Selain itu, di sini saya hanya menggunakan PHP native dan belum menggunakan framework apapun. Untuk integrasi midtrans dengan framework bisa kita bahas di lain waktu. Show Studi kasus postingan kali ini cukup sederhana. Hanya ada tampilan daftar item yang dibeli dan tombol checkout, lalu ada proses pembayaran, lalu menerima notifikasi dari midtrans dan selesai. Ya, sesuai dengan judulnya aplikasi payment sederhana menggunakan PHP dan midtrans. Ada beberapa tahapan untuk membangun aplikasi payment sederhana menggunakan PHP dan midtrans:
Teman-teman ingin coba juga? Yuk, kita mulai. PersiapanSebelum mengikuti tutorial ini, ada beberapa hal yang harus kita persiapkan: Download dan Setup NGROKUntuk keperluan uji coba menggunakan midtrans, aplikasi kita itu harus terhubung ke internet. Kabar baiknya kita bisa menggunakan NGROK untuk mengatasi problem tersebut. Teman-teman bisa coba mendaftar dulu untuk masuk ke dashboard NGROK dan mendapatkan authtoken. Selanjutnya kita download terlebih dahulu ngrok. Kita bisa download langsung di web resminya. Setelah ngrok kita download (dengan nama file ngrok.zip), kita unzip ngrok.zip. Buka terminal lalu run
Kita bisa lihat ada file baru
Authtoken-nya ada di menu Getting Started > Your Authtoken. Sampai tahapan ini pengaturan Mendapatkan Midtrans API Access KeyTeman-teman harus punya API access key midtrans terlebih dahulu. Untuk mendapatkan key tersebut, teman-teman daftar terlebih dahulu dan selesaikan
pendaftaran. Setelah itu masuk ke halaman dashboard dengan environtment Di halaman Access Key, terdapat Merchant ID, Client Key dan Server Key. Nanti kita akan pakai ketiganya, untuk client key nanti kita gunakan untuk authorization di front end, sedangkan Server Key untuk authorization di bagian backend. Keterangan: Ada baiknya key ini tidak dibagikan kesiapapun, terutama Server Key. Setup CodelabCodelab ini kita gunakan untuk project payment sederhana menggunakan PHP dan midtrans. Sekarang kita akan buat folder khusus project kita. Buka terminal lalu buat folder baru.
lalu masuk folder yang baru saja kita buat.
Selanjutnya kita install package yang meng-handle integrasi dengan midtrans.
Untuk menggunakan api key yang sudah kita dapatkan
di tahapan sebelumnya, kita akan menggunakan file
Setelah package selesai terinstall, buat file baru dengan nama
Keterangan: Api Key yang kita pakai untuk environment sandbox ya.. bukan untuk production. Ini tahapan opsional, jaga-jaga kalau aplikasinya diupload
ke github. Buat file baru dengan nama
Oke, codelab untuk aplikasi payment sederhana sudah selesai. Create Halaman CheckoutHalaman ini akan menampilkan halaman untuk checkout ketika kita belanja di online store atau pun market place. Untuk membuat halaman checkout, buat file baru dengan nama
Seperti yang terlihat
pada baris kode di atas, halaman ini menampilkan daftar barang yang dibeli dan juga terdapat form untuk melakukan aksi checkout. Pada form tersebut, terdapat input yang disembunyikan yang berisi value total yang akan dibayarkan melalui payment gateway. Selain itu untuk prosesnya akan ditangani oleh file Create Checkout ProcessLangkah selanjutnya adalah membuat file untuk menangani proses input dari halaman checkout. Buat file
baru dengan nama
Create Notification HandlerSetelah pengguna menyelesaikan proses pendaftaran melalui interface dari midtrans ataupun terdapat perubahan status transaksi, notifikasi via HTTP(S) POST / webhooks akan dikirimkan ke server. Nah untuk menangani notifikasi ini kita buat handler-nya. Kita buat file baru dengan nama
Dari baris kode di atas, ketika terdapat
notifikasi via webhook ataupun HTTP(S), handler akan membaca notifikasi lalu membaca status transaksi. Setiap ada perubahan transaksi, keterangannya akan ditulis di dalam variable Uji CobaUntuk melakukan uji coba aplikasi payment sederhana ini, kita perlu mendaftarkan terlebih dahulu URL yang digunakan sebagai notification
handler. Buka kembali dashboard midtrans, lalu masuk ke menu PENGATURAN, lalu pilih sub menu KONFIGURASI. Pada halaman ini terdapat form untuk mendaftarkan URL yang diperlukan seperti Untuk menangani webhook atau HTTP(S) POST notification, isi Sekarang kita coba run dulu aplikasi payment.
Setelah itu kita buka terminal yang kedua untuk running ngrok. Di dalam direktori ngrok, kita run ngrok dengan port 8080.
Setelah kita run, nanti terdapat keterangan link aplikasi kita dengan format: Buka kembali halaman KONFIGURASI di dahsboard midtrans, di bagian Persiapan uji coba sudah selesai, selanjutnya kita bisa coba langsung buka aplikasi dengan menggunakan url dari ngrok. Kalau kita buka melalui chrome, halaman ini tidak bisa kita buka langsung, klik Di halaman awal tampil daftar item yang dibeli dan terdapat button checkout. Klik
button checkout untuk masuk ke halaman
Nah snapToken ini kita gunakan untuk memanggil built-in interface (snap) dari midtrans. Bisa kita lihat di bagian kode javascript.
Selanjutnya coba klik button Nah ketika selesai proses di atas, midtrans akan mengirimkan HTTP(S) POST notification dan kita bisa lihat di folder PenutupPada tutorial kali ini, yaitu membuat aplikasi payment sederhana menggunakan PHP dan midtrans, ada beberapa hal yang kita pelajari. Dimulai dari proses instalasi API Client dari midtrans sampai dengan uji coba proses pembayaran menggunakan built-in interface atau snap. Berbeda dengan tutorial sebelumnya, aplikasi kita harus terhubung ke internet ketika proses uji coba, karena harus menerima notifikasi via HTTP(S) POST atau webhook dari midtrans. Di sini kita sudah coba
menggunakan ngrok untuk tunneling, supaya aplikasi dapat diakses lewat internet dan supaya HTTP(S) POST dapat dihandle langsung oleh notification-handler. Selain itu, untuk mengetahui apakah proses pembayaran melalui midtrans berhasil atau gagal, kita sudah coba untuk menuliskannya ke dalam file Tertarik untuk eksplorasi lebih jauh? Selamat bereksperimen dan tetap semangat berkarya. Winpay pembayaran apa?Winpay adalah layanan payment gateway atau gerbang pembayaran untuk solusi bisnis online Anda. Winpay memberikan layanan berbasis financial technology dengan pilihan pembayaran online yang lengkap untuk meningkatkan transaksi dan bisnis online Anda.
Apa saja payment gateway?Metode pembayaran payment gateway bisa berupa transfer bank, kartu kredit, virtual account, debit, e-wallet, dan gerai minimarket. Payment gateway memungkinkan Anda menyediakan metode pembayaran yang beragam di toko online Anda.
Apa itu payment gateway dan contohnya?Payment gateway adalah teknologi yang digunakan oleh penjual atau pemilik bisnis untuk mengotorisasi atau menerima pembayaran dari pelanggan melalui kartu debit/kredit, dompet digital, dan lain-lain.
Apa itu Metode pembayaran Midtrans?Midtrans merupakan solusi payment gateway lengkap yang dirancang untuk bisnis Anda. Terima pembayaran dan kirim dana dengan mudah bersama Midtrans. Pilih cara mudah untuk kelola semua proses pembayaran sehingga Anda dapat fokus kembangkan bisnis.
|