Cara menggunakan midtrans-php github

Gimana cara integrasi Midtrans di laravel/PHP kayak sistem sekolah koding penasaran saya....

@Nami

24 Kontribusi 1 Poin

Dipost: 4 tahun yang lalu Update 2 tahun yang lalu

Jawaban

Jadi buat akun developer/sandbox Buat akun payment gateway Trus ngoding //api-docs.midtrans.com/ API. Tapi saya pakainya buat WordPress dan API payment gateway lain [PayPal, Authorize.Net, Stripe]

@Astried

9 Kontribusi 3 Poin

Dipost: 4 tahun yang lalu Update 4 tahun yang lalu

Pake composer kak, bisa di lihat github midtrans nya: //github.com/midtrans/midtrans-php

Login untuk gabung berdiskusi

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.

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:

  • Step 1. Persiapan
  • Step 2. Create Halaman Checkout
  • Step 3. Create Checkut Process
  • Step 4. Create Notification Handler
  • Step 5. Uji Coba

Teman-teman ingin coba juga? Yuk, kita mulai.

Persiapan

Sebelum mengikuti tutorial ini, ada beberapa hal yang harus kita persiapkan:

Download dan Setup NGROK

Untuk 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 command di bawah ini.

unzip /path/to/ngrok.zip

Kita bisa lihat ada file baru ngrok. Selanjutnya kita run ngrok, lalu kita hubungkan ke akun kita menggunakan authtoken.

ngrok authtoken 

Authtoken-nya ada di menu Getting Started > Your Authtoken. Sampai tahapan ini pengaturan ngrok sudah selesai, nanti kita coba gunakan untuk keperluan uji coba aplikasi.

Mendapatkan Midtrans API Access Key

Teman-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 sandbox [bisa lihat di sidebar ada opsi untuk mengubah environment]. Di dalam halaman dashboard, masuk ke menu Settings [atau Pengaturan] lalu pilih sub menu Access Key.

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 Codelab

Codelab 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.

mkdir payment-php-midtrans

lalu masuk folder yang baru saja kita buat.

cd payment-php-midtrans

Selanjutnya kita install package yang meng-handle integrasi dengan midtrans.

composer require midtrans/midtrans-php

Untuk menggunakan api key yang sudah kita dapatkan di tahapan sebelumnya, kita akan menggunakan file .env untuk menyimpan key. Jadi kita coba install terlebih dahulu package untuk membaca variable dari .env.

composer require vlucas/phpdotenv

Setelah package selesai terinstall, buat file baru dengan nama .env. Lalu kita masukan merchant id dan juga kedua api key midtrans.

MIDTRANS_MERCHANT_ID=isi-dengan-merchant-id
MIDTRANS_CLIENT_KEY=SB-Mid-client-isi-dengan-key-nya
MIDTRANS_SERVER_KEY=SB-Mid-server-isi-dengan-key-nya

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 .gitignore, lalu kita ketik beberapa file yang akan kita ignore apabila menggunakan git.

.env
log/*
vendor

Oke, codelab untuk aplikasi payment sederhana sudah selesai.

Create Halaman Checkout

Halaman 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 index.php, lalu kita ketik baris kode berikut ini.




  
  
  
  Integrasi midtrans di aplikasi payment sederhana - qadrlabs.com


  

  

Cart:

  • Ebook Belajar PHP OOP at qadrLabs x @100000
  • Ebook Belajar Laravel 8 at qadrLabs x @180000

Total: Rp 280.000,00

Checkout | Integrasi midtrans di aplikasi payment sederhana - qadrlabs.com

Pay!
JSON result will appear here after payment:
', ... kode lainnya ]

Selanjutnya coba klik button Pay!. Kita bisa lihat ada interface untuk melakukan pembayaran. Pilih Continue, lalu pilih metode pembayaran [misalnya Mandiri], lalu klik SEE ACCOUNT NUMBER. Setelah itu kita bisa lihat Company Code dan juga Payment Code. Keterangan: ini hanya uji coba jadi tidak perlu mengirim uang betulan, sekali lagi mengingatkan jangan coba mengirim uang betulan ya.

Nah ketika selesai proses di atas, midtrans akan mengirimkan HTTP[S] POST notification dan kita bisa lihat di folder log terdapat file .txt, tanda notication handler kita berjalan dengan baik.

Penutup

Pada 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 .txt dan setelah uji coba kita bisa lihat beberapa file .txt setiap proses pembayaran atau terjadinya perubahan status transaksi.

Tertarik untuk eksplorasi lebih jauh? Selamat bereksperimen dan tetap semangat berkarya.

Bài mới nhất

Chủ Đề