
Payment Gateway merupakan cara untuk melakukan pembayaran secara otomatis pada transaksi jual beli yang sifatnya online dengan melakukan transfer pada rekening tertentu. Salah satu layanan payment gateway yang dapat kita gunakan adalah Xendit.
Xendit merupakan payment gateway yang dapat kita terapkan pada media online seperti website atau pun yang berbasis aplikasi mobile dengan fitur e-commerce / transaksi jual beli yang memanfaatkan layanan data API yang diberikan oleh pihak Xendit.
Pada dasarnya penerapan payment gateway Xendit ini dapat kita terapkan ke beberapa framework ataupun bahasa pemgrograman pemgembangan web pada umumnya, hanya saja kali ini saya akan memberikan contoh penerapannya pada framework PHP Laravel.
Dan perlu diperhatikan contoh ini terbatas pada mode test, namun jika sudah paham penerapan pada mode test ini, maka 98% juga bisa mengimplementasikan pada mode real penggunaan untuk website.
Langkah Pertama
Lakukan Installasi Laravel dengan menggunakan composer untuk mendapatkan update laravel terbaru, juga buat database dan konfigurasi file .env (asumsi, jika teman-teman sudah akan membuat payment gateway tentu sudah paham penyelesaian langkah pertama ini. Jika belum bisa melihat tutorialnya di dokumentasi laravel)
Langkah Kedua
Registrasi akun pada Website Xendit, selesaikan proses pendaftaran sampai ke tahap verifikasi email, disana terdapat dokumentasi lengkap penjelasan cara kerja layanan Xendit dan dokumentasi penggunaan.
Untuk penggunaan API pada realnya nanti teman-teman perlu membuat/mengenerate API Key Private pada Website akun Xendit, namun untuk mode Test ini dapat menggunakan API Key Private default dari Xendit. Baca dokumentasi API reference.
Langkah Ketiga, dst…
Lakukan installasi package Xendit, untuk mendapatkan prosedur Curl atau API yang disediakan dengan menggunakan composer.
composer require xendit/xendit-php-clients
Jika sudah cek folder vendor, maka akan terdapat folder xendit disana dan silahkan buka file XenditPHPClient.php

Nah disana terdapat beberapa fungsi/function yang dapat digunakan pada controller Laravel, semisal creatInvoice,getVirtualAccountBanks, createCallbackVirtualAccount nah untuk lebih mudahnya bisa langsung copy paste fungsinya dan letakan di Controller.
Contoh menggunakan function getBalance
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; class OrderController extends Controller { /** * Handle the incoming request. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ function __construct () { $options['secret_api_key']='xnd_development_P4qDfOss0OCpl8RtKrROHjaQYNCk9dN5lSfk+R1l9Wbe+rSiCwZ3jw=='; $this->server_domain = 'https://api.xendit.co'; $this->secret_api_key = $options['secret_api_key']; } function getBalance () { $curl = curl_init(); $headers = array(); $headers[] = 'Content-Type: application/json'; $end_point = $this->server_domain.'/balance'; curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); curl_setopt($curl, CURLOPT_USERPWD, $this->secret_api_key.":"); curl_setopt($curl, CURLOPT_URL, $end_point); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($curl); curl_close($curl); $responseObject = json_decode($response, true); return $responseObject; } }
Kemudian, atur url untuk memanggilnya pada folder route->web.php
Route::get('/', function () { return view('welcome'); }); Route::get('/api','[email protected]');
Nah jika sudah, dan berhasil makan tampilan data akan seperti berikut ini.

berikutnya tinggal kita gunakan saja data-data json yang berhasil kita panggil, misal menjadi data id_transaksi, nama_merchant, totalbayar, bataspembayaraan dan yang lainnya sesuai data API yang diberikan oleh Xendit.
Nah berikut merupakan contoh penerapan secara lengkap yang sudah saya lakukan, Mulai dari
- Form Order
- Konfirmasi Data
- Invoice Pembayaran
- Tatacara Pembayaran
- Transaksi Berhasil
Semua itu dalam mode test data, jadi dapat dilakukan secara gratis untuk coba-coba dan lebih memahami cara kerja dari payment gateway Xendit.
Tentu tutorial belum lengkap dan jelas karena saya buatnya juga sebatas yang ada dalam pikiran saya dan tidak memaksimalkan konten, intinya bisa dipahami, dan jika ada yang perlu ditanyakan langsung saja di kolom komentar ya… Terima kasih.
Permisi , Saya butuh source codenya untuk bisa saya pahami lebih dalam cara kerja xendit. Terima kasih.
bolleh, malam ini atau besok saya update article untuk link source codenya
Permisi juga, saya coba di atas getBalance nya, juga tidak keluar apa-apa. Kalau bisa, saya butuh bimbingan lewat pm). Terima kasih dan maaf merepotkan
Silahkan ada kontak saya di page aboutme
Udah install xendit tapi waktu pake, codenya dicopas,,, bukanya pake yang sudah ada..
iya bener bisa juga bgitu, itu supaya lebih mudah saja dipahami secara penggunaan langsung di controller
mas ada source code nya
makasih banget mas udah share tutorialnya,
source code untuk tutorial ini udah ada belum ya mas?? saya cari diartikel ini belum nemu soalnya
Boleh pm mas saya belum smpet upload
siapp,
untuk liat kontaknya dimana ya mas?? liat di about me ngga ada emailnya soalnya,
pm Ig atau twitter boleh
Ada source code gan, saya mau mempelajari lebih lanjut. Susah soalnya nyari tutorialnya gan hehe
boleh minta source codenya gan?
bagi source dong ka :((