Tutorial Pembayaran Otomatis Menggunakan Moota dengan Codeigniter dan Laravel

Assalamualaikum wr.wb
Dalam tutorial kali ini kita akan belajar bagaimana cara melakukan pembayaran otomatis menggunakan moota, sebelumnya apa itu moota? Moota adalah tools untuk mengelola keuangan berbagai bank dalam satu dashboard dan cek mutasi bank secara otomatis.
Dalam artikel ini kita hanya akan belajar bagaimana cara agar aplikasi yang kita buat bisa mengupdate otomatis pembayarannya ketika ada user yang transfer. Jadi kita tidak akan belajar yang lainnya seperti cara get profil moota, cara menghitung mutasi bank ataupun top up saldo dari aplikasi kita ke aplikasi moota, untuk melakukan hal tersebut sudah ada apinya yang bisa teman-teman pelajari disini.
Untuk pertama teman-teman harus membuat kode unik pada checkout aplikasi contohmya seperti ini.

* Untuk kode unik biasanya akan di set dari 0 – 999 teman-teman bisa menggunakan fungsi rand(0, 999) untuk melakukan random angka tersebut. – (J 0.1)
Kenapa menggunakan kode unik? karena pada saat artikel ini di buat moota belum ada insert transaksi ke server mereka seperti midtrans. Jadi kita menggunakan kode unik tersebut untuk membuat where nantinya.
Kemudian siapkan field untuk menyimpan kode unik tersebut dan untuk lebih baiknya teman-teman bisa menambahkan field kedua yaitu total pembayarannya. (Disini saya anggap teman-teman sudah punya tabel order atau tabel dengan nama apapun itu untuk menyimpan data order)
Untuk mengupdate pembayaran secara otomatisnya kita bisa menggunakan fitur webhook yang ada pada aplikasi moota, webhook ini lah yang nanti akan mengirimkan semua data transfer ke aplikasi kita.

* Perlu diketahui untuk menggunakan fitur webhook ini teman-teman harus sudah mendaftarkan akun bank dan melakukan topup karena untuk mengirimkan notifikasi ke aplikasi kita moota menggunakan poin hasil topup tersebut.
Lalu bagaimana untuk menguji coba terlebih dahulu tanpa melakukan topup? kita bisa menggunakan fitur sandbox yang juga disediakan oleh moota.

* Fitur sandbox ini bisa kita gunakan untuk melakukan ujicoba pengiriman notifikasi dari moota ke aplikasi kita. Perlu diketahui juga untuk melakukan pengiriman via sandbox maupun webhook teman-teman harus men-onlinekan terlebih dahulu aplikasi onlieshopnya, yang artinya moota tidak mengenal localhost.
Contoh penggunaan sandbox.

* Penggunaan webhook hampir sama hanya saja ada beberapa tambahan form input seperti Secret Token
Note :
Url : Url endpoint untuk menerima notifikasi moota
Jumlah Transaksi : Jumlah pembayaran yang akan user transfer
Keterangan : Keterangan transfer
Untuk tahap selanjutnya kita hanya perlu membuat controller atau api untuk menangkap notifikasi yang dikirim oleh moota. Disini saya menggunakan controller agar lebih cepat dan pastikan teman-teman menggunakan security yang dikirim oleh moota untuk mengamankan endpoint apinya.

* Security yang dikirim adalah Secret Token sebelum kita menyiapkan webhooknya.
Pada contoh diatas saya belum menggunakan secret token, teman-teman bisa explor-explor sendiri untuk validasi secret token. – (J 0.2)
Kemudian kita tinggal buat query untuk mengupdate datanya.

* Kodingan diatas hanya potongan perintah dari versi fullnya, karena saya yakin teman-teman sudah paham dari pemanggilan model yang lainnya pada gambar (J 0.2)
Note : Untuk checkout pastikan teman-teman menggunakan waktu expired agar menghindari kode unik yang sama dan tidak ada data yang tidak terpakai dari tabel order.
Pada fungsi jGetDataOrder($data) saya menggunakan operator untuk memvalidasi data yang akan di cari, jadi perintah ini hanya akan mencari data dengan kode unik yang dikirimkan moota dan checkoutnya dilakukan pada hari tersebut. Jadi kita menghindari pembayaran atau kode unik yang sama yang pernah terjadi pada hari sebelumnya.
Jika data sudah ditemukan kita tinggal mengupdate status pembayarannya ke “Lunas” (Misalkan) menggunakan fungsi updatePmoota($jquin) dengan id_order hasil dari jGetDataOrder($data).
Sampai sini kita sudah berhasil membuat pembayaran otomatis menggunakan moota dengan codeigniter dan laravel. Lah mas itu kan hanya untuk codeigniter aja? sebenarnya untuk laravelpun caranya sama saja. Untuk dilaravel teman-teman bisa menggunakan $request->all() untuk menangkap notifikasi yang dikirim oleh moota.
Mas saya ingin coba di local karena belum punya hostingan caranya bagaimana? Teman-teman tinggal buat saja data json ataupun array dan samakan urutannya dari hasil notifikasi yang dikirimkan moota mau sandbox ataupun webhook.
Contoh notifikasi yang dikirimkan moota lewat sandbox.

Contoh penggunaan di localhost.

Note : Teman-teman tidak harus membuat kode unik yang ditampilkan pada gambar (J 0.1) karena setiap aplikasi onlineshop memiliki alur yang berbeda, dari pengalaman saya onlienshopnya memiliki varian produk untuk setiap produk yang dijual dengan harga yang berbeda-beda bahkan harganya ada yang tidak bulat, kemudian client minta kode unik jangan lebih dari 200 tentunya itu hal yang membingunkan untuk saya waktu itu karena jika hanya 200 bisa saja ada kemungkinan kode unik yang sama mengingat hanya rentang 0 – 200 angka random. Lalu bagaimana cara mengatasi hal tersebut?

* Kode unik dan akhir dari grand total berbeda karena harga produk tidak bulat.
Untuk cara yang saya pakai saya menjumlahkan terlebih dahulu dari semua total pembayarannya kemudian bawa 3 digit angka dari belakang untuk kode uniknya. (Untuk membawa 3 digit angka dari belakang bisa menggunakan substr(angka, -3))
Dan untuk validasi where update nantinya gunakan operator untuk membandingkan tanggal transfernya.
Sekian untuk tutorial kali ini dan semoga tutorialnya bermanfaat untuk kita semua, jika teman-teman ada yang kurang paham bisa langsung tanyakan di kolom komentar.
#Moota #Codeigniter #Laravel #Php
Posting Komentar untuk "Tutorial Pembayaran Otomatis Menggunakan Moota dengan Codeigniter dan Laravel"