Dokumentasi Fitur Override TopUp Saldo

Halo teman-teman, pada kesempatan kali ini, admin akan membahas mengenai fitur terbaru dari bukaolshop yaitu “Override topup saldo” beserta cara penggunaannya.

Apa itu Override?

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.

Apa itu Override topup saldo?

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.

Alur Kerja override topup saldo

Perhatikan gambar dibawah ini

Alur default yang terjadi ketika topup

Gambar diatas merupakan alur ketika melakukan topup saldo yang dilakukan oleh member. Berikut ini merupakan alur yang terjadi ketika anda melakukan override:

Alur override topup saldo

Data apa yang akan diberikan ke URL?

Server bukaOlshop akan mengirimkan data dengan method POST yaitu berupa :

  1. status : Status apakah semua data lengkap atau tidak, jika tidak ada kesalahan pada akun anda, maka status ini akan berisi nilai “ok”.
  2. id_user : Id user yang melakukan request topup
  3. token_topup : Kode berupa angka unik yang akan anda gunakan nanti untuk mengkonfirmasi saldo agar masuk ke akun member. token_topup ini juga bisa anda gunakan untuk mengidentifikasi tiap request topup yang dilakukan oleh member.
  4. jumlah_topup : Jumlah topup yang dilakukan oleh member
  5. kode_unik : kode unik yang akan ditambahkan ke jumlah_topup untuk memudahkan identifikasi transaksi
  6. total_topup : Penjumlahan antara jumlah_topup dan kode_unik, anda bisa menggunakan nilai ini langsung atau melakukan perhitungan sendiri di server anda.
  7. secret_callback : Kode rahasia yang dapat anda temukan di tab “Callback” di menu “API & Callback”. Anda harus melakukan pengecekan bahwa kode yang anda terima ini apakah sudah cocok atau tidak.

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:

Cara menggunakan fitur override topup

Untuk menggunakan fitur ini, anda memerlukan :

1. Buat file .php pada hosting anda

Silahkan ke cpanel hosting anda, dan buat file .php baru. Pastikan file tersebut dapat dibuka melalui link website anda.

Buat file php baru di hosting anda

Setelah file baru dibuat, coba akses file php tersebut

File berhasil diakses

Coba akses file yang anda baru buat, jika berhasil maka akan muncul tampilan kosong seperti diatas karena file masih kosong.

2. Masukkan URL ke aplikasi bukaOlshop

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.

3. Testing di APK olshop anda

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:

Contoh screenshot data yang diterima URL

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.

4. Cara mengkonfirmasi penambahan topup

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.

5. Callback ketika topup dibatalkan

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.

Fitur tambahan

Selain hal-hal yang telah disebutkan diatas, override saldo ini memiliki 2 fitur tambahan yaitu:

1. Redirect page

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.

2. Setting finish page

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.