Halo teman-teman, pada kesempatan kali ini, admin akan membahas mengenai fitur terbaru dari bukaolshop yaitu “Override topup saldo” beserta cara penggunaannya.
Override atau di bahasa indonesia sebagai “ambil alih” menurut kamus di definisikan “(pemilik otoritas) memutuskan melawan atau menolak untuk menerima keputusan sebelumnya, perintah, seseorang, dll.”
Jadi, override dapat diartikan sebagai suatu tindakan mengambil alih suatu sistem, cara atau perintah yang telah ditetapkan sebelumnya.
bukaOlshop memiliki fitur baru yang disebut override topup saldo, fungsi dari fitur ini yaitu mengalihkan halaman topup saldo ke halaman website yang telah anda tentukan sebelumnya.
Anda cukup memasukkan url website anda, dan saat member melakukan topup saldo, jendela khusus akan tampil dan membuka url anda tersebut, menggantikan halaman list rekening biasa.
URL anda akan menerima data POST yang bisa digunakan untuk melakukan proses topup secara mandiri, jika member telah terdeteksi melakukan pembayaran, anda dapat mengisi saldo member menggunakan API yang telah disediakan bukaOlshop.
Perhatikan gambar dibawah ini
Gambar diatas merupakan alur ketika melakukan topup saldo yang dilakukan oleh member. Berikut ini merupakan alur yang terjadi ketika anda melakukan override:
Server bukaOlshop akan mengirimkan data dengan method POST yaitu berupa :
Pada pemograman PHP, anda dapat langsung menerima data-data diatas dengan method POST biasa, contoh :
$_POST[‘status’]
$_POST[‘id_user’]
$_POST[‘token_topup’]
$_POST[‘jumlah_topup’]
$_POST[‘kode_unik’]
$_POST[‘total_topup’]
$_POST[‘secret_callback’]
Setelah anda menerima data diatas, anda dapat menggunakan data tersebut untuk mengenerate invoice pada payment gateway, atau menyimpan ke database internal server anda untuk selanjutnya dipergunakan untuk pengecekan menggunakan layanan cek mutasi. Tata cara penggunaan lengkapnya bisa dilihat dibawah:
Untuk menggunakan fitur ini, anda memerlukan :
Silahkan ke cpanel hosting anda, dan buat file .php baru. Pastikan file tersebut dapat dibuka melalui link website anda.
Setelah file baru dibuat, coba akses file php tersebut
Coba akses file yang anda baru buat, jika berhasil maka akan muncul tampilan kosong seperti diatas karena file masih kosong.
Buka aplikasi bukaOlshop anda, lalu pindah ke tab TOKO, dan pilih menu “API & Callback”

Pindah ke tab “Callback”. Aktifkan opsi Aktifkan Override.
Masukkan URL file PHP anda yang baru dibuat tadi ke kolom yang disediakan.

Jika sudah, tekan tombol “Simpan URL Proses TopUp”. Jika file php berhasil disimpan, maka setting override di sisi bukaOlshop telah selesai dilakukan.
Saatnya melakukan percobaan pada APK olshop anda langsung. Percobaan bisa kita mulai dengan cara melakukan pengecekan apakah PHP telah menerima data yang dikirim oleh server bukaOlshop atau tidak. Berikut cara nya:
Edit file php yang telah dibuat sebelumnya, lakukan print keseluruhan data POST dengan perintah:
<?php
print_r($_POST);
?>
Kode diatas akan menampilkan data POST yang diterima oleh PHP.
Simpan file tersebut.
Buka aplikasi olshop anda, dan coba lakukan topup seperti biasa.
Seharusnya halaman akan langsung dialihkan ke url website yang anda buat barusan. Berikut ini contoh screenshot nya:
Seperti yang terlihat digambar diatas, perintah print_r($_POST); akan menampilkan semua variabel POST yang diterima oleh php anda.
Anda memerlukan nilai dari token_topup untuk melakukan konfirmasi saldo pada API bukaOlshop.
Untuk melakukan konfirmasi penambahan topup saldo, silahkan gunakan endpoint API bukaOlshop di link :
https://bukaolshop.com/api-dokumentasi/#post-konfirmasi-topup-member
Anda cukup memasukkan parameter token_topup dan otomatis saldo member akan bertambah sesuai jumlah topup.
Ketika topup dibatalkan oleh member, maka server bukaOlshop akan mengirim callback pada URL Override topup anda yang memberitahu bahwa topup telah dibatalkan oleh member. Anda bisa menggunakan data ini untuk menandai pada database internal anda bahwa token topup tersebut sudah tidak bisa digunakan lagi.
Berikut ini data yang akan anda terima pada url override topup saldo anda:
$_POST['status'] = "topup_dibatalkan"
$_POST['token_topup']
$_POST['secret_callback']
Berikut contohnya dalam pemograman PHP:
if($_POST['status']=="ok"){
//TopUp baru telah dibuat member
}elseif($_POST['status']=="topup_dibatalkan"){
//TopUp telah dibatalkan oleh member
$token_topup=$_POST['token_topup'];
}
Selalu verifikasi terlebih dulu apakah secret_callback sudah sesuai atau belum untuk keamanan.
Selain hal-hal yang telah disebutkan diatas, override saldo ini memiliki 2 fitur tambahan yaitu:
Secara default, server bukaOlshop akan mendownload kode HTML halaman website anda dan mengirim-nya ke APK anda. Namun, jika anda ingin mengalihkan url kehalaman lain, atau anda ingin webview pada APK membuka url secara langsung, bisa di lakukan dengan cara mereturn halaman sebagai json dengan parameter “url”.
Contoh kode yang dikirim oleh website anda:
{“url”:”https:\/\/xxxxxxx.com\/testing_page.php”}
Anda dapat membuat kode seperti diatas dengan cara:
<?php
$redirect_halaman = array("url" => "https://xxxxxx.com/testing_page.php");
echo json_encode($redirect_halaman);
?>
Jika APK olshop menerima script json diatas, maka nilai dari parameter “url” akan dibuka langsung oleh webview yang dimiliki APK olshop. Fitur ini berguna jika anda ingin langsung mengarahkan ke halaman milik payment gateway.
Secara default, jika anda menekan tombol kembali, maka APK akan mengembalikan kehalaman sebelumnya jika memeber telah berpindah-pindah halaman dengan menggunakan link.
Anda dapat mensetting halaman akhir yang mana jika tombol kembali ditekan, maka akan langsung menutup halaman topup tanpa kembali ke halaman sebelumnya. Caranya cukup mudah, anda cukup perlu menambahkan parameter bukaolshop_finish_page=true pada akhir url anda sebagai parameter GET.
Contoh link:
https://bukaolshop.my.id/finish.php?bukaolshop_finish_page=true
Atau jika anda telah memiliki parameter GET lainnya, bisa ditambah seperti ini:
https://bukaolshop.my.id/finish.php?data_lain=blablabla&data_lain_lain=blablablabla&bukaolshop_finish_page=true
Jika pada link yang dibuka terdapat parameter bukaolshop_finish_page=true maka jika anda menekan tombol back, halaman webview akan otomatis tertutup.
Jika anda ingin membuat opsi agar member bisa melakukan konfirmasi manual menggunakan halaman bawaan APK, anda bisa memasang link berikut:
Format link:
https://link website olshop/?konfirmasi_manual_dari_override=true
contoh
https://olshopgue.bukaolshop.site/?konfirmasi_manual_dari_override=true
Jika anda ingin menambahkan tombol untuk membatalkan topup melalui html, anda bisa memasang link berikut:
Format link:
https://link website olshop/?batalkan_topup=true
contoh
https://olshopgue.bukaolshop.site/?batalkan_topup=true