Beranda
Selamat datang di OY! Indonesia. Kami bertujuan untuk menjadi perusahaan money movement terdepan yang selalu menempatkan partner kami sebagai prioritas utama. Berbekal berbagai produk, seperti Terima Uang dan Kirim Uang, kami siap membantu pertumbuhan bisnis Anda melalui solusi pembayaran yang cepat dan aman.
Temukan Manfaat OY! Sesuai Bisnis Anda
Sesuaikan Produk dengan Kebutuhan Bisnis Anda
Kirim Uang - Multitransfer - API Kirim Uang - Transfer Internasional - Pembayaran Tagihan - Pengembalian Dana
Terima Uang - Link Pembayaran - Virtual Account Aggregator - E-Wallet Aggregator - Routing Pembayaran
Proses Pendaftaran
Proses pendaftaran dimulai dengan membuat akun secara gratis. Anda dapat mencoba produk dan fitur kami di mode demo, di mana Anda dapat melakukan transaksi dummy (tanpa menggunakan uang sungguhan).
Setelah berhasil membuat akun, jika Anda tertarik untuk melanjutkan menggunakan OY! untuk bisnis Anda, Anda diharuskan untuk memverifikasi bisnis Anda dengan mengirimkan pesyaratan dokumen yang diperlukan.
Cara Membuat Akun
Untuk membuat akun, ikuti langkah-langkah berikut:
- Daftar via website OY!: Untuk membuat akun, silakan daftar di sini, dan lengkapi formulir dengan semua informasi yang diperlukan.
Harap perhatikan bahwa username Anda tidak dapat diubah setelah formulir pendaftaran dikirimkan.
- Aktivasi akun Anda: Setelah formulir pendaftaran dikirimkan, sebuah link aktivasi akan dikirimkan ke email yang terdaftar. Setelah Anda berhasil masuk, Anda dapat mencoba produk kami di mode demo, di mana Anda dapat melakukan transaksi tanpa menggunakan uang sungguhan. Jika Anda ingin bertransaksi di mode production atau mengintegrasikan platform Anda dengan OY!, silakan baca langkah-langkah di bawah ini untuk memverifikasi akun Anda.
Setelah Anda berhasil masuk, Anda akan dapat mencoba produk kami di mode demo, di mana Anda dapat melakukan transaksi tanpa menggunakan uang sungguhan. Jika Anda siap melanjutkan, lihat bagian di bawah untuk informasi lebih lanjut tentang langkah-langkah untuk meng-upgrade akun Anda.
Verifikasi Bisnis Anda
Silakan ikuti langkah-langkah berikut untuk memverifikasi bisnis Anda:
- Lakukan permintaan verifikasi bisnis: Untuk mengakses semua produk OY!, silakan pilih "Verifikasi Bisnis" pada menu di sisi kiri dashboard OY! di mode Production dan lengkapi semua informasi yang diperlukan.
- Untuk tipe bisnis individual: Unggah KTP Anda untuk verifikasi identitas. Silakan ambil foto KTP dan foto selfie sambil memegang KTP. Sistem akan secara otomatis membaca informasi pada foto KTP Anda dan formulir otomatis terisi. Pastikan semua informasi yang tertera sesuai dengan KTP Anda.
Untuk tipe bisnis individual:
- Untuk tipe bisnis perusahaan: Unggah persyaratan dokumen. Kami akan meminta persyaratan dokumen yang berbeda untuk berbagai jenis entitas perusahaan. Setelah memilih jenis perusahaan Anda, kami akan memberitahu dokumen apa yang perlu Anda kirimkan.
Silakan unggah dokumen yang diperlukan sesuai dengan tipe bisnis Anda. Dokumen yang diunggah harus dalam format PDF dan memiliki ukuran per dokumen kurang dari 10 MB.
Berikut adalah contoh dokumen yang harus diunggah perusahaan tipe bisnis penyelenggara jasa sistem pembayaran (PJSP)
Berikut adalah contoh dokumen yang harus diunggah perusahaan tipe bisnis non-PJSP
- Isi Formulir Informasi Bisnis: Berikan informasi lebih lanjut tentang bisnis Anda dengan mengisi formulir informasi. Harap perhatikan bahwa Anda tidak akan dapat mengubah informasi bisnis Anda ini dalam status Butuh Revisi.
- Masukkan Nomor Rekening Bank Anda: Tambahkan Informasi Rekening Bank sebagai rekening tujuan untuk menarik uang dari Platform OY! Business.
Catatan: informasi rekening bank penerima tidak dapat diubah melalui dashboard OY! setelah permintaan verifikasi bisnis Anda disetujui karena alasan keamanan. Silakan hubungi kami di partner@oyindonesia.com untuk mengubah informasi rekening bank penerima.
- Kirimkan Permintaan Verifikasi Anda: Klik "Kirim", dan status "Menunggu Persetujuan" akan muncul di halaman utama, menandakan bahwa permintaan Anda telah diajukan.
Proses ini akan membutuhkan waktu sekitar 1-2 hari kerja. Jika status permintaan Anda adalah "Butuh Revisi" atau "Ditolak", silakan lanjutkan membaca. Jika tidak, Anda sudah siap untuk melanjutkan.
Status: Butuh Revisi
Setelah mengkaji permintaan verifikasi, tim kami mungkin meminta dokumen tambahan. Silakan ikuti langkah-langkah di bawah ini:
Baca laporan kami: Laporan hasil verifikasi akan dikirimkan ke email Anda mengenai informasi dan dokumen mana saja yang perlu direvisi atau ditambahkan.
Isi ulang formulir: Kami akan menunjukkan informasi dan dokumen mana yang perlu direvisi. Ketika mengajukan permintaan verifikasi bisnis lagi, harap kirimkan kembali semua pesyaratan dokumen Anda. Dokumen hanya diterima dalam format PDF dan harus berukuran kurang dari 10 MB.
Ajukan permintaan Anda: Klik "Kirim", dan status baru "Menunggu Persetujuan" akan muncul di halaman ini, menandakan bahwa permintaan Anda telah diajukan.
Harap perhatikan bahwa setelah 3 kali atau lebih proses revisi, Anda akan memerlukan waktu tunggu yang lebih lama untuk mengajukan permintaan verifikasi berikutnya. Kami akan memberi tahu Anda melalui email atau dashboard kapan Anda dapat melakukan pengajuan berikutnya.
Untuk pertanyaan lebih lanjut, silakan hubungi kami di partner@oyindonesia.com, tim kami akan menghubungi Anda.
Status: Ditolak
Untuk pertanyaan lebih lanjut mengenai status ini, silakan hubungi kami di partner@oyindonesia.com, tim kami akan menghubungi Anda.
Persyaratan Dokumen
Berikut adalah daftar persyaratan dokumen yang dibutuhkan untuk verifikasi bisnis berdasarkan tipe bisnis Anda:
Akun Individual
- Kartu Tanda Penduduk (KTP)
Akun Perusahaan Penyelenggara Jasa Sistem Pembayaran (PJSP)
- Nomor Pokok Wajib Pajak (NPWP) Perusahaan
- Surat Izin Usaha Perdagangan (SIUP)/ Tanda Daftar Perusahaan (TDP) / Nomor Induk Berusaha (NIB)
- SK Kemenhukam
- Akta Perubahan Terakhir Terlegalisir
- Akta Pendirian Perseroan Teregalisir
- KTP Direktur
- Struktur Pemegang Saham
- Lisensi BI/OJK
- Pengesahan Kementerian Terkait
Akun Perusahaan Non-PJSP
- Nomor Pokok Wajib Pajak (NPWP) Perusahaan
- Surat Izin Usaha Perdagangan (SIUP)/ Tanda Daftar Perusahaan (TDP) / Nomor Induk Berusaha (NIB)
- SK Kemenhukam
- Akta Perubahan Terakhir Terlegalisir
- Akta Pendirian Perseroan Teregalisir
- KTP Direktur
- Struktur Pemegang Saham
- Pengesahan Kementerian Terkait
Mulai Bertransaksi
Sebelum bertransaksi atau melakukan integrasi menggunakan fitur OY!, pastikan Anda sudah melakukan hal-hal berikut:
- Buat akun OY! Indonesia
- Verifikasi bisnis Anda dengan mengunggah persyaratan dokumen
- Tunggu hingga akun Anda terverifikasi
- (Opsional) Jika Anda ingin menggunakan produk atau fitur API kami, silakan kirimkan IP dan URL callback (untuk production dan demo) ke perwakilan tim kami, atau ke partner@oyindonesia.com
- (Opsional) Jika Anda ingin menggunakan produk atau fitur API kami, Anda perlu meminta API Key untuk production dan demo ke perwakilan tim kami. Anda tidak diwajibkan untuk verifikasi bisnis jika ingin meminta API Key untuk demo, namun jika Anda ingin meminta API Key untuk production, Anda perlu memverifikasi bisnis Anda.
- (Opsional) Lakukan pengujian. Kami sarankan Anda untuk melakukan pengujian secara menyeluruh sebelum memulai bertransaksi. Kami telah menyediakan Mode demo di dashboard kami, di mana Anda dapat menguji transaksi untuk memahami bagaimana cara menggunakan produk kami tanpa menggunakan uang sungguhan. Jika Anda adalah seorang developer, Anda juga dapat menguji integrasi dengan platform Anda.
- (Opsional) Jika bisnis atau perusahaan Anda ingin menambah pengguna atau sub-akun, Anda dapat menggunakan fitur “Sub-Entity”
Selamat! Anda sudah dapat menikmati kemudahan bertransaksi menggunakan OY! Indonesia.
Tutorial Dashboard OY!
Masuk ke Dashboard
Untuk masuk ke dashboard OY!, lakukan langkah berikut:
- Akses halaman login di https://desktop-business.oyindonesia.com/login.
- Masukkan username dan password Anda.
- Anda akan diarahkan untuk memasukkan kode OTP. Silakan cek inbox email yang terdaftar untuk mendapatkan kode OTP, lalu masukkan di kolom yang tersedia.
Jika Anda mencentang opsi “Ingat perangkat ini”, Anda tidak perlu memasukkan OTP saat Anda masuk kembali. Oleh karena itu, langkah ketiga hanya diperlukan saat Anda masuk untuk pertama kali setelah Anda membuat akun.
Analitik Transaksi
Fitur analitik pada dashboard OY! memberikan Anda informasi tentang transaksi pendapatan dan pengeluaran yang terjadi di OY!. Dengan fitur ini, Anda bisa tahu berapa banyak uang yang sudah Anda keluarkan dan berapa yang sudah Anda dapatkan dalam jangka waktu tertentu. Anda bisa melihat rincian transaksi Anda secara harian, mingguan, atau bulanan. Anda juga bebas memilih periode waktu yang Anda inginkan. Dari sini, Anda akan mendapatkan gambaran tentang bagaimana tren transaksi bisnis Anda bergerak. Dengan demikian, fitur ini dapat membantu Anda dalam mengambil keputusan bisnis baru guna mengembangkan bisnis Anda.
- Anda bisa pilih seberapa rinci dan dalam periode waktu berapa Anda ingin melihat informasi transaksi Anda.
- Indikator kenaikan dan penurunan akan membandingkan bagaimana transaksi Anda pada periode yang Anda pilih dengan periode sebelumnya.
- Jika Anda arahkan kursor ke suatu titik garis, jumlah volume transaksi akan muncul.
Bagi Anda yang menggunakan produk Virtual Account, Link Pembayaran, dan E-wallet, Anda bisa melihat perbandingan antar metode pembayaran yang digunakan oleh pelanggan Anda. Informasi ini bisa memberikan wawasan penting bagi Anda agar tahu metode pembayaran mana yang paling banyak digunakan oleh pelanggan Anda.
Manajemen Akun
Jika Anda memiliki peran Super Admin, Anda dapat menambahkan akun untuk anggota tim Anda dan menentukan peran untuk mereka.
Berikut adalah langkah-langkah berikut untuk menambahkan pengguna baru:
- Masuk ke dashboard OY!
- Klik menu Akun, kemudian klik “Manajemen Pengguna”
- Klik tombol “Tambah Pengguna” di sebelah kanan atas
- Isi nama lengkap, username, email, nomor telepon (opsional), dan kata sandi
- Pilih peran yang ingin Anda berikan kepada anggota tim Anda. Anda dapat memilih antara Administrator, Approver, dan Maker
Selain menambahkan pengguna baru, Super Admin juga dapat mengubah informaasi dan menghapus pengguna yang sudah ada dengan mengklik tombol ubah/hapus pada tabel Daftar Pengguna.
Berikut adalah daftar kontrol akses di dashboard OY! berdasarkan peran:
Akses | Superadmin | Admin | Approver | Maker |
---|---|---|---|---|
Verifikasi Akun | Bisa mengajukan | Bisa mengajukan | - | - |
Analitik | Bisa melihat | Bisa melihat | Bisa melihat | Bisa melihat |
Laporan Transaksi | Bisa melihat dan mengunduh | Bisa melihat dan mengunduh | Bisa melihat dan mengunduh | Bisa melihat dan mengunduh |
Laporan Penyelesaian | Bisa melihat dan mengunduh | Bisa melihat dan mengunduh | Bisa melihat dan mengunduh | Bisa melihat dan mengunduh |
Isi Saldo | Bisa mengisi saldo | Bisa mengisi saldo | Bisa mengisi saldo | Bisa mengisi saldo |
Tarik Saldo | Bisa menarik saldo | Bisa menarik saldo | Bisa menarik saldo | Bisa menarik saldo |
Tambah Pengguna | Bisa menambahkan | Bisa menambahkan | - | - |
Profil Pengguna | Bisa melihat dan mengedit | Bisa melihat dan mengedit | Bisa melihat dan mengedit | Bisa melihat dan mengedit |
Profil Bisnis | Bisa melihat dan mengedit | Bisa melihat dan mengedit | Bisa melihat dan mengedit | Bisa melihat dan mengedit |
Authenticator OTP | Punya akses | Punya akses | Punya akses | Punya akses |
Tambah Metode Pembayaran | Bisa menambahkan | Bisa menambahkan | - | - |
Laporan Otomatis | Bisa mengatur | Bisa mengatur | - | - |
Tarik Saldo Otomatis | Bisa mengatur | Bisa mengatur | - | - |
Multi Approval | Bisa mengatur | Bisa mengatur | - | - |
Pengaturan Notifikasi | Bisa mengatur | Bisa mengatur | - | - |
Opsi Developer | Bisa mengatur | Bisa mengatur | - | - |
Tambah Kategori Transaksi | Bisa menambahkan | Bisa menambahkan | - | - |
Pengaturan Bukti Transaksi | Bisa mengatur | Bisa mengatur | Bisa mengatur | Bisa mengatur |
Multi Entity Managementy
Akses | Superadmin | Admin | Approver | Maker |
---|---|---|---|---|
Membuat Sub-entit | Bisa membuat | Bisa membuat | - | - |
Isi ulang saldo Sub-entity | Bisa mengisi saldo | Bisa mengisi saldo | - | - |
Memutus Sub-entity | Bisa memutus | Bisa memutus | - | - |
Produk Multitransfer
Akses | Superadmin | Admin | Approver | Maker |
---|---|---|---|---|
Buat transaksi | Bisa membuat | Bisa membuat | - | Bisa membuat |
Menyetujui transaksi | Bisa menyetujui | Bisa menyetujui | Bisa menyetujui | - |
Melihat dan mengunduh laporan transaksi | Bisa melihat dan mengunduh | Bisa melihat dan mengunduh | Bisa melihat dan mengunduh | Bisa melihat dan mengunduh |
Produk Pengembalian Dana
Akses | Superadmin | Admin | Approver | Maker |
---|---|---|---|---|
Buat pengembalian dana | Bisa membuat | Bisa membuat | - | Bisa membuat |
Menyetujui pengembalian dana | Bisa menyetujui | Bisa menyetujui | Bisa menyetujui | - |
Melihat dan mengunduh laporan transaksi | Bisa melihat dan mengunduh | Bisa melihat dan mengunduh | Bisa melihat dan mengunduh | Bisa melihat dan mengunduh |
Produk Invoice Pembelian
Akses | Superadmin | Admin | Approver | Maker |
---|---|---|---|---|
Buat invoice | Bisa membuat | Bisa membuat | - | Bisa membuat |
Menyetujui invoice | Bisa menyetujui | Bisa menyetujui | Bisa menyetujui | - |
Melihat dan mengunduh laporan invoice | Bisa melihat dan mengunduh | Bisa melihat dan mengunduh | Bisa melihat dan mengunduh | Bisa melihat dan mengunduh |
Produk Link Pembayaran
Akses | Superadmin | Admin | Approver | Maker |
---|---|---|---|---|
Membuat Link Pembayaran | Bisa membuat | Bisa membuat | Bisa membuat | Bisa membuat |
Melihat dan mengunduh laporan link pembayaran | Bisa melihat dan mengunduh | Bisa melihat dan mengunduh | Bisa melihat dan mengunduh | Bisa melihat dan mengunduh |
Produk Virtual Account
Akses | Superadmin | Admin | Approver | Maker |
---|---|---|---|---|
Membuat VA via dashboard | Bisa membuat | Bisa membuat | Bisa membuat | Bisa membuat |
Melihat dan mengunduh laporan VA | Bisa melihat dan mengunduh | Bisa melihat dan mengunduh | Bisa melihat dan mengunduh | Bisa melihat dan mengunduh |
E-Wallet Aggregator
Akses | Superadmin | Admin | Approver | Maker |
---|---|---|---|---|
Melihat dan mengunduh laporan E-Wallet | Bisa melihat dan mengunduh | Bisa melihat dan mengunduh | Bisa melihat dan mengunduh | Bisa melihat dan mengunduh |
Produk Invoice Penjualan
Akses | Superadmin | Admin | Approver | Maker |
---|---|---|---|---|
Buat invoice | Bisa membuat | Bisa membuat | Bisa membuat | Bisa membuat |
Melihat dan mengunduh laporan invoice | Bisa melihat dan mengunduh | Bisa melihat dan mengunduh | Bisa melihat dan mengunduh | Bisa melihat dan mengunduh |
Inquiry API
Akses | Superadmin | Admin | Approver | Maker |
---|---|---|---|---|
Melihat dan mengunduh laporan Inquiry API | Bisa melihat dan mengunduh | Bisa melihat dan mengunduh | Bisa melihat dan mengunduh | Bisa melihat dan mengunduh |
API Transaksi Data
Akses | Superadmin | Admin | Approver | Maker |
---|---|---|---|---|
Melihat dan mengunduh laporan API Transaksi Data | Bisa melihat dan mengunduh | Bisa melihat dan mengunduh | Bisa melihat dan mengunduh | Bisa melihat dan mengunduh |
2-Factor Authentication
Untuk meningkatkan keamanan akun Anda, Anda bisa mengaktifkan 2-Factor Authentication. Saat ini, OY menyediakan metode keamanan ini melalui aplikasi authenticator. Berikut adalah langkah-langkahnya:
- Masuk ke dashboard OY!
- Pilih menu Akun -> Authenticator OTP
- Unduh aplikasi authenticator di handphone Anda (dari Play Store/App Store) atau PC (Anda bisa unduh ekstensi untuk brower Anda). Contoh aplikasi Authenticator: Google Authenticator, Microsoft Authenticator, Authy
- Scan QR code yang terlihat di dahsboard dengan aplikasi Authenticator Anda atau masukkan kunci pengaturan yang ada di sampingnya ke Aplikasi Authenticator Anda
- Ketik 6 digit kode yang muncul di aplikasi Authenticator Anda ke dalam kolom “Authenticator OTP”
Mengisi Saldo OY!
Berikut adalah langkah-langkah untuk mengisi ulang saldo OY! Anda melalui dashboard:
- Masuk ke dashboard OY!
- Pergi ke menu “Laporan Transaksi” lalu pilih “Laporan Transaksi Rekening”
- Klik tombol “Bagaimana Cara Isi Ulang”. Ada 2 cara untuk menambah saldo akun OY! Anda:
Isi Ulang via Virtual Account
Anda bisa melihat nomor VA di tab 'Virtual Account' setelah Anda mengklik tombol 'Bagaimana Cara Isi Ulang'. Jumlah saldo yang Anda isi akan otomatis masuk ke akun Anda secara real-time tanpa perlu mengirim konfirmasi manual ke OY.
Isi Ulang Manual via Transfer Bank
Selain menggunakan Virtual Account, Anda juga dapat mentransfer ke rekening giro OY. Jika Anda memilih untuk isi ulang saldo melalui metode ini, Anda perlu melakukan konfirmasi manual agar uang Anda dapat diteruskan ke akun Anda.
Setelah Anda menyelesaikan transfer dana ke OY! Indonesia, Anda perlu melakukan langkah-langkah berikut:
- Klik tab “Transfer Bank Manual” pada menu Isi Ulang Saldo
- Isi kolom informasi berikut:
Field Name | Description |
---|---|
Amount | The amount that you have topped up (as per written in the Bukti Transfer) |
Beneficiary Bank | A dropdown where you can choose to which bank you have transferred the top up amount to |
Transfer Receipt | Click the upload button to upload the Bukti Transfer obtained after you have successfully performed the transfer. Can be in PDF, PNG, or JPEG format, with max. file size 10 MB |
Transfer Receipt Type | Transfer Receipt with Reference Number --> If your uploaded transfer receipt displays the reference number, you need to choose this option. Transfer Receipt without Reference Number --> If your uploaded transfer receipt doesn't display the reference number, you need to choose this option and fill in the date & timestamp according to your Bukti Transfer. |
- Klik “Kirim Sekarang”
- Anda akan menerima email menyatakan bahwa isi ulang saldo Anda sedang diproses.
- Terakhir, Anda akan menerima email konfirmasi yang menyatakan bahwa isi ulang saldo Anda telah berhasil atau gagal.
Isi Ulang via Transfer Instan BCA
Sekarang, kami memberi kemudahan metode isi ulang untuk para nasabah BCA. Transfer instan BCA memungkinkan Anda untuk mengisi ulang saldo secara instan tanpa perlu mengonfirmasi bukti transfer secara manual. Sistem kami akan otomatis menambahkan saldo Anda saat Anda mengisi ulang.
Untuk melakukan isi ulang via transfer instan BCA, silakan ikuti langkah-langkah berikut:
- Klik tab “Transfer Instan BCA” pada menu Isi Ulang Saldo.
- Masukkan nominal saldo yang ingin Anda isi, dengan pengisian minimal Rp10.000.
- OY! akan menampilkan jumlah yang harus Anda transfer, ditambah tiga digit kode unik di belakang nominal transfer. Pastikan Anda transfer sesuai dengan jumlah yang tertera.
- Setelah transaksi berhasil, saldo yang tertera pada Subtotal akan masuk ke akun OY! Anda. Catatan: Jam operasional untuk metode ini adalah setiap hari, mulai dari pukul 03.01 pagi hingga pukul 08.30 malam. Di luar jam tersebut, Anda tidak bisa menggunakan metode ini.
Tarik Saldo ke Rekening
Anda dapat menarik saldo OY! ke rekening Anda dengan mengikuti langkah-langkah berikut:
- Masuk ke dashboard OY!
- Pergi ke menu “Laporan Transaksi” lalu pilih “Laporan Transaksi Rekening”
- Klik “Tarik Dana”
- Masukkan jumlah yang ingin Anda tarik
- Pilih jenis penarikan Anda. Anda dapat memilih salah satu dari opsi berikut:
- Instan dengan biaya admin -> Penarikan Anda akan diproses dan tiba di bank penerima Anda secara real-time, tetapi Anda akan dikenakan biaya admin. Jika jumlah yang akan ditarik <= Rp 50 juta dan bank penerima adalah BCA, BRI, BNI, Mandiri, Permata, DBS, dan CIMB Niaga.
- Manual -> Penarikan Anda akan diproses dalam waktu hingga 2 hari kerja. Jika jumlah yang akan ditarik > Rp 50 juta ATAU bank penerima bukanlah BCA, BRI, BNI, Mandiri, Permata, DBS, atau CIMB Niaga, Anda harus memilih opsi ini. Anda TIDAK akan dikenakan biaya admin jika Anda memilih opsi ini. |
Laporan Transaksi - Laporan Penyelesaian
Laporan Penyelesaian adalah daftar transaksi yang menggunakan metode pembayaran dengan waktu proses non real-time atau tidak langsung. Misalnya, untuk metode pembayaran "VA BCA" butuh waktu 2 hari kerja sejak transaksi dilakukan agar uangnya masuk. Maka setiap kali pelanggan Anda melakukan transaksi dengan VA BCA, transaksi tersebut akan tercatat dalam Laporan Penyelesaian.
Untuk mengakses laporan penyelesaian, ikuti langkah-langkah berikut: - Masuk ke dashboard OY! - Pilih menu Laporan Transaksi, lalu klik Laporan Penyelesaian
Laporan Penyelesaian berisi informasi sebagai berikut:
Total nominal untuk diselesaikan hari ini: Jumlah total yang dijadwalkan untuk diselesaikan ke saldo akun Anda hari ini.
Total nominal penyelesaian tertunda: Jumlah total yang belum diselesaikan ke saldo akun Anda. (status penyelesaian masih belum SUKSES)
Berikut adalah informasi di dalam tabel Daftar Transaksi Penyelesaian:
Field Name | Description | Example |
---|---|---|
Transaction Date | The date on which your customer performs the transaction | 11 May 2021 |
Transaction Time | The time at which your customer performs the transaction | 17:44:09 |
Transaction ID | A unique transaction ID given by OY | d4b26687-34b9-43d3-9d08-af440bcbaca7 |
Partner Transaction ID | A unique transaction ID that is assigned by you for a given transaction | TXID_001 |
Product | The product associated with a given transaction. This will be filled with VIRTUAL_ACCOUNT if the transaction comes from Virtual Account Aggregator product, or PAYMENT_CHECKOUT if the transaction comes from Payment Link product | VIRTUAL_ACCOUNT |
Payment Method | The payment method associated with a given transaction. Possible values: VA [Bank Name], CARDS, QRIS, EWALLET SHOPEEPAY | VA BCA |
Transfer Amount | The transaction amount (before getting deducted with admin fee | +Rp 10.000 |
Admin Fee | The admin fee associated with a given transaction | -Rp 1.000 |
Total Amount | The transaction amount that has been deducted with admin fee | +9,000 |
Settlement Date | The scheduled settlement date for a given transaction | 12 May 2021 |
Settlement Time | The scheduled settlement timestamp for a given transaction | 15:00:00 |
Settlement Status | The settlement status for a given transaction. Possible values: WAITING (if the amount is not yet settled to your account statement balance), SUCCESS (if the amount has been settled to your account statement balance). | SUCCESS |
Jika status penyelesaian suatu transaksi masih MENUNGGU, transaksi tersebut belum muncul di tabel laporan rekening Anda, dan jumlahnya juga belum akan ditambahkan dalam saldo Anda.
Jika status penyelesaian suatu transaksi sudah SUKSES, transaksi tersebut akan muncul di dalam tabel laporan rekening Anda, dan jumlahnya akan ditambahkan dalam saldo Anda.
Callback untuk Transaksi Tertunda
Jika Anda mempunyai transaksi dengan metode pembayaran yang diselesaikan H+>0, Anda akan menerima dua callback dengan rincian sebagai berikut:
Callback Pertama -> Akan dikirim setelah pelanggan Anda berhasil melakukan transaksi. Misalnya, jika pelanggan Anda melakukan transaksi pada 11 Mei 2021 pukul 14.00, saat itu juga kami akan mengirimkan callback pertama kepada Anda. Dalam callback pertama, status penyelesaian akan menjadi MENUNGGU (karena belum masuk ke saldo Anda).
Callback Kedua -> Akan dikirim setelah status penyelesaian berubah dari MENUNGGU menjadi SUKSES. Misalnya, jika status penyelesaian berubah menjadi SUKSES pada 12 Mei 2021 pukul 15.00, saat itu juga kami akan mengirimkan callback kedua kepada Anda. Dalam callback kedua, status penyelesaian akan menjadi SUKSES.
Unduh dan Filter Laporan Penyelesaian
Tombol Ekspor: Anda dapat mengunduh laporan penyelesaian dalam format CSV, PDF, dan XLSX.
Filter: Anda dapat mem-filter laporan penyelesaian berdasarkan rentang tanggal transaksi, produk, metode pembayaran, rentang tanggal penyelesaian, dan status penyelesaian.
Notifikasi
Anda dapat mengaktifkan atau menonaktifkan pengaturan notifikasi saat saldo Anda mencapai limit, notifikasi untuk produk kirim uang, dan notifikasi untuk produk terima uang jika Anda memiliki peran super admin atau admin, berikut caranya:
- Masuk ke dashboard melalui https://business.oyindonesia.com/
- Pergi ke menu Pengaturan -> Notifikasi
- Jika Anda ingin mendapatkan pemberitahuan melalui email jika saldo Anda mencapai limit, atur di tab "Saldo Rendah". Masukkan limit jumlah saldo dan alamat email yang ingin dikirimkan notifikasi.
- Pilih apakah Anda ingin mengaktifkan atau menonaktifkan pemberitahuan untuk Multitransfer atau API Kirim Uang. a. Aktifkan Pemberitahuan: Pemberitahuan melalui email akan dikirimkan untuk transaksi tertunda, gagal, dan berhasil. b. Nonaktifkan Pemberitahuan yang Berhasil: Pemberitahuan melalui email hanya akan dikirimkan untuk transaksi tertunda dan gagal.
- Pilih apakah Anda ingin mengaktifkan atau menonaktifkan pemberitahuan untuk Link Pembayaran atau VA:
a. Aktifkan Pemberitahuan: Pemberitahuan melalui email akan dikirimkan untuk transaksi yang sukses. b. Nonaktifkan Pemberitahuan Berhasil: Tidak akan ada pemberitahuan melalui email. - Kolom Email: Memungkinkan pengguna untuk menambahkan, menghapus, dan mengedit email penerima notifikasi dalam kolom ini, Anda dapat memasukkan hingga 3 alamat email
- Klik 'Simpan Perubahan'
Multi Entity Management
Mengelola banyak akun rekening bisnis untuk perusahaan yang memiliki franchise, toko cabang, hingga anak perusahaan dapat membuat sebagian besar pengusaha dan pemilik bisnis kehabisan tenaga. Terkadang proses pembukuan menjadi lebih rumit karena banyak data transaksi dan arus kas yang harus dikelola.
Sebagai bentuk solusi, OY! Indonesia melalui OY! Business menghadirkan fitur Multi Entity yang memudahkan para pemilik bisnis untuk memantau arus kas bisnis, memeriksa transaksi, serta menerima dan mengirim uang.
Multi Entity dari OY! Business memungkinkan pemilik bisnis untuk memiliki lebih dari 1 akun sekunder OY! Business. Akun sekunder ini disebut sebagai Sub-entity Account yang berada di dalam 1 akun utama yang bernama Main Entity untuk dikelola dan dikendalikan.
Dengan fitur ini, Anda akan dapat:
- Memiliki laporan terperinci tentang transaksi yang dilakukan oleh semua Sub-entity.
- Mentransfer saldo antara akun Main-entity ke akun Sub-entity.
- Menggunakan saldo Sub-entity anak untuk mengirimkan dana.
- Menerima uang menggunakan Link Pembayaran atas nama Sub-entity.
- Tidak dikenakan biaya admin untuk mentransfer saldo antar entity.
Cara Mendaftar dan Mengaktifkan Fitur
- Buat Akun OY! Indonesia
- Aktifkan akun Anda melalui link aktivasi yang dikirim melalui email.
- Verifikasi bisnis Anda.
- Tunggu hingga bisnis Anda terverifikasi oleh tim kami.
- Hubungi perwakilan tim kami untuk mengaktifkan fitur Multi Entity
Cara menggunakan Fitur Multi Entity Management
Untuk menggunakan Multi Entity Management, Anda perlu menghubungkan beberapa akun. Setiap akun dapat digunakan secara independen, dan ada beberapa persyaratan yang harus Anda penuhi untuk menggunakan fitur ini. Silakan hubungi tim kami untuk informasi lebih lanjut.
A. Menghubungkan Antar Akun
- Jika Anda adalah Main-Entity
Untuk menambahkan sub-entity, lakukan langkah berikut: 1. Masuk ke dashboard dengan akun utama 2. Pergi ke menu Multi Entity lalu klik tombol “Tambah Sub-Entity”
- Isi username sub-entity yang ingin Anda hubungkan. Anda dapat menemukan username Anda dari menu Akun → Profil Pengguna dalam bagian username.
- Klik Tombol “Tambah”, lalu jika akun ada di sistem, akan ada konfirmasi untuk menghubungkan.
Setelah mengonfirmasi, permintaan akan dikirimkan ke akun yang bersangkutan untuk diterima.
Jika Anda adalah Sub-Entity
Untuk menerima permintaan dari main entity, silakan masuk ke dashboard dengan akun sub-entity, kemudian buka menu “Laporan Transaksi” → “Laporan Transaksi Rekening”.
- Klik tombol "Cek Permintaan" yang dapat ditemukan di dekat sudut kanan atas halaman.
- Anda akan melihat permintaan yang masuk untuk dihubungkan menjadi main entity untuk akun Anda, kemudian Anda dapat memilih akun mana yang merupakan akun yang benar untuk main entity dengan mengklik “Terima” pada akun yang sesuai.
- Setelah berhasil menerima permintaan dari main entity untuk terhubung, Anda akan menemukan informasi main entity Anda di dekat sudut kanan atas halaman Anda, dan selamat, Anda sekarang sudah terhubung!
B. TMengisi Saldo ke akun Sub-Entity
Setelah terhubung dengan sub-entity Anda, Anda dapat mengisi ulang saldo akun sub-entity dengan mengakses menu Multi Entity → Daftar sub-entity, lalu ikuti langkah berikut: 1. Temukan akun yang ingin Anda isi saldonya 2. Klik tombol "Isi Ulang" 3. Isi jumlah yang ingin Anda isi 4. Klik tombol "Isi Ulang Sekarang" untuk melanjutkan 5. Anda juga dapat melakukan pengisian ulang dengan mentransfer ke salah satu Virtual Account yang disediakan (lihat "Cara Mengisi Saldo melalui VA")
C. Mengirim Uang Menggunakan Saldo Sub-Entity
Dengan menu Multi Entity, Anda dapat melakukan pengiriman uang menggunakan akun sub-entity atas nama mereka. Untuk melakukannya, Anda dapat mengikuti langkah-langkah berikut:
- Akses menu Multitransfer dan klik tombol "+ Buat Transaksi Baru"
- Pilih saldo sub-entity Anda sebagai sumber dana untuk melakukan pengiriman uang dengan memilih "Saldo Sub-entity Saya" dan pilih akun yang sesuai.
- Setelah memilih, Anda dapat melanjutkan untuk melakukan pengiriman uang seperti biasa.
D. CMembuat Link Pembayaran Atas Nama Sub-Entity
Dengan fitur ini, Anda akan dapat menerima pembayaran dari pelanggan Anda melalui Link Pembayaran yang dibuat atas nama akun sub-entity Anda. Ketika pelanggan Anda berhasil membayar, transaksi tersebut akan dicatat dalam saldo Akun Sub-entity. Sebagai main entity, Anda mempunyai akses untuk melihat saldo dan daftar transaksi Akun Sub-entity kapan saja.
Silakan ikuti langkah-langkah berikut untuk membuat link pembayaran atas nama akun sub-entity:
Melalui API
Silakan hit API Link Pembayaran dan isi parameter "child_balance" dengan nama pengguna akun sub-entity yang akan Anda tetapkan sebagai tujuan saldo masuk. Ketika pelanggan Anda berhasil melakukan pembayaran, transaksi tersebut akan masuk ke dalam saldo Akun Sub-entity yang ditentukan.
Melalui Dashboard
- Klik Link Pembayaran -> Sekali Pakai (jika Anda ingin membuat link pembayaran sekali pakai) atau Klik Tautan Pembayaran -> Pakai Berulang (jika Anda ingin membuat link pembayaran yang dapat digunakan berulang kali.)
- Klik "Buat Link Pembayaran" (untuk tautan pembayaran satu kali) atau klik "Buat Link Pakai Berulang" (untuk link pembayaran yang dapat digunakan berulang kali). Anda akan melihat pop-up untuk melanjutkan proses pembuatan link pembayaran.
- Isi "Tujuan Saldo" dengan "Saldo Saya" (jika tujuan saldo transaksi adalah ke akun main entity) atau "Saldo Sub-entity" (jika tujuan saldo transaksi adalah sub-entity Anda). Jika Anda memilih "Saldo Sub-entity", Anda akan melihat dropdown untuk memilih username sub-entity. Anda hanya dapat memilih 1 akun sub-entity.
Integrasi dengan Xero
Integrasi OY! Bisnis dengan Xero bertujuan untuk memudahkan tim keuangan Anda untuk mendapatkan informasi keuangan yang mendalam. Dengan begitu, Anda dan tim jadi mengetahui kapan dan di mana Anda harus melakukan efisiensi terhadap biaya dan mendorong produktivitas.
Setiap transaksi yang terjadi di OY! akan otomatis tercatat dalam akun Xero Anda, baik transaksi pengeluaran maupun pendapatan.
Bagaimana Cara Kerjanya?
Setelah Anda berhasil menghubungkan akun Xero Anda di OY!, setiap transaksi yang terjadi di OY! akan otomatis tercatat di akun Xero Anda. Setelah koneksi berhasil, kami akan membuat rekening bank baru, yaitu rekening saldo OY!. Setiap transaksi yang terjadi di OY! akan dicatat dalam rekening bank tersebut, baik transaksi pengeluaran maupun pendapatan. Selanjutnya, Anda akan diminta untuk melakukan pemetaan chart of account Anda di Xero. Pemetaan chart of accounts Anda akan membantu kami untuk mengalokasikan transaksi Anda ke accounts yang tepat.
Menghubungkan Akun Xero Anda
Masuk ke dashboard, lalu pilih menu Integrasi
Anda akan melihat pilihan app Xero. Klik "Hubungkan" untuk menghubungkan akun Xero Anda ke OY!. Anda akan diarahkan ke halaman login Xero. Setelah Anda berhasil masuk ke Xero, akan muncul notifikasi.
Pratinjau untuk halaman login Xero:
Pratinjau notifikasi OY!:
- Setelah berhasil terhubung ke Xero, kami akan membuat rekening bank baru dalam akun Xero Anda, dengan nama "OY! Indonesia Balance" di mana setiap transaksi yang terjadi di OY! akan dicatat di sana.
Memetakan Chart of Account Anda
Setelah Anda berhasil terhubung ke Xero, Anda akan diarahkan ke halaman untuk melakukan pemetaan chart of account Anda.
Kemudian, lakukan pemetaan setiap produk ke account yang sesuai. Setiap transaksi yang menggunakan setiap produk akan dimasukkan ke dalam chart of account yang Anda tentukan di halaman ini.
Catatan: Khusus untuk produk Multitransfer, Anda dapat menentukan chart of account nanti dalam proses pembuatan transaksi pada halaman "Masukkan Detail" di langkah ke-3, pada kolom kategori transaksi.
- Anda dapat mengubah pemetaanchart of account kapan saja sesuai kebutuhan, cukup pergi ke menu Integrasi > Xero > Konfigurasi.
Record Transaction to Xero
- Now, your OY! account has been connected to your Xero account and each products has been mapped to its corresponding Chart of Account.
- Any success transaction that happened in OY! will be recorded to Xero with the corresponding Account you defined in Mapping Account menu.
- Transaction in OY! will be treated as SPEND or RECEIVE money transaction in a bank account (OY! Balance).
- Each transaction will contains of two rows. Row 1 contains of amount of transaction where row 2 contains of admin fee.
- In this version, any tax will be excluded. Means that you will need to input manually the tax invoice you obtained from OY! team to your Xero.
Disconnected your Xero
- To disconnect your Xero account from OY!, open the Integration menu on the sidebar. Then select “Disconnect”.
- Then, you will be disconnected from Xero. Any transaction that you execute via OY! will not be recorded into Xero.
Accurate Integration
Accurate is a local accounting platform that is mainly used by companies in Indonesia. We have integrated our system to Accurate system in order to help you optimize your workflow. By connecting your OY! account to your Accurate account, you do not have to log in to your Accurate account. This means that you do not have to manually record your transaction that happened in OY! to Accurate. You will get a seamless experience of recording your transaction.
How does it works?
Once you have connected your Accurate account in OY!, any transaction that happened in OY! will be automatically recorded to your Accurate account. Upon successful connection, we will trigger the creation of a new Bank Account, which is OY! Balance Bank Account. Transactions that happened in OY! will be recorded in that bank account, to PEMASUKAN or PENGELUARAN module. Then, you will be required to map your Accurate’s Chart of Account (in Accurate, it is Akun Perkiraan). Mapping your Chart of Accounts will help us to put your transaction into the correct Account.
Connect your Accurate
- Login to your OY! dashboard. In the sidebar, select the Integration menu.
- You will see Accurate menu. Click “Connect” to connect your Accurate account to OY!. You will be redirected to Accurate’s login page.
After login to your Accurate account, click Allow to allow conection between OY! and Accurate.
Next, please select an Accurate database that you want to connect with your OY! account.
Once you have successfully connected to Accurate, a notification in your OY! dashboard will appear and you can see your status is now "Connected/Terhubung".
Upon success connecting to Accurate, we will create a new Bank Account into your Accurate account, named “OY! balance” in which any transaction that happened in OY! will be recorded there. Your current OY! balance will also be mapped there.
In your Accurate Dashboard, you can see that OY! Indonesia app will be listed in the Accurate Store >> Aplikasi Saya menu.
Note: A fee of IDR 20k/month will be added to your Accurate billing.
Map your Chart of Account (Akun Perkiraan)
- Click on "Configure" to map your Chart of Account (Akun Perkiraan).
- Then, map each product to the corresponding Account. Any transaction using each product will be put into the Chart of Accounts you defined on this page.
Note: Special for Bulk Disbursement product, you can define the Chart of Account later in the campaign creation process - Step 3 Input Detail page. In the Transaction Category field.
- You can change the CoA mapping anytime as needed, just go to Integration >> Accurate >> Configure.
Record Transaction to Accurate
- Now, your OY! account has been connected to your Accurate account and each product has been mapped to its corresponding Chart of Account.
- Any successful transaction that happened in OY! will be recorded to Accurate with the corresponding Account you defined in the Mapping Account menu.
- Transactions in OY! will be recorded in Pengeluaran or Pemasukan module, under OY! Balance bank account. It will also credited/debited your OY! Balance Bank Account.
- Note: For some reasons, we do not map Top up and Withdraw balance transactions to Jurnal. Therefore, you should adjust your bank’s Cash Bank account balance as well as OY! Indonesia Cash Bank account balance in your Accurate dashboard everytime you execute top up and withdraw transactions.
Disconnected your Accurate
- To disconnect your Accurate account from OY!, open the Integration menu on the sidebar. Then select “Disconnect”.
- Then, you will be disconnected from Accurate. Any transaction that you execute via OY! will not be recorded in Accurate.
- Note: To remove the bill, please make sure you also uninstall OY! app in your Accurate dashboard.
Jurnal Integration
Jurnal is a local accounting platform that is mainly used by companies in Indonesia. We have integrated our system to the Jurnal system in order to help you optimize your workflow. By connecting your OY! Account, you do not have to manually record your transaction that happened in OY! to Jurnal. You will get a seamless experience of recording your transaction.
How does it work?
Once you have connected your Jurnal account in OY!, any transaction that happened in OY! will be automatically recorded to your Jurnal account. Upon successful connection, we will trigger the creation of a new Bank Account, which is OY! Balance Bank Account. You will be required to map your Jurnal’s Chart of Account. Mapping your Chart of Accounts will help us to put your transaction into the correct Account. Transactions that happened in OY! will be recorded in that bank account, into the EXPENSES or SALES INVOICE modules.
Connect your Jurnal
- Before connecting your Jurnal account, you need to log in to your Jurnal account in your browser.
Login to your OY! dashboard. In the sidebar, select the "Integration" menu.
You will see the Jurnal menu. Click “Connect” to connect your Jurnal account to OY!.
- There will be a page to ask for your consent regarding this connection process. Make sure to select OY! Indonesia. Click Allow to allow connection between OY! and Jurnal.
- Once you have successfully connected to Jurnal, a notification in your OY! dashboard will appear and you can see your status is now "Connected/ Terhubung".
- Upon success connecting to Jurnal, we will create a new Bank Account into your Jurnal account, named “OY! Balance”. Any transaction that happened in OY! will be recorded under that bank account. Your current OY! balance will be mapped into your OY! Balance Cash Bank Account as a bank deposit transaction.
Map your Chart of Account
Click on "Configure" button in the "Integrasi" menu to map your Chart of Account.
Then, map each product to the corresponding Account. Any transaction using each product will be put into the Chart of Accounts you defined on this page.
- Note: Special for Bulk Disbursement product, you can define the Chart of Account later in the campaign creation process - Step 3 Input Detail page. In the Transaction Category field.
You can change the CoA mapping anytime as needed, just go to Integration >> Jurnal >> Configure.
Note: currently, we do not include mapping and recording the PPN tax. The applied tax will be recorded to Admin Fee Chart of Account. We will update this document as soon as possible once we have included mapping PPN function.
Record Transaction to Jurnal
- Now, your OY! account has been connected to your Jurnal account and each product has been mapped to its corresponding Chart of Account.
Any successful transaction that happened in OY! will be recorded to Jurnal with the corresponding Account you defined in the Mapping Account menu. Transactions from OY! will be recorded in the Expenses or Sales Invoice module, under OY! Balance bank account and it will credited/debited your OY! balance bank account. Note: Admin Fee of Receive Money transactions will be recorded in the Expenses module.
In this image, we show you a Disbursement Transaction with CoA "Iklan & Promosi" and admin fee with CoA "Komisi & Fee". It is recorded into the "Expenses" module in your Jurnal account with status LUNAS.
- Note: For some reasons, we do not map Top up and Withdraw balance transactions to Jurnal. Therefore, you should adjust your bank’s Cash Bank account balance as well as OY! Indonesia Cash Bank account balance in your Jurnal dashboard everytime you execute top up and withdraw transactions.
Disconnected your Jurnal
- To disconnect your Jurnal account from OY!, open the Integration menu on the sidebar. Then select “Disconnect”.
- Then, you will be disconnected from Jurnal. Any transaction that you execute via OY! will not be recorded in Jurnal.
Authorization Callback OY!
Ketika Anda berhasil melakukan transaksi dengan produk berbasis API, OY! Akan mengirimkan callback ke sistem klien. Untuk menjaga keamanan sistem Anda, kami telah menyediakan fitur yang memungkinkan Anda untuk mengontrol dan menyetujui pengiriman callback dari OY! sebelum callback tersebut diterima oleh sistem Anda.
Untuk saat ini, kami hanya mendukung pengaturan untuk protokol OAuth 2.0. Jika sistem Anda menggunakan protokol tersebut, Anda dapat mengatur agar callback dari OY! akan diarahkan ke proses otorisasi atau perizinan yang Anda tentukan sebelum callback tersebut diterima oleh sistem Anda. Untuk melakukan hal tersebut, Anda hanya perlu memasukkan URL otorisasi, client ID, dan client secret untuk OY! melalui dashboard Anda.
Cara Mengatur Authorization Callback
Anda dapat mengikuti langkah-langkah berikut untuk mengatur perizinan callback melalui dashboard:
- Masuk ke dashboard OY! sebagai superadmin atau admin, kemudian pilih menu Pengaturan, lalu pilih Opsi Developer.
- Pilih tab “Authorization Callback”. Selanjutnya, Anda perlu memasukkan kredensial otorisasi Anda (URL untuk Otorisasi, client ID, dan client secret) sehingga OY! dapat melalui proses otorisasi sebelum mengirimkan callback kepada Anda.
- Klik tombol “Simpan Perubahan”.
- Jika Anda sudah memasukkan kredensial OAuth, maka setiap callback yang dikirimkan oleh OY! akan melalui proses otorisasi atau perizinan sebelum callback dikirimkan kepada Anda. OY! akan mendapatkan token akses beserta tenggat waktu dari sistem Anda.
- Jika Anda tidak lagi ingin callback dari OY! melewati proses otorisasi, Anda dapat menghapus semua informasi atau kredensial OAuth yang telah Anda masukkan pada halaman ini, lalu klik “Simpan Perubahan”.
OY! Business App
OY! Business App
Great news for you who always in mobility mode but you need to access our dashboard! Now you can access your OY! dashboard from the tip of your finger. OY! Business offers you with easy access to OY! Dashboard, so you can do your financial activities everywhere you are, without opening your laptop or PC. In this app, you can see your balance, account statement, transaction status, send money and also receive money. Yes, doing transaction is now easier than before!
Register and KYB
- Open your OY! Business app in your Android phone.
- If it is your first time opening this application, you have to input your phone number.
- Then, app will shows list of accounts that are tied to the phone number you entered before.
- If you want to create a new account, tap “Buat Sekarang”. Then follow the instruction.
- Once you success registering your new account, you can also submit your KYB.
Login
- Open your OY! Business app in your Android phone.
- If it is your first time opening this application, you will need to input your phone number to verify your account.
- Next, select which method for sending OTP. Make sure to input the right phone number. Then, please input the OTP number we just sent you.
- If the phone number is not yet registed in OY!, you will be required to create a new account.
- However, if your phone number have been registered to OY! before, the app will displays list of accounts that are tied to the phone number you entered before.
- Select an account you want to log in to.
- First time logging in, you will be required to create a new PIN. This PIN will be used to log in to that account in the business app environment.
- Once you have successfully logged in, you will be directed to homepage. Here, you can see your balance and see your latest transaction.
Create Payment Link
- In the homepage tap “Transaksi Sekarang” button.
- Then, select “Tagih Uang”.
- You will see your history of payment links and its transaction history. Then, tap “Buat Link Pembayaran” button in the bottom right.
- Configure the payment link you want to create and fill all the required details. In this page, you can set the amount method (closed or open amount), admin fee method, payment link expiry date, and payment method(s) you want to provide to your customer(s). Them klik "Simpan".
- Define the amount (if you select closed amount in the configuration page), description, and the transaction ID. Then, tap “Buat Link Pembayaran” button.
- Payment Link has been created and now you can share the link to your customer to receive payment from them.
Send Money (Bulk Disbursement)
- In the homepage tap “Transaksi Sekarang” button.
- Then, select “Kirim Uang”.
- You will see your bulk disbursement campaign history. Then, tap “Buat Disbursement” button in the bottom right.
- Create your Bulk Disbursement campaign. First, fill out your campaign details.
- Next, fill the recipient data (bank, bank account number, amount, recipient email, phone number, note).
- Next, check on your recipient list. If you want to add more recipient, click on "Tambah Transaksi" button.
- Confirm your bulk disursement campaign. In this page you can ensure your campaign detail and your recipient data are correct before submitting the campaign.
- Your Bulk Disbursement campaign has been created and will be displayed on the Bulk Disbursement campaign history page. You may wait for your approver to approve the bulk disbursement so we can execute the transaction.
Kirim Uang
API Disbursement
API disbursement product provides the capability for you to disburse to 100+ banks in Indonesia via OY! at any time. The integration process to use the API disbursement product is straight forward and the details can be checked here.
Key Features
Overbooking OY! can use the funds directly from your Mandiri or CIMB bank accounts for your disbursement needs. You will only need to top up the admin fee needed to execute the disbursements instead of the full amount of your disbursement. Please contact our business representative for further details about this feature. Check Transaction Status and Callback
For all disbursements executed, you will receive notifications regarding your transaction whether it is successful, failed or pending. We also provide an API for you to check the transaction status manually. IP proxy is also available upon request to enhance the security and integrity of the callback you will receive.
Check Balance
You can check your available balance at anytime to ensure that you have sufficient balance to execute a disbursement.
Registration and Set Up
Prerequisites
Register an account on the OY! dashboard
Activate your account through the activation link sent via email
Upgrade your account
Upgrade request is approved
Provide IP to be whitelisted and callback link to our business team
Receive an API Key from us
Integrate with our API
Testing
Once you successfully create an OY! account, you can immediately simulate disbursement via API. Follow the below steps to test the flow:
- Create an account
- Login into the dashboard
- Change the environment to “staging”
- Once the environment changed to staging, there will be API key staging available on the bottom left corner of the page
- Before creating a disbursement transaction, check your available balance through API GET https://api-stg.oyindonesia.com/api/balance
- Create a disbursement by sending a ‘POST’ request to https://api-stg.oyindonesia.com/api/remit (https://api-stg.oyindonesia.com/api/remit) using your staging API key. Enter the required and optional fields, as referenced in the API reference docs (https://api-docs.oyindonesia.com/#disbursement-fund-disbursement)
- Fill in the amount, recipient bank, recipient account, and the partner transaction-id
- To get the status of a disbursement request, you can call the API https://api-stg.oyindonesia.com/api/remit-status, This API also offers the option for callback status under field send_callback
- If payment is successful or failed, we will send a callback to the registered staging callback URL destination. Callback URL can be registered via our business representative.
- The API disbursement transactions can be monitored through OY! dashboard from the “Send money - API disbursement” menu.
How to Use
In order to create disbursements, a sufficient available OY! balance is required in the account. More details and instructions about topping up to your OY! account coming soon.
Before you execute a disbursement, you can verify the beneficiary account information from our inquiry endpoint.
Below is an example of the request body for inquiry:
curl -X POST https://partner.oyindonesia.com/api/inquiry
-H 'content-type: application/json, accept: application/json, x-oy-username:myuser, x-api-key:987654'
-d '{
"recipient_bank": "022",
"recipient_account": "7823023345"
}'
It will return an error message if the request is not valid. Otherwise, below is the sample response parameters that will be returned:
{
"status":{
"code":"000",
"message":"Success"
},
"recipient_bank":"022",
"recipient_account":"7823023345",
"recipient_name":"Budi Budianto Budiman",
"timestamp":"16-10-2021 09:55:31"
}
Next, send a request body to execute a disbursement request to be sent to our disbursement endpoint.
Below is an example of the request body for the remit:
curl -X POST https://partner.oyindonesia.com/api/remit
-H 'content-type: application/json, accept: application/json, x-oy-username:myuser, x-api-key:7654321'
-d '{
"recipient_bank": "022",
"recipient_account": "7823023345",
"amount":100000, "note":"Pembayaran Nov IV",
"partner_trx_id":"Tx15048563JKFJ",
"email" :"budi.s@gmail.com"
}'
Below is the sample response parameters that will be returned:
{
"status":{
"code":"101",
"message":"Request is Processed"
},
"amount":100000,
"recipient_bank":"022",
"recipient_account":"7823023345",
"trx_id":"89718ca8-4db6-40a0-a138-a9e30d82c67d",
"partner_trx_id":"Tx15048563JKFJ",
"timestamp":"16-10-2019 10:23:42"
}
An enpoint to check the transaction is also available and can be accessed at anytime.
Below is an example of the request body:
curl -X POST https://partner.oyindonesia.com/api/remit-status
-H 'content-type: application/json, accept: application/json, x-oy-username:myuser, x-api-key:7654321'
-d '{
"partner_trx_id": "1234-asde",
"send_callback": "true"
}'
The above command returns a JSON structured similar like this:
{
"status":{
"code":"000",
"message":"Success"
},
"amount":125000,
"recipient_name":"John Doe",
"recipient_bank":"008",
"recipient_account":"1234567890",
"trx_id":"ABC-456",
"partner_trx_id":"1234-asde",
"timestamp":"16-10-2020 10:34:23",
"created_date": "24-01-2020 06:48:08",
"last_updated_date": "24-01-2020 06:48:39"
}
A callback with the following information will be sent to the callback endpoint that you can register with us.
Below is an example of the request body:
curl -X POST https://partner.oyindonesia.com/api/remit-status
-H 'content-type: application/json, accept: application/json, x-oy-username:myuser, x-api-key:7654321'
-d '{
"partner_trx_id": "Tx15048563JKFJ"
}'
Below is the sample response parameters that will be returned:
{
"status":{
"code":"000",
"message":"Success"
},
"amount":100000,
"recipient_name":"Budi Soemitra Nasution",
"recipient_bank":"022",
"recipient_account":"7823023345",
"trx_id":"89718ca8-4db6-40a0-a138-a9e30d82c67d",
"partner_trx_id":"Tx15048563JKFJ",
"timestamp":"16-10-2019 10:40:23",
"created_date": "16-10-2019 10:23:42",
"last_updated_date": "16-10-2019 10:34:23"
}
You can also check your balance anytime to ensure you have sufficient balance from our endpoint.
Below is an example of a request body to check the balance:
curl -X GET 'https://partner.oyindonesia.com/api/balance'
-H 'Content-Type: application/json'
-H 'Accept: application/json'
-H 'X-OY-Username: janedoe'
-H 'X-Api-Key: 7654321'
Below is the sample response parameters that will be returned:
{
"status":{
"code":"000",
"message":"Success"
},
"balance":100000000.0000,
"pendingBalance":2000000.0000,
"availableBalance":98500000.0000,
"overbookingBalance":98500000.0000,
"timestamp":"10-12-2019 12:15:37"
}
Lastly, all transactions can be monitored from the OY! dashboard which includes all the transaction details.
For further details on the parameters definition and proper usage, please refer to our API Documentation.
Bulk Disbursement
Our Bulk disbursement product provides the capability to execute disbursements to multiple beneficiaries with a single xlsx or csv file upload ("Campaign") up to 25,000 transactions. Bulk disbursement is made through the OY! dashboard, where details regarding the disbursement campaign can be found. No technical integration is required to use this product.
Key Features
Overbooking OY! can use the funds directly from your Mandiri or CIMB bank accounts for your disbursement needs. You will only need to top up the admin fee needed to execute the disbursements instead of the full amount of your disbursement. Please contact our business representative for further details about this feature.
Account Management
When you first create an account, your account will be assigned as a Super Admin role. As a Super Admin, you have the ability to create new sub-accounts and assign different roles to your team such as Admin, Maker and Approver that are applicable for bulk disbursement. The Super Admin and Admin can also edit or delete created sub-accounts.
Note: it is not necessary to create new sub-accounts in order to use bulk disbursement. The Super Admin and Admin roles allows you to directly create and approve bulk disbursements.
Detailed step-by-step instructions on setting up user management and the different role types coming soon.
Multi-Layer Approval
Multi-layer Approval will improve your control over your bulk disburse transaction especially for big amount of money. You can setup up to 3 layers of approver before the transaction instruction is executed. By assigning proper approver and amount limitation, you can avoid a huge trouble on your business operational caused by incorrect transfer amount.
Overall Campaign Summary
Keep track of all the details of the entire campaign such as the total amount of disbursement, total number of transactions, and the maker and approver related information of a campaign.
Transaction Details
Itemized details of each individual transaction, including their respective statuses: success, pending, or failed.
Registration and Set Up
Prerequisites
Register an account on the OY! dashboard
Activate your account through the activation link sent via email
Upgrade your account
Upgrade request is approved
Testing
- Log on your OY! dashboard
- Choose "Staging" environment
- Click "Send Money" menu, and choose "Bulk disbursement"
- Click "Create Disbursement"
- Fill in the necessary details by following the steps explained in the “How to Use” section
How to Use
In order to create disbursement campaigns, a sufficient available OY! balance is required in the account. If there is an insufficient available balance in the account, campaigns can still be created but not approved.
1. Create Disbursement: On the OY! dashboard, navigate to Send Payments > Bulk Disburse on your left menu bar. Click “Create Disbursement” on the far righthand side of that page to create a new bulk disbursement campaign.
2. Create Campaign Details: Fill in the campaign details with 2 options:
a. upload an xlsx or csv file
Please upload an xlsx or csv file with each individual transaction’s details of your bulk disbursement campaign. An example template for both file types are available for download on the OY! dashboard. The following list of items are required in your CSV file.
Column | Description | Example |
---|---|---|
Name | Recipient Name | Budy |
Recipient Email (can contain up to 5 emails with a total maximum of 255 characters, incoming transaction notifications will be sent to these emails) | Budi@email.com | |
Amount | Amount in IDR (only numbers) | 100000 |
Bank Code | Destination Bank | 014 |
Bank Account Number | Recipient Bank Account Number | 12341234 |
Phone Number | Recipient Phone Number | 62812341234 |
Notes (Optional) | Transaction Notes |
b. add disbursement detail manually. : choose ‘add disbursement detail manually’ and fill out a campaign name and campaign description in the provided spaces. These details are strictly used as your tracking information only and will not be shared to the transaction recipients.
c. [Staging only] You can replicate failed status on individual transaction within the campaign by fill in Bank Account Number value with 3000000
. Another value will be processed normally.
3. Re-verify all the Information and Submit: Once your xlsx or csv file is uploaded or filled out manually, you can verify all of the information uploaded from the file from the table displayed. If there is any incorrect submission such as invalid entry due to special characters, a red box will appear to highlight the entry that should be corrected. Issues must be resolved before a campaign can be submitted
4. Validate Name Matching After all the issue has been resolved, user able to click submit and there will be popup shown to validate each recipient name *with their *Bank Account Name as shown below:
if you choose YES: if there is a name difference, a popup name validation with details of mismatched transactions will be displayed. if the information inputted is invalid, you could edit the information and choose the ‘ validate’ button to revalidate the data, or you could click the ‘ignore mismatch’ button to ignore the name matching validation and to process the disbursement.
If there is no issue with the details uploaded, a validate and submit button will be available at the bottom of the list of transactions, indicating that all information is valid. Click “Submit” to complete creating the bulk disbursement campaign.
5. Approve/Cancel Campaign*: Once the bulk disbursement campaign is created, a new status of waiting approval
will appear. Approve the campaign by clicking the “Approve” button. If you want to cancel a campaign, click the “...” button and select “Cancel”.
Once the bulk disbursement campaign is approved, details regarding the campaign can no long er be changed. This includes changes made to individual transactions and their respective recipient information.
The balances will also immediately reflect changes. For more information about the different types of balances, click here. You will also receive an email with the campaign information summary (“Outgoing Transfer Alert”) when transactions are executed.
Note: - Depend on the approval layer that you configured, this transaction should be approved by all layer before it can be executed by the system.
- Multiple campaigns can be approved at a time as long as there is sufficient available balance to complete campaigns that have already been approved but are still in queue to be processed.
6. Keep Track of Campaign Details*: To check the details of the bulk disbursement campaign, click on the campaign name to find the campaign summary and its recipient list. Keep track of the both the overall campaign status and the status of individual transactions through the page.
7. Status: In-Progress, Finish, and Cancel*: Congratulations! You just made your first bulk disbursement with OY! Below are a list of statuses you will find on the OY! dashboard.
In-Progress
As your individual disbursements are executed, the status of your bulk disbursement campaign will indicate an in-progress status.
Incomplete
The status of your bulk disbursement will change to incomplete once all of the listed transactions have been executed and the relevant final statuses of Failed or partially Failed have been assigned. The failed transactions will be shown the failed reason and can be retried.
Finish
Once all of the listed transactions have been completed and the final status of success for all transactions has been achieved, the status of your bulk disbursement campaign will change to Finish. The recipients should have all received an email detailing an “Incoming Transfer Alert.” You can also download a report of the campaign details directly through the OY! dashboard.
Cancel
If you choose not to approve your disbursement campaign, the status of your bulk disbursement campaign will indicate a cancelled status.
You can also double check each of your transactions by navigating to the account statement page on the OY! dashboard.
Claim Fund
Claim Fund product enable you to do disbursement without knowing your recipient bank account at first. You will simply create a link for them to fill-out bank account information and the payment will be processed by our system. This feature will remove you from the hassle of collecting your customer information manually then doing multiple bank transfer. Best use of this feature is : refunds, reimbursement claim, any disburse transaction in which the destination is not your regular partner.
At the moment, Claim Fund product is available only on OY! Business Dashboard.
Transaction Flow
Use Case
- Refund for purchase transaction
- Any money transfer transaction where you don't have recipient bank information
Registration and Set Up
Prerequisites
- Register an account on the OY! dashboard (https://business.oyindonesia.com/register?)
- Activate your account through the activation link sent via email
- Upgrade your account
- Upgrade request is approved
Testing
- Log on your OY! dashboard
- Choose "Staging" environment
- Click "Send Money" menu, and choose "Claim Fund"
- Click "Create Claim Fund"
- Fill in the necessary details by following the steps explained in the “How to Use” section
How to Use
In order to execute claim fund transaction successfully, a sufficient available OY! balance is required in the account. However, if there is an insufficient available balance, claim fund transaction can still be created but the approval will failed.
1. Business Dashboard - Create Claim Fund
Create Claim Fund: On the OY! dashboard, navigate to Send Money > Claim Fund on your left menu bar. Click
Create Claim Fund
button on the far righthand side of that page to create a new claim fund transaction.Please fill-out the information accordingly. Below table is the description of each fields:
Column | Description | Example |
---|---|---|
Amount to Claim | Amount of money to be sent | 1000000 |
Expiration Duration | How long does this claim link be active. After expiration time, customer will not be able to submit their information then new claim fund link has to be created. | 12 Hours |
Set as default expiration duration | Select this option to make it default expiration time for the next claim fund transaction. | - |
Partner Transaction ID | Unique identifier for the recipient. | CF00001 |
Note | additional remarks for recipient | Refund transaction |
Recipient Name | Recipient Name | Dwiki Dermawan |
Recipient Email | dwiki@gmail.com |
Click
Create Claim Fund
button to submit the transaction. Your recipient will get notified of this claim fund transaction through email. Transaction link will be attached on this email.Successful claim fund transaction will be listed on the claim fund transaction listing with INITIATED status.
Please be noted that this transaction still need account detail to be filled-out by the recipient.
2. Fund Recipient - Input Account Information
On the notification email, user click the
Ajukan Klaim Dana
link to get into claim fund input page.User should fill-out the detail information so that OY! system can continue with the approval process.
3. Business Dashboard - Approve Transaction
Transaction need to go through approval process to ensure that the money will be delivered to correct recipient and sufficient amount is available.
Approve claim fund transaction: On the OY! dashboard, navigate to Send Money > Claim Fund on your left menu bar. Transactions that already have user detail will be marked with
WAITING APPROVAL
status.You can approve the transaction directly from this screen by clicking Approve button, or go to detail transaction to see more information before approve.
Click approve button to release the transaction to user.
The transaction is now marked as
IN PROGRESS
Your recipient should get the money delivered to their account immediately.
In parallel, your customer will also get email notification about successful claim fund transaction.
API Biller
API biller product provides the capability for you to pay the bill products. With 130+ types of billing products, you can provide numerous bill payment options with ease and in real-time. The integration process to use the API biller product is straight forward and the details can be checked here.
Transaction Flow
Key Features
Overbooking OY! can use the funds directly from your Mandiri or CIMB bank accounts for your bill payment needs. Please contact our business representative for further details about this feature.
Check Transaction Status and Callback
For all bill inquiry & bill payment executed, you will receive notifications regarding your transaction whether it is successful, failed or pending. We also provide an API for you to check the transaction status manually. IP proxy is also available upon request to enhance the security and integrity of the callback you will receive.
Check Balance
You can check your available balance at anytime to ensure that you have sufficient balance to execute a bill payment.
Registration and Set Up
Prerequisites
Register an account on the OY! dashboard
Activate your account through the activation link sent via email
Upgrade your account
Upgrade request is approved
Provide IP to be whitelisted and callback link to our business team
Receive an API Key from us
Integrate with our API
Testing
Once you successfully create an OY! account, you can immediately simulate bill payment via API. Follow the below steps to test the flow:
- Create an account
- Login into the dashboard
- Change the environment to “demo”
- Once the environment changed to demo, there will be API key demo available on the bottom left corner of the page
- Before creating a bill payment transaction, check your available balance through API GET https://api-stg.oyindonesia.com/api/balance
- Request inquiry for the bill you want to pay by sending a ‘POST’ request to https://api-stg.oyindonesia.com/api/v2/bill using your staging API key. Enter the required and optional fields, as referenced in the API reference docs (https://api-docs.oyindonesia.com/#bill-inquiry-biller-api)
- Fill in the customer-id, product-id, and the partner transaction-id. You will get the detail information about the bill that you want to pay.
- After successful inquiry, you should do the payment process by sending a ‘POST’ request to https://api-stg.oyindonesia.com/api/v2/bill/payment. Enter the required and optional fields, as referenced in the API reference docs (https://api-docs.oyindonesia.com/#pay-bill-biller-api)
- To get the status of a bill payment request, you can call the API https://api-stg.oyindonesia.com/api/v2/bill/status
- If payment is successful or failed, we will send a callback to the registered staging callback URL destination. Callback URL can be registered via our business representative.
- The API biller transactions can be monitored through OY! dashboard from the “Send money - API biller" menu.
How to Use
In order to create API biller transaction, a sufficient available OY! balance is required in the account. More details and instructions about topping up to your OY! account can you see here https://docs.oyindonesia.com/#top-up-oy-dashboard-tutorial.
Before you execute the bill payment, you have to verify the bill information from our bill inquiry endpoint.
Below is an example of the request body for inquiry:
curl -X POST https://partner.oyindonesia.com/api/v2/bill
-H 'content-type: application/json, accept: application/json, x-oy-username:myuser, x-api-key:987654'
-d '{
"customer_id": "512233308943",
"product_id": "plnpost",
"partner_tx_id": "Tx15048563JKFJ"
}'
It will return an error message if the request is not valid. Otherwise, below is the sample response parameters that will be returned:
{
"status":{
"code":"000",
"message":"Success"
},
"data": {
"tx_id": "a3d87877-e579-4378-844b-c06294fc9564",
"partner_tx_id": "Tx15048563JKFJ",
"product_id": "plnpost",
"customer_id": "512233308943",
"customer_name": "Plg.,De'mo 512233308943",
"amount": 282380,
"additional_data": "{\"customer_id\":\"512233308943\",\"customer_name\":\"Plg.,De'mo 512233308943\",\"admin_fee\":\"2.500\"}"
}
}
Next, send a request body to execute a bill payment request to be sent to our bill payment endpoint.
Below is an example of the request body for the bill payment:
curl -X POST https://partner.oyindonesia.com/api/v2/bill/payment
-H 'content-type: application/json, accept: application/json, x-oy-username:myuser, x-api-key:7654321'
-d '{
"partner_trx_id":"Tx15048563JKFJ",
"note" :"biller transaction test"
}'
Below is the sample response parameters that will be returned:
{
"status":{
"code": "102",
"message": "Request is In progress"
},
"data": {
"tx_id": "a3d87877-e579-4378-844b-c06294fc9564",
"partner_tx_id": "Tx15048563JKFJ",
"product_id": "plnpost",
"customer_id": "512233308943",
"customer_name": "Plg.,De'mo 512233308943",
"amount": 282380,
"note": "biller transaction test"
},
}
An endpoint to check the transaction is also available and can be accessed at anytime.
Below is an example of the request body:
curl -X POST https://partner.oyindonesia.com/api/b2/bill/status
-H 'content-type: application/json, accept: application/json, x-oy-username:myuser, x-api-key:7654321'
-d '{
"partner_trx_id": "Tx15048563JKFJ"
}'
The above command returns a JSON structured similar like this:
{
"status":{
"code": "000",
"message": "Success"
},
"data": {
"tx_id": "a3d87877-e579-4378-844b-c06294fc9564",
"partner_tx_id": "Tx15048563JKFJ",
"product_id": "plnpost",
"customer_id": "512233308943",
"customer_name": "Plg.,De'mo 512233308943",
"amount": 282380,
"additional_data": "\"{\\\"bill_period\\\":\\\"FEB2022\\\",\\\"total_amount\\\":\\\"282.380\\\",\\\"customer_id\\\":\\\"512233308943\\\",\\\"customer_name\\\":\\\"Plg.,De'mo 512233308943\\\",\\\"admin_fee\\\":\\\"2.500\\\",\\\"settlement_date\\\":\\\"09/03/2022 16:49\\\"}\"",
"status": "SUCCESS"
},
}
A callback with the following information will be sent to the callback endpoint that you can register with us.
You can also check your balance anytime to ensure you have sufficient balance from our endpoint.
Below is an example of a request body to check the balance:
curl -X GET 'https://partner.oyindonesia.com/api/balance'
-H 'Content-Type: application/json'
-H 'Accept: application/json'
-H 'X-OY-Username: janedoe'
-H 'X-Api-Key: 7654321'
Below is the sample response parameters that will be returned:
{
"status":{
"code":"000",
"message":"Success"
},
"balance":100000000.0000,
"pendingBalance":2000000.0000,
"availableBalance":98500000.0000,
"overbookingBalance":98500000.0000,
"timestamp":"10-12-2019 12:15:37"
}
Lastly, all transactions can be monitored from the OY! dashboard which includes all the transaction details.
For further details on the parameters definition and proper usage, please refer to our API Documentation.
Feature: Resend Callback
Key Features
Retry Callback allows you to resend a callback of your transaction to your system. Initially, OY! will send a callback to your system after your transaction status has been updated. If your system failed to receive the callback, this feature can help you to retry the callback process. The process can be done in two ways
Automated retry callback If the callback is not successfully received on the first try, the system will automatically retry the callback delivery. If that callback is still not received by the client's system, the system will automatically retry until 5 occurrences. The interval of the sending process will be detailed in the Callback Interval section. If all automated Retry Callbacks have been sent but still returned failed, the system will send an email notification to the email address set in the configuration.
Manual retry callback Besides the automated process, you can manually request a callback via the dashboard.
Registration and Set Up
Follow the instruction below to activate retry callback
- Login to your account in OY! Dashboard
- Open “Settings” and choose “Developer Option”. Choose “Callback Configuration”
- Fill your callback URL in the related product that you want to activate. Make sure the format is right. You can click URL String Validation button to validate the URL format.
- If you want to activate automated retry callback, check the Enable Automatic Retry Callback and fill in the email. The email will be used to receive a notification if all the automatic callback attempts have been made but still fail
- Click "Save Changes". The configuration will not able to be saved if the callback URL or/and email format are not valid.
Don't forget to whitelist these IPs in order to be able to receive callback from OY: 54.151.191.85 and 54.179.86.72
If you want to manually resend a callback, you can follow the instruction below
- Login to your account in OY! Dashboard
- Open the API Disbursement menu
- Click the "Resend Callback" button in the related transaction
Callback Interval
1st retry: realtime (after the first failed log received) 2nd retry: 1 min (after callback failed log for the 1st retry is received) 3rd retry: 2 mins (after callback failed log for the 2nd retry is received) 4th retry: 13 mins (after callback failed log for the 3rd retry is received) 5th retry: 47 mins (after callback failed log for the 4th retry is received)
If all automated Retry Callback (all the 5 attempts) has been sent but we still get a Failed response from your end, our system will send an automated email notification to the email address that has been set in the configuration earlier
Idempotency Key
To implement automated retry callback, you need to handle the idempotency logic in your system using the below key:
API Disburse: trx_id
Account Payable
OY! Account Payable product provides the capability to record, create approval levels, and scheduled payment for invoice payables without hassle. Account Payable is made through the OY! dashboard, so no technical integration is required to use this product.
How to Use Account Payable via Dashboard
You can create new invoice to be paid and set up payment by following this step:
- Log on to your OY! dashboard
- Choose "Production" environment
- Click "Pay Invoice" under Account Payable menu
- Click "Invoice List"
- Choose "Create New Invoice"
- Upload your invoice document to help you easier record the invoice by click "Browse to Upload" or Drag & drop to the invoice area
Fill in the necessary details
Parameter Description Purchase Type You can choose between purchase order, service fee, bill, subscription fee, and reimbursement Invoice Number The number of the invoice that you get from your vendor/supplier Invoice Date The date of the invoice Due Date Due date of a transaction as mentioned in the invoice. Your approver will be reminded to approve on D-7, D-3, and D-1 from the invoice due date PO/PR Number (optional) The reference PO/PR number from your company to track this invoice Note The note for this invoice Vendor The name of the vendor that this invoice belongs to. You can choose the name of the vendor from the dropdown menu. To create a new vendor, follow the instruction here Product Description The name and/or description of the product Quantity The quantity of the product Price Unit price of the product Total Total price of the product (Total = Quantity x Price) Subtotal The total price of all the products PPn PPn that should be paid to the vendor. PPn is calculated from subtotal amount. You can set up the tax during vendor addition or edit in 'Vendor Management' menu under Account Payable PPh PPh that should be deducted from the vendor. PPh is calculated from subtotal amount.You can set up the tax during vendor addition or edit in 'Vendor Management' menu under Account Payable Total Pay to Vendor Total amount that will be paid to vendor on scheduled date, post approval Reference Documents (Upload document) The supporting documents that you want to record related to this invoice. Accept PDF files only. Maximum 7 documents (maximum 2.5MB each) Note: Maximum 20 rows for line item detail
Image Account Payable
Continue to set up 'Invoice Payment Details'. You can set up the payment to one time payment by choosing 'Full Payment' or multiple times payment by choosing 'Partial Payment'.
Parameter Description Payment Amount Amount that will be automatically paid to vendor on scheduled date Due Date The due date of the payment. The due date cannot do back date or more than due date that set in the first page (record invoice). Notification will be send to approval D-7, D-3, and D-1 if the status is waiting aproval Status Status of the invoice payment. You can choose 'Paid' for record intention and this amount will not be paid by system. Choose 'Unpaid' for incoming transaction that needs to be paid Scheduled Payment Time of the payment. You can prepare the balance prior to scheduled payment time and make sure the payment date is based on your preference and will only be executed post approval Remaining Amount Total pay to vendor - subtotal. This amount should be 0 to continue the process Image Payment Page
Status: Waiting Payment, Partially Paid, Complete and Cancelled Congratulations! You have finished your first invoice payable set up. Below are the list of statuses you will find on 'Invoice List'
Parameter Description Partially Paid Multi times payment or partially paid that not finish yet. You can click invoice number to find the partial payment details in 'payment transaction' tab Waiting Payment Waiting for approval or balance not enough Cancelled Invoice has been cancelled Complete All payment of the invoice is complete List of the Invoice Payable
How to Create, Edit and Inactivate Vendor Data
Add New Vendor for Account Payable
- Click 'Add' in the 'Vendor' field in the 'Create Payable Invoice' page.
- Fill in the necessary details
- Click 'Add Vendor' after complete registration of new vendor
Parameter | Description |
---|---|
Vendor ID (Optional) | Unique ID of the vendor from your company. This is not mandatory |
Vendor Name | The company/vendor name. Make sure the vendor name matches the vendor NPWP (if any) to help your company tax record |
Vendor Address (Optional) | Vendor address to be recorded. This is not mandatory |
Bank Name | Recipient bank name. You can choose using drop down |
Account Number | Recipient bank account number. You can check the inquiry by clicking 'Get Account Name' after filling the account number |
PIC Name | The PIC name of this vendor |
PIC Email | The PIC or recipient email. Payment/transfer receipt will be send automatically to this email after complete payment |
PIC WhatsApp (optional) | The PIC WhatsApp number for your record |
PPh (optional) | PPh type from this vendor. Default of the setting is Not Subject to PPh. |
Vendor NPWP (optional) | The vendor NPWP number record that can be use for company reference to generate 'Faktur Pajak' |
NPWP Document (optional) | Vendor NPWP document to be record. Accept PDF and JPG format. Maximum 10 MB |
PPn (optional) | PPn type of this vendor. Default of the setting is Not Subject to PPn. |
SKB Document (optional) | Vendor SKB Document to be record. Accept PDF and JPG format. Maximum 10 MB |
Not subject of PPh | Tax will not be added upon the subtotal |
Not subject of PPn | Tax will not be added upon the subtotal |
PPN Exclusive | PPN of the subtotal will be added upon the subtotal of the invoice. For example is subtotal is 10,000, then the PPN is 11% of the 10,000 = 1,100 |
PPN Inclusive | Tax will not be added upon the subtotal because the subtotal is assumed to be tax inclusive |
Each vendor only have 1 type of PPh setting and 1 type of PPn setting
There will be an PPh email sent on the 1st day of each month that contains all the PPh from your vendors in the previous month. This report can help company with tax payment & reporting, and 'Faktur Pajak' generation to your vendor.
Create New Vendor
List Of Vendor
Vendor Detail
How to Set Up Invoice Payable Approval
You can set up multi level approval from OY's users. There will be 4 type of users: Super Admin, Admin, Approver, and Maker
Approval Layer Set Up
Approval Layer can be set up using 'User Management' under 'General' menu. When you first create an account, your account will be assigned as a Super Admin role. As a Super Admin, you have the ability to create new sub-accounts and assign different roles to your team such as Admin, Maker and Approver that are applicable for bulk disbursement. The Super Admin and Admin can also edit or delete created sub-accounts. Note: it is not necessary to create new sub-accounts in order to use Account Payable. The Super Admin and Admin roles allows you to directly create and approve Account Payable and also Bulk Disbursement. Detailed step-by-step instructions on setting up user management and the different role types coming soon.
Multi-Layer Approval
Multi-layer Approval will improve your control over your bulk disburse transaction especially for big amount of money. You can setup up to 3 layers of approver before the transaction instruction is executed. By assigning proper approver and amount limitation, you can avoid a huge trouble on your business operational caused by incorrect transfer amount.
Default approval: Super Admin, Admin, and Approval.
Corporate Card
OY! Corporate Card product provides the capability to create customized cards that can be used to manage online subscriptions without hassle. Corporate Card can be generated through the OY! dashboard, therefore no technical integration is required to use this product.
Key Features
Condition | Description |
---|---|
Card creation | OY! can use the funds directly from your OY! balance for corporate card needs. It is essential to top-up your OY! balance based on your card limit. Please contact our business representative (https://docs.oyindonesia.com/partner@oyindonesia.com) for further details about this feature. |
Card control | Create and control the card based on your requirements. You can set the limit amount (in Rupiah), validity period, card renewal frequency and even transaction limitations directly through OY dashboard. Moreover, you can block and deactivate corporate card real-time! Everything on your fingertips. |
Real-time transaction | Transactions can be tracked easily through dashboard real-time. There is no need to wait until the end of month for full transaction statement |
How to Create Corporate Card
You can create new virtual card by following these steps:
- Log in to your OY! dashboard
- Choose “Production” environment
- Click “Corporate Card” under Expense Management menu
- Click “Add New Card”
- Choose “Card Type” for “Virtual” and usage frequency either single usage or multiple usage and click “Next”
- Fill in Cardholder details and Card details
- Once submitted, Corporate Card will be in “waiting for approval” state
- After the approval step, the card is ready to be used for transactions.
Notes: OY! balance would be put on pending once card is created.
- Corporate Card Dashboard
- Virtual Card Type
- Virtual Card Form
How to Transact with Card
Steps to use card for online transaction:
- Access your card information (including remaining balance & transaction) via email and enter OTP sent to the phone number registered.
- Once accessed, input all of you card information into merchant side under “Credit / Debit Card” Option
- Input 16 digit number, expiry date (MM/YY) and CVV
- Submit the information and proceed with the transaction and the transaction is successful.
- For record purposes, you can upload the invoice for each transaction inside OY! dashboard.
- Virtual Card Information
- Virtual Card
Card Status
Status | Description |
---|---|
Pending Approval | Card has been requested but approval is not yet given. Request can only stay valid for 14 days. |
Active | Card is ready to be used for transaction. |
Active with Warning | Card is active with balance, but only <15% balance remaining. |
Inactive | Card has been deactivated, but still contain limit. |
Need top-up | New card has been created, but with 0 limit OR card limit is back to 0 and pass renewal time due to insufficient balance. |
Expired | Card is expired or intentionally archived permanently. |
Rejected | Card is rejected by Approver. |
Transaction Status
Transaction Status | Description |
---|---|
Successful | Card has been used for transaction successfully |
Failed | Transction was declined |
Reversal | Temporary hold on card is returned to card prior settlement |
How to Set Approver
- During first time product activation, prompt to fill in Approver data will be triggered
- Fill in the approver details
- Tick T&C and confirm your Approver details
- Approver will receive confirmation email
- Add New Approver
- Approver Form
Notes: Approver data cannot be added or edited through dashboard for security purposes. Please contact our business representative for helps
Parameter | Description |
---|---|
Name | Approver Name |
Position | Approver Role |
Phone Number | Approver Phone Number |
Approver email for card approval purposes |
How to Manage Card
- Click “See All Cards”
- Click the card that needs to be managed
Card actions
Card Actions | Description |
---|---|
Resend Card Info | To resend card info to cardholders, in case of missing email |
Edit Information | To edit the card limit. Editing card limits will lead to card temporary blockage and require reapproval flow again. |
Block | To temporarily lock the card, limit remains in the card |
Archive | To permanently lock the card, limit will be 0 and returned to OY! balance |
Renew Limit | To renew card limit with a desired amount using OY! balance |
Resend Approval Notification | To remind Approver to approve the card request in case of closet email |
Delete | Only applicable for "Waiting for Approval" card |
How to Set Up Card Config
- Click “Corporate Card Configuration”
- Select Department / Category / Approver
- You can choose to whether add new, edit existing or delete
- Click "Save Changes"
- Department page prior to “Edit Department” button
- Category page
- Approver Page
Failed Transaction Possible Reasons
- Card utilized more than
- requested frequency (multiple use vs single use)
- available limit
- Card is inactive
- Card is expired
- Invalid card number
- Invalid expiry date
- Invalid CVV
- Issuer network not supported
Notes
Transaction will be settled following bank’s instruction
Usage of card will directly reduce card limit and hold OY! balance
For refund, please kindly contact the merchant where you make the purchase at. OY! is not responsible to perform refund prior receiving the fund back from the merchant
- Refund duration will dependent on the merchant and the bank
- Once refund has been issued, the balance will be returned back to your OY! balance
It is the user’s responsibility to block card usage whenever fraudulent transactions found. OY! is not responsible for the transaction.
International Transfer
International Transfer product provides the capability for users to transfer across countries from Indonesia at any time. You may create a transaction within OY! dashboard without the need for any technical integration.
Key Features
Account Management When you first create an account, your account will be assigned as a Super Admin role. As a Super Admin, you have the ability to create new sub-accounts and assign different roles to your team such as Admin that is applicable for international transfers. Both Super Admin and Admin may edit or delete created sub-accounts.
Note: it is not necessary to create new sub-accounts in order to use international transfer. The Super Admin and Admin roles allows you to directly create and approve transactions.
Detailed step-by-step instructions on setting up user management and the different role types coming soon.
Roles & Accessibility Only Super Admin and Admin roles are available to create transactions. All other roles are only allowed to view transaction list, transaction details, filter, export and edit custom column in dashboard.
Available destinations Current list of countries supported: Singapore Current list of currencies supported: Singapore Dollars (SGD), US Dollars (USD)
More countries such as Australia, China, Hongkong, Malaysia, South Korea and United States will be available soon.
Sender / Recipient Contacts Suppose that you want to create an international transfer on behalf of another entity, you may create an individual / business sender or recipient and input all required information about the sender or recipient. All sender and recipient information will be saved in contacts and may be reused in the future.
Additional Documents We provide a placeholder for you to upload invoice and other supporting documents for the purpose of transfer and source of funds.
Transaction Details Once a transaction is successfully created, all transaction details and updates will be recorded in OY! dashboard
Registration and Set Up
Prerequisites
Register an account on the OY! dashboard
Activate your account through the activation link sent via email
Upgrade your account
Upgrade request is approved
Testing
- Log in to your OY! dashboard
- Choose "Staging" environment
- Click "Send Money" menu, and choose "International Transfer"
- Click "Create New Transaction"
- Fill in the necessary details by following the steps explained in the “How to Use” section
- Note: To reproduce a failed transaction in staging environment, you may fill the recipient account number as 1234567891. All other account numbers will result in a successful transaction.
How to Use
In order to create international transfers, you need to have sufficient available OY! balance is required in the account. If there is an insufficient available balance in the account, international transfers cannot be created 1. Create new transaction: On the OY! dashboard, navigate to Send Payments > International Transfer on your left menu bar. Click “Create New Transaction” on the far righthand side of that page to create a new transfer.
- Input transfer amount details: You may fill out the amount of transfer in two ways:
- Fill in the send amount (in Rupiah) you would like to transfer, along with the destination currency and country. Our system will automatically convert according to the foreign exchange rate at that time.
- Fill in the recipient amount (in SGD/USD) you would like to transfer, along with the destination currency and country. Our system will automatically convert according to the foreign exchange rate at that time.
Note: If the nominal amount greater than the available balance, then our system will restrict users from proceeding
- Input sender details: Decide whether sender is an individual or business entity, and you will see the corresponding details to fill out for each. Previously saved sender contacts will be displayed at the bottom of this page.
Create a new individual sender by filling out this form
Create a new business sender by filling out this form
- Input recipient details: Decide whether recipient is an individual or business entity, and you will see the corresponding details to fill out for each. Previously saved recipient contacts will be displayed at the bottom of this page.
This will be the form you will need to fill out for individual recipient
Create a new individual recipient by filling out this form
Create a new business contact by filling out this form
- Add supporting information: In this step, we need to record source of funds, purpose of transfer for the transaction. You may also attach supporting documents to aid the compliance requirements for your transaction.
- Summary: The summary of your transaction will be shown. If all the information is correct, you may click the Submit button at the bottom right hand corner of the screen.
Note: A fixed quotation rate is created since Input sender details and will be refreshed every 30 minutes. In the case when the quotation expires, a pop up will show to fetch the latest exchange rate and a new quotation is created.
If the available balance is insufficient for the new quotation amount, then you will be prompted to change the transfer amount or top up balance.
- Input Password: For security reasons, OY! will prompt clients to input their password prior to every transaction.
Each client has 5 chances to input the correct password. If you failed to input the correct password 5 times, then the transaction will automatically be cancelled.
- Transaction Status: In Progress, Success, Failed.
In Progress
Once a transaction is successfully created, it will appear in your dashboard the status column will be set as In Progress.
Success
Once your transaction is processed successfully, the status column will be updated as Success. Both sender and recipient should have received an email detailing a “Successful Transfer.”
Failed
If your transaction has failed to process, the status column will be updated as Failed. Both sender and recipient should have received an email detailing a “Failed Transfer.”
- Check transaction details: You may check transaction details by clicking on the transaction id on the list of transaction details on dashboard
Reimbursement
OY! Reimbursement product provides the capability to handle employee reimbursement requests and fund disbursement on one platform. Reimbursement can be done easily without any employee signing up for an OY! Account. No technical integration is required to utilize the product.
Key Features
Feature | Description |
---|---|
Approval Capability | To ensure no fraudulent requests are made, a double approval mechanism exists in the product and is mandatory for the reimbursement process. The first layer is for the reporting manager via email, and the second layer applies to the finance team via the dashboard. |
Fund Disbursement | Not only does the product process disbursement requests, but you can also immediately schedule the disbursement time after approval from the reporting manager. Currently, the scheduled disbursement options are 1 day, 3 days, 7 days, and 14 days, allowing flexibility in managing cash flows. |
Reimbursement Details | Every reimbursement request can be accessed through the OY! dashboard, including the uploaded file, to ensure it matches the requested amount. |
Reimbursement Tracking | For employees, no more hassle in checking reimbursement progress with the HR or finance team. Your employee will receive a tracking email to check progress in real-time. |
How to Set Approver (Reporting Manager)
Setting up the approver will only occur once when the page is first opened.
- Log in to your OY! dashboard.
- Select the "Production" environment.
- Navigate to "Reimbursement" product under the Expense Management menu.
- Click on "Create Reimbursement Link."
- Choose "Register Approver."
- Fill in the approver's name, email address, and department.
- After registration, the approver will receive a notification via email.
- Approver registration page
Notes
Approver emails are mapped based on department names, and duplicate department names are not allowed.
After submission, addition, editing, or deletion of existing approvers can only be done via Customer Service.
Reporting managers will only receive notifications via email; no dashboard access is required.
The approver list view is accessible in the dashboard under reimbursement configuration.
How to Distribute Reimbursement Link
After Approver registration, you can start sharing the reimbursement link with employees through two methods:
Via Bulk Upload:
- Download the sample file and input a list of employee emails in CSV or XLSX format.
- Upload the file for email distribution.
Via Copy Link:
- Copy the link and distribute it using any convenient method.
Employees will find the form link in their email and can proceed to submit a request.
- Link distribution page
- Form page
Mandatory Parameters in the Form
Parameter | Description |
---|---|
Employee Name | Employee identification purposes |
Employee Email | This will be used to trigger tracking to employee post-submission |
Department | Department will be mapped to approver's email directly |
Bank Name | Disbursement bank name |
Account Number | Disbursement bank account number. Bank account validity can be checked prior reimbursement submission |
Item | Item name or description |
Amount | Reimbursement total amount (in IDR). Minimum Rp 20.000 |
Upload File | Placeholder to upload invoice document. Max 2 file with PDF, JPG, & PNG format (Each file max 5MB ). |
Transaction Date | Date of transaction printed on the invoice |
Notes
- You can resend the link anytime in case employees lose the email.
- A single request is applicable for 1 item only.
How to Schedule Disbursement
Scheduled disbursement can only be done if the reporting manager has approved the request, and the dashboard admin agrees to schedule the disbursement.
- Open the OY! Dashboard and check the Reimbursement transaction list.
- Requests with "Need Approval" status will require action from the dashboard side.
- The admin can either reject with a reason or approve with a scheduled disbursement day.
- Request list in dashboard
- Request detail in dashboard
Note: If there is insufficient balance on the day of scheduled disbursement, you can retry manually when the balance is sufficient via the dashboard.
Dashboard Status
Status | Description |
---|---|
Pending Approval | Submitted by employee but no action yet from approver |
Need Approval | Approved by approver but no action yet from admin |
Canceled | Cancelation can only be performed by employee. No further action needed |
Completed | Money disbursed |
Rejected | Rejected by admin or approver |
Scheduled Payment | After admin has approved and set scheduled payment time |
Failed | Disbursement failed due to timeout or vendor issue |
Insufficient Balance | Fail to disburse due to insufficient balance (admin can retry payment manually from dashboard) |
How to Approve Transaction (Reporting Manager)
- When a new request is submitted by an employee, the respective approver will receive a notification and an approver portal link via email.
- Inside the link, the approver can find all reimbursement requests with certain statuses (rejected, approved, and need approval).
- The approver can choose to either reject the request with a reason or simply approve.
- Approving the request will trigger an update inside the OY! Dashboard and employee tracker page.
- Approver portal (unique per approver)
- Approver - request details with action buttons
How to Check Reimbursement Progress (Employee)
- Employees can fill in the reimbursement request form portal via email.
- Once submitted, the employee will receive a tracking email.
- Inside the link, employees can find real-time reimbursement progress, from the submission timestamp until disbursement timestamp.
- Employees can still cancel the request if the approver has not yet approved.
- Employee Tracker page
- Employee Tracker page -- transaction detail
Tracker Status
Status | Description |
---|---|
Pending Payment | Request approved but money not yet received |
Scheduled Payment | After the admin has approved and set scheduled payment time |
Rejected | Rejected by admin or approver |
Canceled | Canceled by employee |
Waiting Approval | Submitted but no action yet from approver or admin |
Completed | Money has been disbursed successfully |
Note: The tracking email is applicable to each employee per reimbursement request.
Terima Uang
VA Aggregator
Businesses are struggling to manage hundreds or even thousands of physical bank accounts that are used for different purposes. It causes significant overhead cost in terms of the amount of account maintenance and man hours needed for reporting and reconciliation purposes, combining different information from different accounts.
Virtual Account (VA) is essentially a dummy account that is linked to a physical account and has all the physical account characteristics that enables a much easier reporting and reconciliation process by centralizing the money flow into the physical account. By issuing VAs, you can assign each VA for specific person and/or purposes.
From the example above, it shows how payments made through the VAs are merely pass-throughs for the physical accounts to receive money. Without VAs, the above example might require up to 8 physical accounts from 2 different banks rather than 2 physical accounts from 2 different banks.
OY! API VA Aggregator
Our API VA Aggregator product provides you with the capabilities to create unique Virtual Account (VA) numbers as a bank transfer payment method for your customers while the fund movements take place through OY!'s physical account. It provides you with the capabilities to receive payments from your customers via bank transfer without having each respective bank account across multiple banks.
Our virtual accounts are adjustable according to your needs. We offer options of static or dynamic accounts, single or mutli use accounts, opened or closed amounts, and determinable expiration dates. You can also track all created virtual accounts, incoming payments, and their respective details either through our API callback or the OY! dashboard.
Key Features
Create VA number via API - Create VA automatically by integrating your applications with our API VA. For more information, visit our API Docs.
Create VA number via Dashboard - Do not have enough resources to integrate with API VA? Do not worry, you can create a VA number easily via OY! Dashboard. No need to write some codes!
Support multiple banks - Currently, we support virtual accounts (VA) at 8 banks: BCA, BNI, Mandiri, BRI, Permata, CIMB Niaga, BTPN, and Bank Syariah Indonesia (BSI)
Real-time settlement for majority of the banks - Payment into a VA will settle in your OY! dashboard on a real-time basis for the majority of the banks (note: for BCA, the settlement will take place H+2 after payment is made into the VA)
Transaction tracking and monitoring capability - You can track all created VA, incoming payments, and their respective details through our API callback or the OY! dashboard. You will receive a callback all incoming transactions.
Customizable VA types - You can customize the VA numbers you want to create. Each VA would consist of three categories you can define in the creation process. Refer to the table below for more information on various types of VA:
Category | Type/Feature | Description |
---|---|---|
Validity Period | Static Virtual Account | VA that has a lifetime validity. It will always be active until it is manually deactivated |
Validity Period | Dynamic Virtual Account | VA that has a specific validity period. It will always be active until it is expired or manually deactivated |
Amount Type | Closed Amount Virtual Account | VA that only accepts payment of a specific amount/declared amount |
Amount Type | Opened Amount Virtual Account | VA that accepts payment of any amount |
Usage Frequency | Single Use Virtual Account | VA that expires after a single payment. A single use configuration can only be set up for a dynamic VA |
Usage Frequency | Multiple Use Virtual Account | VA that only expires when expiration date is reached or when it is manually deactivated |
VA Number | Customized or predetermined | You may personalize the VA suffix using the numbers you want (e.g. your end-users' phone number or billing number). To enable VA number customization, please contact your Business Representative |
- Capability to update VA Attribute that can be updated:
- amount
- is_single_use
- trx_counter
- expired_time
- trx_expired_time
- username_display
Example:
- A static VA with a closed amount can be updated with a new closed amount hence it can work as a bill to be paid for a particular customer
- A static VA can be updated to a single use so it will be the last payment received from a particular customer
All of the VA information, even after they are updated, is available on the OY! dashboard or via API. Once a VA is updated, the new set of configuration will apply for that VA and the previous configure is overridden and no longer applicable
Use Cases
Registration and Set Up
Follow the below check-list to ensure you're all set up to use our VA Aggregator API service:
- Create an account
- Upgrade your account by submitting the required documentations
- Have your upgrade request approved
- Set up your receiving bank account information (note: ensure that the receiving bank account information is accurate as it cannot be changed via OY! dashboard for security reasons)
- Submit your IPs and callback URLs to your business representative or to partner@oyindonesia.com
- Receive an API Key from us (note: it is required for API authorization purpose)
- Integrate with our Virtual Account Aggregator API
Testing
Create VA number via API
Once you successfully create an OY! account, you can immediately simulate VA payments via API.
Follow the below steps to test the VA flow:
Create an account
Send a request to activate API VA Aggregator product and obtain staging API Key to your business representative
Create a VA number by sending a ‘POST’ request to https://api-stg.oyindonesia.com/api/generate-static-va using your staging API key. Enter the required and optional fields, as referenced in the API reference docs
After VA number is generated, partner can simulate VA payment through your dashboard (in Staging environment) by going to Settings, and choose "VA Callback"
Fill in the bank name associated with the generated VA number, the generated VA number, amount, and payment date & time
If payment is successful, we will send a callback to the registered staging callback URL destination
The payment made to the VA can be monitored through OY! dashboard. Go to "Virtual Account" menu, and choose "Incoming Payment"
Create VA via Dashboard
Once you successfully create an OY! account, you can immediately create VA number and simulate VA payments via Dashboard.
Follow the instruction below:
Create an Account.
Select ‘Staging’ environment.
Click menu Virtual Account, then click ‘Create VA’.
In the top right, click ‘Create Virtual Account’ button.
You can choose between creating VA by uploading a CSV file (template available) or creating manually one by one.
Fill out the requirements: Partner User ID, Partner Transaction ID, Bank Name, VA Name, VA Type, Amount, usage, Usage Limit, VA Expiration Type, VA Expiration Date & Time, Transaction Expiration Date & Time, and Email.
Validate and Submit your request.
VA number(s) that you created will appear in the Create VA menu.
To simulate VA payment and see status changing, tap ‘Send Callback’ button in the right section of the table
How to Use
Send us instructions to generate a new VA number, or create a VA number via dashboard.
Below is an example of a request body to execute your request:
curl --location --request POST https://partner.oyindonesia.com/api/generate-static-va
--header 'content-type: application/json' \
--header 'accept: application/json' \
--header 'x-oy-username: username' \
--header 'x-api-key: apikey' \
-d '{
"partner_user_id":"51200021",
"bank_code": "014",
"amount": 150000,
"is_open" : false,
"is_single_use" : false,
"is_lifetime": false,
"expiration_time": 5,
"username_display" : "va name",
"email": "email@mail.com"
}'
It will return an error message if the request is not valid. Otherwise, below is the sample response parameters that will be returned:
{
"id": "12345b1-23be-45670-a123-5ca678f12b3e",
"status": {
"code": "000",
"message": "Success"
},
"amount": 15000,
"va_number": "700707760000000003",
"bank_code": "014",
"is_open": false,
"is_single_use": false,
"expiration_time": 1582783668175,
"va_status": "WAITING_PAYMENT",
"username_display": "va name",
"trx_expiration_time": 1582783668175,
"partner_trx_id": "TRX0001"
}
Once a VA is created, its details can be seen and monitored through the OY! dashboard.
- For Create VA via API, an endpoint to check your VA information is also available and can be accessed at any time.
- If you wish to change the details of your VA, you can do so by updating your VA at any time.
Below is an example of the request body:
curl --location --request GET https://partner.oyindonesia.com/api/static-virtual-account/12345b1-23be-45670-a123-5ca678f12b3e
--header 'content-type: application/json' \
--header 'accept: application/json' \
--header 'x-oy-username: username' \
--header 'x-api-key: apikey'
Below is the sample response parameters that will be returned:
{
"id": "12345b1-23be-45670-a123-5ca678f12b3e",
"status": {
"code": "000",
"message": "Success"
},
"amount": 150000.0000,
"va_number": "700707760000000003",
"bank_code": "014",
"is_open": false,
"is_single_use": false,
"expiration_time": 1582783668175,
"va_status": "WAITING_PAYMENT",
"username_display": "va name",
"amount_detected": 0,
"partner_user_id": "123456",
"trx_expiration_time": 1582783668175,
"partner_trx_id": "TRX0001"
}
Below is an example of the request body:
curl --location --request PUT https://partner.oyindonesia.com/api/static-virtual-account/12345b1-23be-45670-a123-5ca678f12b3e
--header 'content-type: application/json' \
--header 'accept: application/json' \
--header 'x-oy-username: username' \
--header 'x-api-key: apikey' \
-d '{"is_open" : true,"amount": 50000,"is_single_use" : false,"expiration_time": 30,"username_display" : "va name","bank_code": "014","trx_expiration_time":5,"partner_trx_id":"TRX0001"}'
Below is the sample of response parameters that will be returned:
{
"id": "12345b1-23be-45670-a123-5ca678f12b3e",
"status": {
"code": "000",
"message": "Success"
},
"amount": 50000,
"va_number": "700707760000000003",
"bank_code": "014",
"is_open": true,
"is_single_use": false,
"expiration_time": 1582802205412,
"va_status": "WAITING_PAYMENT",
"username_display": "va name",
"partner_user_id": "123456",
"trx_expiration_time": 1582802205412,
"partner_trx_id": "TRX0001"
}
All details regarding your created VA and its payments can be monitored directly from the OY! dashboard.
- Additionally, Create VA via API can be retrieved via our API endpoint.
Similarly, all the details regarding incoming transactions can be monitored directly from the OY! dashboard.
- Additionally, Create VA via API can be retrieved via our API endpoint.
For further details regarding OY!'s extensive API VA Aggregator capabilities and endpoints, please refer to the OY! API Documentation.
VA Bank Details
Bank (Virtual Account) | Capability (Open Amount/Closed Amount) |
---|---|
BNI | Closed Amount |
Bank Mandiri | Open Amount, Closed Amount |
BRI | Open Amount, Closed Amount |
BCA | Open Amount, Closed Amount |
Bank Permata / Permata Syariah | Open Amount, Closed Amount |
CIMB Niaga / CIMB Niaga Syariah | Open Amount, Closed Amount |
BTPN | Open Amount, Closed Amount |
BSI (Bank Syariah Indonesia) | Closed Amount |
Available Payment Channels for VA
Your end-users may use the below payment channels to pay for their bills via VA
Bank (Virtual Account) | SKN | RTGS | ATMs | Intrabank Mobile Banking & Internet Banking | Interbank Internet Banking | Interbank Mobile Banking |
---|---|---|---|---|---|---|
Bank Mandiri | Yes | Yes | Yes | Yes | Yes | Yes |
BRI | Yes | Yes | Yes | Yes | No | Yes |
BNI | Yes | Yes | Yes | Yes | No | Yes |
Permata | Yes | Yes | Yes | Yes | No | Yes |
CIMB Niaga / CIMB Niaga Syariah | Yes | Yes | Yes | Yes (Mobile Banking), No (Internet Banking) | No | Yes |
BCA | No | No | Yes | Yes | No | No |
BTPN | Yes | No | Yes | Yes (Mobile Banking), No (Internet Banking) | No | Yes |
BSI | No | No | Yes | Yes | Yes | Yes |
Payment Links/Invoice
Overview Payment Link OY! Payment Link/Invoice is a pre-built payment page that allows your business to easily and securely accept payments online. Currently, our payment link/invoice page supports Credit Card, Debit Card, Bank Transfer, E-Wallet (ShopeePay, DANA, LinkAja, OVO), and QR Code (QRIS) payment methods. You can create payment link/invoice pages through various methods: OY! Dashboard and API.
Creating a payment link/invoice page is free! You will only be charged when you successfully receive a payment made through that checkout/invoice page.
Payment Flow
- You create payment link/invoice page for your customers
- Your customers make a payment through the payment link/invoice page
- OY! detects the payments and notifies you about the payments through sending a callback and/or updating the payment status on your dashboard
- The payments received will settle in your OY! dashboard
Payment Link Preview
Key Features
Various options of creating payment link/invoice page
1. Creating payment link/invoice page through dashboard
No integration needed
Offer your customers a seamless way to pay and complete payment channels without the need of an integration.
Choose between one-time link and reusable link
One-time link is a link that can only be paid once. Reusable link is a link that can receive multiple payments.
Parameter customization
Parameter Type | Parameter Name | Definition |
---|---|---|
Transaction-related | Amount | The payment amount that will be displayed in the payment link page |
Transaction-related | Description | The description of the payment link. Usually this is used to describe the purpose of the payment link page |
Transaction-related | Partner Transaction ID | A unique transaction ID that you can assign to a transaction |
Transaction-related | Balance Destination. | The balance destination of the fund received from the transaction. Options: 1) "My Balance" (When your users make a successful payment, the transaction will be recorded in your balance/account statement, 2) "My Child's Balance" (When your users make a successful payment, the transaction will be recorded in the selected child's balance/account statement. This field only appears when your account has at least one or more active Child. |
Customer Detail | Customer details that can be specified (optional): Customer Name, Phone Number, Email, and Notes. We will send the payment link page link to the specified email address (if email address is filled in) | Customer Name, Phone Number, Email, and Notes |
Payment Link Configuration | Amount Type | You can choose between Open Amount and Closed Amount. Open Amount = can accept payments of any amount, OR up to the specified amount (if amount is filled in). Closed Amount = only accept payments of the specified amount |
Payment Link Configuration | Payment Method | The payment method that you can choose to enable/disable for your customers. The payment methods available are Bank Transfer (via Virtual Account), Cards (Credit Card/Debit Card), E-Wallet (ShopeePay, DANA, LinkAja, OVO), and QRIS |
Payment Link Configuration | Admin Fee Method | You can choose between "Included in total amount" or "Excluded from total amount". "Included in total amount" means the admin fee will be deducted from the payment amount made by the customer. "Excluded from total amount" means the admin fee will be added to the customer's total payment (Total Amount = Specified Amount + Admin Fee) |
Payment Link Configuration | Payment Link Expiration Date | You can choose (specify the day(s) and/or hour(s)) of when the payment link will expire after it is created. For example, if you want the link to expire 1 day after it is created, fill 1 day 0 hour in the Payment Link Expiration Date field. |
UI customization
In order to maintain a consistent brand experience for your users, you can customize the look and feel of your payment link in the Dashboard, where you can do the following things;
- Upload a logo
- Choose the button and the theme color of the payment link
Payment Link Delivery by Email and/or WhatsApp
You can choose to send the created link to your users through Email and/or WhatsApp for better payment conversion. If you want to share the payment link to your customer's email, you can define the email parameter in our API. No need for you to send a separate email. If you want to share the payment link through WhatsApp, follow the steps here
Payment Success Notification for your Users
When your users make a successful payment, you can choose to send them a success receipt through Email
2. Creating payment link/invoice page through API
Seamless integration with your customer's purchase journey You can easily call our API - we will take care of the payment link/invoice link creation and feed it back to you so that you can embed the link in your customer journey.
Added level of customization
Below are the things that you can customize:
Amount (specify the amount and choose between open amount vs closed amount)
Admin fee (choose whether the admin fee will be borne by your customers or borne by you)
Payment method (choose the payment methods displayed to your customers among Bank Transfer (via Virtual Account and Unique Code), Cards (Credit Card/Debit Card), E-Wallet (ShopeePay, DANA, LinkAja, OVO), and QR Code options. Additionally, you can choose which banks are enabled for Bank Transfer method.)
Payment link expiration date
Static VA for Invoice Payment You can enable a static VA option when using the API specifically assigned to your customer.
Upload or Create a PDF for your Invoice Billing You can upload an invoice attachment or create an attachment using the OY! PDF templates via our API so you do not need to send a separate email to your customer.
Payment Link Delivery by Email and/or WhatsApp
You can choose to send the created link to your users through Email and/or WhatsApp for better payment conversion. If you want to share the payment link to your customer's email, you can define the email parameter in our API. No need for you to send a separate email. If you want to share the payment link through WhatsApp, follow the steps here
- Payment Success Notification for your Users
When your users make a successful payment, you can choose to send them a success receipt through Email
Capability to monitor payment link/invoice details on dashboard
Whether you send your user dashboard-generated link, or an API-generated encapsulated link, each of your distributed payment link can be monitored through the OY! Dashboard. We will also send a callback for all incoming payments.
You will be able to see the details of the payment link including, but not limited to, the payment status, creation and expiration dates and times, amount, description, payment details, and payer details. For further convenience, you can also find and filter through your payment link list by creation date, partner transaction ID, or status.
We also provide an API for you to check the transaction status manually.
Support Multi Account Management
With this feature, you will be able to accept payment from your users through Payment Link created on behalf of a child account. When your users make a successful transaction, the transaction will be recorded in the Child Account's balance. As a parent, you are equipped with the ability to view the Child Account's balance and transaction list anytime through Children → Children Statement.
Click here for more information on this feature.
Registration and Set Up
For dashboard-generated links
Follow the below check-list to ensure you're all set up to use the above service:
- Create an account
- Upgrade your account by submitting the required documentations
- Have your upgrade request approved
- Set up your receiving bank account information (note: ensure that the receiving bank account information is accurate as it cannot be changed via OY! dashboard for security reasons)
- Once your account is approved, you can start creating Payment Link transactions
For API-generated links
- Create an account
- Upgrade your account by submitting the required documentations
- Have your upgrade request approved
- Set up your receiving bank account information (note: ensure that the receiving bank account information is accurate as it cannot be changed via OY! dashboard for security reasons)
- Submit your IPs and callback URLs to your business representative or to partner@oyindonesia.com
- Receive an API Key from us (note: it is required for API authorization purpose)
- Integrate with our Payment Link API (https://api-docs.oyindonesia.com/#api-create-payment-checkout)
Testing
Creating dashboard-generated test links
One-time Link
- Log on your OY! dashboard
- Choose "Staging" environment
- Click "Request Money" menu, and choose "Payment Link"
- Choose "One Time"
- Click "Create One-Time Payment Link"
- Fill in the necessary details
One-time Payment Link consists of 3 parameter types: Transaction-related, Customer Detail, and General Payment Link Configuration.
Parameter Type | Parameter Name | Definition |
---|---|---|
Transaction-related | Amount | The payment amount that will be displayed in the payment link page |
Transaction-related | Description | The description of the payment link. Usually this is used to describe the purpose of the payment link page |
Transaction-related | Partner Transaction ID | A unique transaction ID that you can assign to a transaction |
Transaction-related | Balance Destination. | The balance destination of the fund received from the transaction. Options: 1) "My Balance" (When your users make a successful payment, the transaction will be recorded in your balance/account statement, 2) "My Child's Balance" (When your users make a successful payment, the transaction will be recorded in the selected child's balance/account statement. This field only appears when your account has at least one or more active Child. |
Customer Detail | Customer details that can be specified (optional): Customer Name, Phone Number, Email, and Notes. We will send the payment link to the specified email address (if email address is filled in) | Customer Name, Phone Number, Email, and Notes |
Payment Link Configuration | Amount Type | You can choose between Open Amount and Closed Amount. Open Amount = can accept payments of any amount, OR up to the specified amount (if amount is filled in). Closed Amount = only accept payments of the specified amount |
Payment Link Configuration | Payment Method | The payment method that you can choose to enable/disable for your customers. The payment methods available are Bank Transfer (via Virtual Account), Cards (Credit Card/Debit Card), E-Wallet (ShopeePay, DANA, LinkAja, OVO), and QRIS |
Payment Link Configuration | Admin Fee Method | You can choose between "Included in total amount" or "Excluded from total amount". "Included in total amount" means the admin fee will be deducted from the payment amount made by the customer. "Excluded from total amount" means the admin fee will be added to the customer's total payment (Total Amount = Specified Amount + Admin Fee) |
Payment Link Configuration | Payment Link Expiration Date | You can choose (specify the day(s) and/or hour(s)) of when the payment link will expire after it is created. For example, if you want the link to expire 1 day after it is created, fill 1 day 0 hour in the Payment Link Expiration Date field. |
Note: For Payment Link Configuration-related fields (Amount Type, Payment Method, Admin Fee Method, Payment Link Expiration Date), you can choose to save your selected configuration for the future transactions by ticking the "Use this configuration for future transaction(s) option. By saving it, you will no longer need to fill in the fields again the next time you create a payment link.
Reusable Link
- Log on your OY! dashboard
- Choose "Staging" environment
- Click "Request Money" menu, and choose "Payment Link"
- Choose "Reusable"
- Click "Create Reusable Link"
- Fill in the necessary details
Reusable Payment Link consists of 2 parameter types: Transaction-related and General Payment Link Configuration.
Parameter Type | Parameter Name | Definition |
---|---|---|
Transaction-related | Amount | The payment amount that will be displayed in the payment link page |
Transaction-related | Description | The description of the payment link. Usually this is used to describe the purpose of the payment link page |
Transaction-related | Partner Transaction ID | A unique transaction ID that you can assign to a transaction |
Transaction-related | Balance Destination. | The balance destination of the fund received from the transaction. Options: 1) "My Balance" (When your users make a successful payment, the transaction will be recorded in your balance/account statement, 2) "My Child's Balance" (When your users make a successful payment, the transaction will be recorded in the selected child's balance/account statement. This field only appears when your account has at least one or more active Child. |
Payment Link Configuration | Amount Type | You can choose between Open Amount and Closed Amount. Open Amount = can accept payments of any amount, OR up to the specified amount (if amount is filled in). Closed Amount = only accept payments of the specified amount |
Payment Link Configuration | Payment Method | The payment method that you can choose to enable/disable for your customers. The payment methods available are Bank Transfer (via Virtual Account and Unique Code), Cards (Credit Card/Debit Card), E-Wallet (ShopeePay, DANA, LinkAja, OVO), and QRIS |
Payment Link Configuration | Admin Fee Method | You can choose between "Included in total amount" or "Excluded from total amount". "Included in total amount" means the admin fee will be deducted from the payment amount made by the customer. "Excluded from total amount" means the admin fee will be added to the customer's total payment (Total Amount = Specified Amount + Admin Fee) |
Payment Link Configuration | Payment Link Expiration Date | You can choose (specify the day(s) and/or hour(s)) of when the payment link will expire after it is created. You can choose between "Custom" (where you can specify the expiration time as you wish) and "Lifetime" (where a link will last for a lifetime and have no expiration time). If you want the link to expire 1 day after it is created, fill 1 day 0 hour in the Payment Link Expiration Date field. |
Note: For Payment Link Configuration-related fields (Amount Type, Payment Method, Admin Fee Method, Payment Link Expiration Date), you can choose to save your selected configuration for the future transactions by ticking the "Use this configuration for future transaction(s) option. By saving it, you will no longer need to fill in the fields again the next time you create a payment link.
Creating API-generated test links
- Create an account
- Send a request to activate API Payment Link product and obtain staging API Key to your business representative
- Create a payment link by sending a ‘POST’ request to https://api-stg.oyindonesia.com/api/payment-checkout/create-v2. Enter the required and optional fields, as referenced in the API reference docs
Note: The link generated via API will always be a one-time link.
Accessing and monitoring the created test payment links
Whether you create the link through dashboard or API, you can see the details of your link on the OY! Dashboard. The details that can be checked are the created date of the link, amount billed, amount received, expiration date, and status.
Mock Amount Values for Testing
During testing, you can set the transaction amount to a certain mock value to simulate a specific scenario.
Payment Method | Scenario | Criteria | Expected Result |
---|---|---|---|
E-Wallet - ShopeePay | Payment already successful on E-Wallet issuer side but failed on OY side (can be due to callback timeout reasons). The transaction is refunded to the end-user's balance | Amount is between 55,000 and 66,000 | Refund Successful |
QRIS | Payment already successful on E-Wallet issuer side but failed on OY side (can be due to callback timeout reasons). The transaction is refunded to the end-user's balance | Amount is between 55,000 and 66,000 | Refund Successful |
E-Wallet - LinkAja | Payment already successful on E-Wallet issuer side but failed on OY side (can be due to callback timeout reasons). The transaction is refunded to the end-user's balance | Amount is between 55,000 and 66,000 | Refund Successful |
E-Wallet - ShopeePay | Failure during refund process | Amount is less than 55,000 or greater than 66,000 | Refund Failed |
QRIS | Failure during refund process | Amount is less than 55,000 or greater than 66,000 | Refund Failed |
E-Wallet - LinkAja | Failure during refund process | Amount is less than 55,000 or greater than 66,000 | Refund Failed |
Mock Credentials for Testing
Specifically for payment via Credit Card or Debit Card, you may use the below credentials to simulate an end-to-end payment joruney for a successful transaction in staging environment
Card Details | Values |
---|---|
Card Number | 2223000000000007 |
Card Expired Month/Year | 01/39 |
Card CVN | 100 |
Card Holder Name | Testing |
Simulate Credit Card / Debit Card Transaction Callback for Testing As an alternative to the above, if you would like to simulate the callback for Credit Card or Debit Card transaction, but not necessarily the end-to-end payment journey, you may manually send callback by following these steps:
- Log in to your OY! Dashboard
- Select Environment: Demo in the top left corner
- Make sure to have inputted your staging callback URL on Settings: 'Developer Options' (tab: Callback Configuration - Payment Link)
- Create a payment link in Demo environment
- Click on the link and proceed with Credit Card or Debit Card as your payment method
- Copy the Reference Number of the transaction - it should be available under "Transaction Details"
- Return to OY! Dashboard and click on the Settings: 'CC-DC Callback"
- Paste the Reference Number of the transaction and choose whether you would like to simulate a callback for successful transaction or a failed transaction
- Click "Send Callback". OY! will only send callback for a successful transaction whether in staging environment or production environment
How to Use Payment Link via Dashboard
One-time Link
- Log on your OY! dashboard
- Choose "Staging" environment
- Click "Request Money" menu, and choose "Payment Link"
- Choose "One Time"
- Click "Create One-Time Link"
- Fill in the necessary details
One-time Payment Link consists of 3 parameter types: Transaction-related, Customer Detail, and General Payment Link Configuration.
Parameter Type | Parameter Name | Definition |
---|---|---|
Transaction-related | Amount | The payment amount that will be displayed in the payment link page |
Transaction-related | Description | The description of the payment link. Usually this is used to describe the purpose of the payment link page |
Transaction-related | Partner Transaction ID | A unique transaction ID that you can assign to a transaction |
Transaction-related | Balance Destination. | The balance destination of the fund received from the transaction. Options: 1) "My Balance" (When your users make a successful payment, the transaction will be recorded in your balance/account statement, 2) "My Child's Balance" (When your users make a successful payment, the transaction will be recorded in the selected child's balance/account statement. This field only appears when your account has at least one or more active Child. |
Customer Detail | Customer details that can be specified (optional): Customer Name, Phone Number, Email, and Notes. We will send the payment link to the specified email address (if email address is filled in) | Customer Name, Phone Number, Email, and Notes |
Payment Link Configuration | Amount Type | You can choose between Open Amount and Closed Amount. Open Amount = can accept payments of any amount, OR up to the specified amount (if amount is filled in). Closed Amount = only accept payments of the specified amount |
Payment Link Configuration | Payment Method | The payment method that you can choose to enable/disable for your customers. The payment methods available are Bank Transfer (via Virtual Account and Unique Code), Cards (Credit Card/Debit Card), E-Wallet (ShopeePay, DANA, LinkAja, OVO), and QRIS |
Payment Link Configuration | Admin Fee Method | You can choose between "Included in total amount" or "Excluded from total amount". "Included in total amount" means the admin fee will be deducted from the payment amount made by the customer. "Excluded from total amount" means the admin fee will be added to the customer's total payment (Total Amount = Specified Amount + Admin Fee) |
Payment Link Configuration | Payment Link Expiration Date | You can choose (specify the day(s) and/or hour(s)) of when the payment link will expire after it is created. You can choose between "Custom" (where you can specify the expiration time as you wish) and "Lifetime" (where a link will last for a lifetime and have no expiration time). If you want the link to expire 1 day after it is created, fill 1 day 0 hour in the Payment Link Expiration Date field. . |
Note: For Payment Link Configuration-related fields (Amount Type, Payment Method, Admin Fee Method, Payment Link Expiration Date), you can choose to save your selected configuration for the future transactions by ticking the "Use this configuration for future transaction(s) option. By saving it, you will no longer need to fill in the fields again the next time you create a payment link.
Reusable Link
- Log on your OY! dashboard
- Choose "Staging" environment
- Click "Request Money" menu, and choose "Payment Link"
- Choose "Reusable"
- Click "Create Reusable Link"
- Fill in the necessary details
Reusable Payment Link consists of 2 parameter types: Transaction-related and General Payment Link Configuration.
Parameter Type | Parameter Name | Definition |
---|---|---|
Transaction-related | Amount | The payment amount that will be displayed in the payment link page |
Transaction-related | Description | The description of the payment link. Usually this is used to describe the purpose of the payment link page |
Transaction-related | Partner Transaction ID | A unique transaction ID that you can assign to a transaction |
Transaction-related | Balance Destination. | The balance destination of the fund received from the transaction. Options: 1) "My Balance" (When your users make a successful payment, the transaction will be recorded in your balance/account statement, 2) "My Child's Balance" (When your users make a successful payment, the transaction will be recorded in the selected child's balance/account statement. This field only appears when your account has at least one or more active Child. |
Payment Link Configuration | Amount Type | You can choose between Open Amount and Closed Amount. Open Amount = can accept payments of any amount, OR up to the specified amount (if amount is filled in). Closed Amount = only accept payments of the specified amount |
Payment Link Configuration | Payment Method | The payment method that you can choose to enable/disable for your customers. The payment methods available are Bank Transfer (via Virtual Account and Unique Code), Cards (Credit Card/Debit Card), E-Wallet (ShopeePay, DANA, LinkAja, OVO), and QRIS |
Payment Linkfiguration | Admin Fee Method | You can choose between "Included in total amount" or "Excluded from total amount". "Included in total amount" means the admin fee will be deducted from the payment amount made by the customer. "Excluded from total amount" means the admin fee will be added to the customer's total payment (Total Amount = Specified Amount + Admin Fee) |
Payment Link Configuration | Payment Link Expiration Date | You can choose (specify the day(s) and/or hour(s)) of when the payment link will expire after it is created. For example, if you want the link to expire 1 day after it is created, fill 1 day 0 hour in the Payment Link Expiration Date field. |
Note: For Payment Link Configuration-related fields (Amount Type, Payment Method, Admin Fee Method, Payment Link Expiration Date), you can choose to save your selected configuration for the future transactions by ticking the "Use this configuration for future transaction(s) option. By saving it, you will no longer need to fill in the fields again the next time you create a payment link.
Monitoring the payment link transactions
One-time Link
All of the created links can be monitored through your dashboard (Payment Link List).
The transaction details that you can see are;
Column Name | Definition |
---|---|
Date & Time Created | The creation timestamp of a child transaction. The timestamp of a user selecting a payment method |
Last Update | The last update timestamp of a child reusable link. This usually denotes the timestamp of a status change for a child link. |
Partner Tx ID | The partner tx ID of a reusable link you just created |
Balance Destination | The destination of the fund received from a transaction. Options: 1) "My Balance" (When your users make a successful payment, the transaction will be recorded in your balance/account statement, 2) "My Child's Balance" (When your users make a successful payment, the transaction will be recorded in the selected child's balance/account statement. This field only appears when your account has at least one or more active Child. |
Child Username | The username of the child (this will only be filled in when Balance Destination = "Child's Balance" |
Amount Billed | The amount billed for that particular transaction |
Admin Fee | The admin fee charged for that particular transaction |
Amount Received | The amount received / the amount of payment made by the user. This will only be filled in if the user has completed the payment. |
Payment method used | The payment method that your user uses to pay the transaction. This will only be filled in if the user has completed the payment |
Transaction Due Date | The due date of a transaction. |
Days Past Due | How many days a link has gone past the transaction due date. For example, if today’s date is 1 Dec and transaction due date is 30 Nov, the days past due will be 1 |
Customer Name | The name of your user/customer |
Customer Phone Number | The phone number of your user/customer |
Customer Notes | The transaction notes written by your user/customer |
Status | The transaction status. Possible values are WAITING PAYMENT, FAILED, CHARGE IN PROGRESS, EXPIRED, AND COMPLETE |
Reusable Link
After you successfully create a reusable link, it will become a "Parent" link. The Parent link will appear in the "Created Reusable Link" tab. There, you will see the details of a reusable link you just created.
Column Name | Definition |
---|---|
Last Update | The last update timestamp of a parent reusable link. This usually denotes the timestamp of a status change for a parent link. |
Partner Tx ID | The partner tx ID of a reusable link you just created |
Balance Destination | The destination of the fund received from a transaction. Options: 1) "My Balance" (When your users make a successful payment, the transaction will be recorded in your balance/account statement, 2) "My Child's Balance" (When your users make a successful payment, the transaction will be recorded in the selected child's balance/account statement. This field only appears when your account has at least one or more active Child. |
Child Username | The username of the child (this will only be filled in when Balance Destination = "Child's Balance" |
Amount Billed | The billed amount per individual transaction (not a cumulative amount). For example, if the amount is set at Rp 10,000 for a reusable parent link, the amount billed will be filled in with Rp 10,000 |
Admin Fee | The cumulative admin fee received for a particular parent reusable link. If a parent reusable link has peen paid twice, with admin fee Rp 500 each, the admin fee will be filled in with Rp 500 x 2 = Rp 1,000 |
Amount Received | The cumulative admin fee received for a particular parent reusable link. If a parent reusable link has peen paid twice, with admin fee Rp 500 each, the admin fee will be filled in with Rp 500 x 2 = Rp 1,000 |
Count of Complete Tx | The count of completed transactions under a parent reusable link |
Payment link expiration date | The date after which a parent reusable link can no longer receive a transaction. |
Status | The status of a parent reusable link. Possible status: OPEN FOR PAYMENT (means the link can still receive payments) and EXPIRED (status will be changed to EXPIRED when the payment link has exceeded the expiration date). When status is set as EXPIRED, the payment link can no longer receive a transaction |
Action | The possible actions that you can take on a link: Copy URL, Visit URL, Delete, and Resend Callback |
When you click the hyperlink in the Partner Tx ID, you will be redirected to a page where you can see the transaction details corresponding to that Parent Reusable Link.
The transaction list displayed is the transaction that is linked to a Parent Reusable Link
The transaction details that you can see are;
Column Name | Definition |
---|---|
Date & Time Created | The creation timestamp of a child transaction. The timestamp of a user selecting a payment method |
Last Update | The last update timestamp of a child reusable link. This usually denotes the timestamp of a status change for a child link. |
Partner Tx ID | The partner tx ID of a reusable link you just created |
Balance Destination | The destination of the fund received from a transaction. Options: 1) "My Balance" (When your users make a successful payment, the transaction will be recorded in your balance/account statement, 2) "My Child's Balance" (When your users make a successful payment, the transaction will be recorded in the selected child's balance/account statement. This field only appears when your account has at least one or more active Child. |
Child Username | The username of the child (this will only be filled in when Balance Destination = "Child's Balance" |
Amount Billed | The amount billed for that particular transaction |
Admin Fee | The admin fee charged for that particular transaction |
Amount Received | The amount received / the amount of payment made by the user. This will only be filled in if the user has completed the payment. |
Payment method used | The payment method that your user uses to pay the transaction. This will only be filled in if the user has completed the payment |
Transaction Due Date | The due date of a transaction. |
Days Past Due | How many days a link has gone past the transaction due date. For example, if today’s date is 1 Dec and transaction due date is 30 Nov, the days past due will be 1 |
Customer Name | The name of your user/customer |
Customer Phone Number | The phone number of your user/customer |
Customer Notes | The transaction notes written by your user/customer |
Status | The transaction status. Possible values are WAITING PAYMENT, FAILED, CHARGE IN PROGRESS, EXPIRED, AND COMPLETE |
Action | The possible actions that you can take on a link: Copy URL, Visit URL, Delete, and Resend Callback |
When your user has opened the parent reusable link and selected a payment method, it will become a "child reusable link" and generate a child transaction ID. The child transaction ID will appear in the "List of All Transactions" tab
The details that you can see are;
Column Name | Definition |
---|---|
Date & Time Created | The creation timestamp of a child transaction. The timestamp of a user selecting a payment method |
Last Update | The last update timestamp of a child reusable link. This usually denotes the timestamp of a status change for a child link. |
Partner Tx ID | The partner tx ID of a reusable link you just created |
Balance Destination | The destination of the fund received from a transaction. Options: 1) "My Balance" (When your users make a successful payment, the transaction will be recorded in your balance/account statement, 2) "My Child's Balance" (When your users make a successful payment, the transaction will be recorded in the selected child's balance/account statement. This field only appears when your account has at least one or more active Child. |
Child Username | The username of the child (this will only be filled in when Balance Destination = "Child's Balance" |
Amount Billed | The amount billed for that particular transaction |
Admin Fee | The admin fee charged for that particular transaction |
Amount Received | The amount received / the amount of payment made by the user. This will only be filled in if the user has completed the payment. |
Payment method used | The payment method that your user uses to pay the transaction. This will only be filled in if the user has completed the payment |
Customer Name | The name of your user/customer |
Customer Phone Number | The phone number of your user/customer |
Customer Notes | The transaction notes written by your user/customer |
Status | The transaction status. Possible values are WAITING PAYMENT, FAILED, CHARGE IN PROGRESS, EXPIRED, AND COMPLETE |
Action | The possible actions that you can take on a link: Copy URL, Visit URL, Delete, and Resend Callback |
How to Use Invoice/Account Receivable via Dashboard
- Log on your OY! dashboard
- Choose "Production" environment
- Click "Create Invoice" under Account Receivable menu
- Click "Create New Invoice"
- Fill in the necessary details
Parameter | Description |
---|---|
Invoice Number | The number of the invoice to be created |
Invoice Date | The date of the invoice |
Due Date | Due date of a transaction. You can choose between 7, 14, 30, 45, or 60 days after created date of the invoice OR you can also input a specific/custom date. Your customer will get reminders to pay on D-1, D-Day, and D+7 from the transaction due date. |
Link Expiry Datetime | You can now set your link expiry date and time for your conveniences. The expiry time selected will also appear on PDF documents. |
Customer | The name of the customer that the invoice is addressed to. You can choose the name of the customer from the dropdown. To create a new customer, follow the instruction here. |
Product Description | The name and/or description of the product |
Quantity | The quantity of the product |
Unit price | Unit price of the product |
Amount | Total amount for the product |
Notes | The note to be displayed in the automatically generated invoice file |
Additional Documents | The supporting documents that will be attached in the email along with the invoice. Accept PDF & Excel files. Maximum of 4 documents (maximum 5MB each). |
Invoice Payment | You can choose between "Payment Link" (the invoice will be embedded with a payment link that the customer can use to make a payment on) or "Invoice Only" (the invoice will not be embedded with a payment link). For "Invoice Only", invoice status can be adjusted at any time for record purposes. |
Payment Method | The payment method that you can choose to enable/disable for your customers. The payment methods available are Bank Transfer (via Virtual Account and Unique Code), Cards (Credit Card/Debit Card), E-Wallet (ShopeePay, DANA, LinkAja, OVO), and QR Code |
Admin Fee Method | You can choose between "Included in total amount" or "Excluded from total amount". "Included in total amount" means the admin fee will be deducted from the payment amount made by the customer. "Excluded from total amount" means the admin fee will be added to the customer's total payment (Total Amount = Specified Amount + Admin Fee) |
Create Invoice form with flexible Payment Link Expiry Time
Invoice details inside dashboard.
Invoice preview inside dashboard
Monitoring the invoices/account receivable
All of the created invoices (via API or Dashboard) can be monitored through your dashboard (Invoice List).
The transaction details that you can see are:
Column Name | Definition |
---|---|
Invoice Number | The number of the invoice created |
Customer Name | The name of the customer whom the invoice belongs to |
Amount Billed | The amount billed for that particular transaction |
Admin Fee | The admin fee charged for that particular transaction |
Amount Received | The amount received / the amount of payment made by the user. This will only be filled in after the user has completed the payment. |
Invoice Date | The date of the invoice. |
Payment Date | The date of payment (if the invoice has been successfully paid by the customer) |
Due Date | The invoice due date |
Days Past Due | How many days an invoice has gone unpaid past the due date. For example, if due date is 1 July and the invoice is not paid by 4 July, then Days Past Due will be filled in with 3 |
Payment Link Expiry | Maximum date and time that a payment link can stay valid for before expiring permanently |
Status | The transaction status. Possible values are CREATED, PAID, CANCELLED, and OVERDUE |
In terms of status, below are the status mapping between API Invoice and status in dashboard
API Invoice Status | Dashboard status |
---|---|
CREATED, WAITING PAYMENT, FAILED | UNPAID |
COMPLETE | PAID |
EXPIRED | CANCELLED |
OVERDUE | Late Payment Tab |
There are several actions that you can take for the created invoice:
Action | Definition |
---|---|
Send invoice | To send the invoice to the customer's defined email |
Download invoice | To download the PDF file of the invoice |
Delete | To delete the invoice. Only invoice with status CREATED can be deleted |
Creating a Customer for Account Receivable/Invoice
There are 2 ways to create a Customer:
Option 1: Through "Create Invoice" menu
- Click dropdown of the "Customer"
- Click "Add new customer"
- Fill in Customer ID, Customer Name (mandatory), PIC Name, Customer Phone Number, Tax Type (mandatory), Customer Email, Address.
- Click save
For Tax Type, the explanation is as follows:
Tax Type | Definition |
---|---|
No tax | Tax will not be added to the subtotal |
PPN 10% Inclusive | Tax will not be added upon the subtotal because the subtotal is assumed to be tax inclusive. 10% is applicable for older than April 2022 transaction |
PPN 10% Exclusive | Tax will be added separately to the subtotal. 10% is applicable for older than April 2022 transaction |
PPN 11% Inclusive | Tax will not be added upon the subtotal because the subtotal is assumed to be tax inclusive |
PPN 11% Exclusive | Tax will be added separately to the subtotal. |
PPh23 Non NPWP 4% | Tax will be substracted from the subtotal |
PPh 23 NPWP 2% | Tax will be substracted from the subtotal |
Option 2: Through "Customer Management" menu
- Click "Customer Management" sidebar under the "Receive Money" menu
- Click "Add new customer"
- Fill in Customer ID, Customer Name (mandatory), PIC Name, Customer Phone Number, Tax Type (mandatory), Customer Email, Address.
- Click "Save"
All of the created customer can be monitored through your dashboard (Customer List). There are several actions that you take for the customer data:
Edit --> To edit the data of the customer
Activate/Deactivate --> To deactivate / reactivate the customer
If you click on the row you selected, you will be able to see the detailed data of the customer, including the list of invoices belonging to that customer.
Amount Customization for Account Receivable/Invoice
OY! has a feature that allows you to add the price of the subtotal (addition) and/or deduct the price from subtotal. The step is as follows:
- Click "add column" below the subtotal
- Choose "addition" or "substraction" from the dropdown
- Fill in the description
- Fill in the amount
How to Use Payment Link/Invoice via API
OY! provides 3 different payment link endpoints depending on your requirements and needs. We provide payment link, invoicing, and recurring invoice.
Send us instructions to generate a payment link.
Below is an example of a request body to execute your request:
curl -X POST \
https://partner.oyindonesia.com/api/payment-checkout/create-v2 \-H 'cache-control: no-cache' -H 'content-type: application/json' \-H 'X-Api-Key: apikeymu' -H 'X-Oy-Username: yourusername' \-d '{
"partner_tx_id":"partnerTxId",
"description":"description",
"notes":"notes",
"sender_name":"Sender name",
"amount":50000,
"email":"",
"phone_number":"",
"is_open":false,
"step":"input-amount",
"include_admin_fee":false,
"list_disabled_payment_methods":"",
"list_enabled_banks":"",
"expiration":"2020-08-08 08:09:12"
}'
Below is the sample response parameters that will be returned:
{
"success": true,
"url": "https://pay.oyindonesia.com/id",
"message": "success",
"email_status": "PROCESSED",
"payment_link_id": "id"
}
Send us instructions to generate a payment link invoice link.
Below is an example of a request body to execute your request:
url -X POST \
https://partner.oyindonesia.com/api/payment-checkout/create-invoice\-H 'cache-control: no-cache' -H 'content-type: application/json' \-H 'X-Api-key: apikeymu' -H 'X-Oy-Username: yourusername' \-d '{
"partner_tx_id":"partner tx id",
"description":"desc invoice",
"notes":"notes satu",
"sender_name":"Sender Name API",
"amount":"30000",
"email":"",
"phone_number":"",
"is_open":"true",
"step":"input-amount",
"include_admin_fee":false,
"list_disabled_payment_methods":"",
"list_enabled_banks":"013",
"expiration":"2020-07-28 19:15:13",
"partner_user_id":"partner user id",
"full_name" : "Raymond",
"is_va_lifetime": false,
"attachment": "JVBERi0xLjQKJeLjz9MKMyAwIG9iago8PC9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDQ5Nj4+c3RyZWFtCnicrZVdb9MwFIbv/SsOd51EwrHjz0tKhxQk2IciJMS4CG46lbVNyYcE/HqcbNloh5xO8U3OUXJ8Hr/2aweBQkQBQRjhnnZLfpJ5RhIJQhjIluQ8I1eEwYfubVeHMFRnW/LmPQWKkK3I7Cz70dU+lfTN/hnE3ChJY9SPA0U3EPvP1S2ZXXx5Bemnzxfpu/OuGcLtfxp+/ebisp+QH8VkrNjhHJ9QaV23xRKyciKIGuCGjYPmv6cq0idKWuRNEYDlV7VoixAgwcdEXeZVsysqyH5BughA88t6uy3bXQNO3XRbCEq9pKr8sw5gPuXT8zGv7/JNCOeh9mAYMoxQRcyEMJ5KRlEmokkI63lVrSgqi8JEWlsV8ZURkRFMR1pILkVuZcJYCEd69V7vY3eZxYj4GvEkGsaMK5SAMTcauYsKje6aObskUsGWaKr7bPOYHUd7/8XIocZlx9H2DfuSh+Qw2AG4GZLDYMlqmLfHEQIS/XyBaOf++5uoqG213jfrcjfVfAYdi/tY0288noxBrpqpvwoh1AjjslrbqUo6j/kpWdnkG7iZpYvrm7MQmyOe045vBhkhDbFFI6gTz6Jvj9zqCd+frz/5MRMvOvyeBUxGRM3bvIHvRZXvmryGu7Jq901ZhTDJqEweC+xlvkTqX6+ILeYKZW5kc3RyZWFtCmVuZG9iagoxIDAgb2JqCjw8L1RhYnMvUy9Hcm91cDw8L1MvVHJhbnNwYXJlbmN5L1R5cGUvR3JvdXAvQ1MvRGV2aWNlUkdCPj4vQ29udGVudHMgMyAwIFIvVHlwZS9QYWdlL1Jlc291cmNlczw8L0NvbG9yU3BhY2U8PC9DUy9EZXZpY2VSR0I+Pi9Qcm9jU2V0IFsvUERGIC9UZXh0IC9JbWFnZUIgL0ltYWdlQyAvSW1hZ2VJXS9Gb250PDwvRjEgMiAwIFI+Pj4+L1BhcmVudCA0IDAgUi9Sb3RhdGUgOTAvTWVkaWFCb3hbMCAwIDU5NSA4NDJdPj4KZW5kb2JqCjUgMCBvYmoKWzEgMCBSL1hZWiAwIDYwNSAwXQplbmRvYmoKMiAwIG9iago8PC9TdWJ0eXBlL1R5cGUxL1R5cGUvRm9udC9CYXNlRm9udC9IZWx2ZXRpY2EvRW5jb2RpbmcvV2luQW5zaUVuY29kaW5nPj4KZW5kb2JqCjQgMCBvYmoKPDwvS2lkc1sxIDAgUl0vVHlwZS9QYWdlcy9Db3VudCAxL0lUWFQoMi4xLjcpPj4KZW5kb2JqCjYgMCBvYmoKPDwvTmFtZXNbKEpSX1BBR0VfQU5DSE9SXzBfMSkgNSAwIFJdPj4KZW5kb2JqCjcgMCBvYmoKPDwvRGVzdHMgNiAwIFI+PgplbmRvYmoKOCAwIG9iago8PC9OYW1lcyA3IDAgUi9UeXBlL0NhdGFsb2cvUGFnZXMgNCAwIFIvVmlld2VyUHJlZmVyZW5jZXM8PC9QcmludFNjYWxpbmcvQXBwRGVmYXVsdD4+Pj4KZW5kb2JqCjkgMCBvYmoKPDwvTW9kRGF0ZShEOjIwMjAwNzI5MTE1MzE1WikvQ3JlYXRvcihKYXNwZXJSZXBvcnRzIExpYnJhcnkgdmVyc2lvbiBudWxsKS9DcmVhdGlvbkRhdGUoRDoyMDIwMDcyOTExNTMxNVopL1Byb2R1Y2VyKGlUZXh0IDIuMS43IGJ5IDFUM1hUKT4+CmVuZG9iagp4cmVmCjAgMTAKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDAwNTc4IDAwMDAwIG4gCjAwMDAwMDA4NjQgMDAwMDAgbiAKMDAwMDAwMDAxNSAwMDAwMCBuIAowMDAwMDAwOTUyIDAwMDAwIG4gCjAwMDAwMDA4MjkgMDAwMDAgbiAKMDAwMDAwMTAxNSAwMDAwMCBuIAowMDAwMDAxMDY5IDAwMDAwIG4gCjAwMDAwMDExMDEgMDAwMDAgbiAKMDAwMDAwMTIwNCAwMDAwMCBuIAp0cmFpbGVyCjw8L0luZm8gOSAwIFIvSUQgWzwzZWMyMWUyNjkwNjcxYzViYTliNjUxODNhY2IxOTM3ND48NzZhNzM1MWE1YmY4ZmMxNDNmY2NlZmUwYjRjMzA4MWI+XS9Sb290IDggMCBSL1NpemUgMTA+PgpzdGFydHhyZWYKMTM1OAolJUVPRgo=",
"invoice_items": [
{
"item":"item name",
"description":"description",
"quantity": 10,
"date_of_purchase":"2020-09-20",
"price_per_item": 33000
}
],
"attachment": "string base 64 pdf"
}'
Below is the sample of response parameters that will be returned:
{
"success": true,
"url": "https://pay.oyindonesia.com/invoice/id",
"message": "success",
"email_status": "PROCESSED",
"payment_link_id": "id"
}
Send us instructions to generate a recurring payment link invoice link.
Below is an example of a request body to execute your request: coming soon
An endpoint to retrieve and/or re-send the latest callback status of a transaction is also available and can be accessed at anytime.
Below is an example of a request body to execute your request:
curl -X GET 'https://partner.oyindonesia.com/api/payment-checkout/status?partner_tx_id=OY123456&send_callback=false' -H 'x-oy-username:yourusername' -H ' x-api-key:yourapikey'
Below is the sample response parameters that will be returned:
{
"partner_tx_id": "partner000001",
"tx_ref_number": "1234567",
"amount": 15000,
"sender_name": "Joko Widodo",
"sender_phone": "+6281111111",
"sender_note": "Mohon dikirim segera",
"status": "success",
"settlement_type": "realtime",
"sender_bank": "008",
"payment_method": "DC",
"va_number": ""
}
An endpoint to check your payment or invoice data is also available and can be accessed at anytime.
Below is an example of a request body to execute your request:
curl -X GET \
https://partner.oyindonesia.com/api/payment-checkout/{payment_link_id_or_partner_tx_id}\
-H 'cache-control: no-cache' -H 'content-type: application/json' \
-H 'X-Api-key: apikeymu' -H 'X-Oy-Username: yourusername'
Below is the sample response parameters that will be returned:
{
"data": {
"partnerTxId": "abc10",
"paymentLinkId": "703e05c0-48e3-47bd-9c22-670941d4d5fe",
"amount": 15000,
"username": "justkhals",
"senderName": "John Doe",
"senderPhoneNumber": null,
"senderNotes": null,
"status": "CREATED",
"txRefNumber": null,
"description": "testdesc",
"isOpen": true,
"step": "input-amount",
"notes": "testnote",
"phoneNumber": "085248395555",
"email": "maskalgrr@gmail.com",
"includeAdminFee": false,
"listDisabledPaymentMethods": "",
"listEnabledBanks": "008",
"expirationTime": "2020-08-12 00:00:00",
"invoiceData": {
"fullName": "John Dooe",
"isVaLifetime": false,
"isScheduled": false,
"recurringStartDate": null,
"recurringEndDate": null,
"recurringFrequency": null,
"invoiceItems": "[{\"item\": \"AK 47\", \"quantity\": 2000, \"description\": \"Untuk Kemanan Negara\", \"price_per_item\": 2250000, \"date_of_purchase\": 1590969600000}]"
}
},
"message": "return payment checkout data",
"status": true
}
Lastly, we provide an endpoint to delete your payment or invoice link based on payment_link_id
or partner_tx_id
. The payment or invoice link must still be active and a payment method must not have been selected.
Below is an example of a request body to execute your request:
curl -X DELETE \
https://partner.oyindonesia.com/api/payment-checkout/{payment_link_id_or_partner_tx_id}\
-H 'cache-control: no-cache' -H 'content-type: application/json' \
-H 'X-Api-key: apikeymu' -H 'X-Oy-Username: yourusername'
Below is the sample of response parameters that will be returned:
{
"status": true,
"message": "success delete payment checkout data"
}
Just like the Payment Link via Link, you can access all your payment links and its details from the OY! dashboard. This report will include all payment links generated both via Link and API.
Pop!: Seamless Payment Experience
With Pop!, displaying our payment link page on your front-end web environment is now made easier than ever. Our payment link offers a seamless user experience in a way that can be catered to your UI needs.
Click the button below to see a demonstration and a snippet code on how to display a payment link page in 4 styles/locations: Center, Right, Left, and Slide Right.
Customizing the UI of Payment Link & Account Receivable
In order to maintain a consistent brand experience for your users, you can customize the look and feel of your Payment Link & Account Receivable in the Dashboard, where you can do the following things;
- Upload a logo
- Choose the button color and the theme color of the payment link
The updated logo will be reflected in both products.
How to customize the UI via Payment Link or Account Receivable
- Log onto business.oyindonesia.com
- Go to Payment Link section in the dashboard
- Click the 'Settings" icon located at the top right of the page
- You will be redirected to the Settings page
Input the URL for your logo (If you’re using snipboard.io, the correct URL should be in “https://i.snipboard.io/image.jpg” format. If you’re using imgbb.com, the correct URL should be in “https://i.ibb.co/abcdef/image.jpg” format)
Select your primary color (you can select from our available color picker tools or you can input the 6 digit #HEX code). This primary color will be the main theme color in your payment link and the color of the text in the header
Select your secondary color (you can select from our available color picker tools or you can input the 6 digit #HEX code). This secondary color will be the color of CTA button in your payment link and the color of the text outside the header
- Click "Save Changes"
Note:
- By saving the changes, the colours will be applied to the payment links previously created (before saving) as well as the payment links created after saving and also account receivable PDF documents.
- Please create new payment link or Account Receivable invoice after you successfully save changes to check the difference.
Illustration;
If we pick green (#HEX code #067610) as the primary color and black (#HEX code #000000) as the secondary color, the look and feel will be as follows;
Customizing Account Receivable Invoice Template and Color
For more personalized touch on the invoice, you can now customize your template look in the Dashboard, where you can do the following things;
- Change invoice logo
- Change Invoice template
- Change Invoice color
How to customize the Account Receivable Invoice UI:
- Log onto business.oyindonesia.com
- Go to Account Receivable section in the dashboard
- Click the 'Settings" icon located at the top right next to “Create New Invoice” button
- Click Open Configuration for “Invoice Template”
- Input the URL of your logo. Changing the logo here will automatically update the logo in Payment Link, Invoice and Email Notifications.
- Select your color theme (you can select from our available color picker tools or you can input the 6 digit #HEX code). This color will be the main theme color in your invoice.
- Select your template from our template selections. Changes will be reflected immediately in the preview area
- Click “Save”
How to Set Automated Invoice Number
For your convenience, you have the option to auto-generate invoice numbers. No more worrying about the sequence of invoice numbers. The invoice number template has been pre-defined by OY!.
- Log onto business.oyindonesia.com
- Go to Payment Link or Account Receivable section in the dashboard
- Click the 'Settings" icon located at the top right next to “Create New Invoice” button
- Turn the toggle on. You can now adjust the automatic invoice number format
- Click “Save” to continue
This update will not impact your existing invoices
Sending the Created Payment Link through WhatsApp
For better payment conversion, you can send the created link to your users through WhatsApp. The message template is pre-defined by OY. Contact our Business Representative if you'd like to activate this feature.
The flow will be as follows:
Click here for more information on API Send WhatsApp
Sending Account Receivable Invoice with Payment Link through WhatsApp
For your convenience, you can now distribute invoice to your users through WhatsApp using default message template. Please kindly contact OY! team if you are interested in using this feature
There will be 3 different ways to distribute the invoice via Whatsapp and there is a maximum of one Whatsapp message per unpaid invoice. When the status is paid, users will get a payment confirmation from Whatsapp too.
Option 1 - via invoice details
Option 2 - via new invoice creation
Option 3 - via invoice table
VA Bank Details
Bank (Virtual Account) | Capability (Open Amount/Closed Amount) |
---|---|
BNI | Closed Amount |
Bank Mandiri | Open Amount, Closed Amount |
BRI | Open Amount, Closed Amount |
BCA | Open Amount, Closed Amount |
Bank Permata / Permata Syariah | Open Amount, Closed Amount |
CIMB Niaga / CIMB Niaga Syariah | Open Amount, Closed Amount |
BTPN | Open Amount, Closed Amount |
Bank Syariah Indonesia (BSI) | Closed Amount |
API E-Wallet Aggregator
E-Wallet API allows clients to charge and receive payments directly from top e-wallet issuers. With one integration, they are able to get access to all of OY’s available e-wallets and the upcoming e-wallet integrations.
E-Wallet Product Flow
Key Features
- Support multiple e-wallets - We support ShopeePay, LinkAja, DANA, and OVO
- Transaction tracking and monitoring capability - You can track all created e-wallet transactions, incoming payments, and their respective details through our API callback or OY! dashboard. You will receive a callback for all incoming transactions.
- Check Status capability - We have a Check Status endpoint available for you to regularly check the status of an e-wallet transaction
Registration and Setup
Follow the below check-list to ensure you're all set up to use our E-Wallet API service:
- Create an account
- Upgrade your account by submitting the required documentations
- Have your upgrade request approved
- Set up your receiving bank account information (note: ensure that the receiving bank account information is accurate as it cannot be changed via OY! dashboard for security reasons)
- Submit your IPs and callback URLs to your business representative or to partner@oyindonesia.com
- Receive an API Key from us (note: it is required for API authorization purpose)
- Integrate with our E-Wallet API
Testing
When you hit Create E-Wallet Transaction endpoint (https://api-docs.oyindonesia.com/#https-request-create-e-wallet-transaction), it will always return the same ewallet_url & success_redirect URL in the response: https://pay-dev.shareitpay.in/aggregate-pay-gate. You cannot simulate payment by clicking this URL.
In order to be able to simulate payment (change the transaction status into Complete), follow the steps below: (Note: the process of simulating payment in Staging environment doesn't involve any forward / redirection to the E-Wallet apps, the scope is just changing the transaction status into Complete.)
- Create an account
- Send a request to activate API E-Wallet product and obtain staging API Key to your business representative
- Create a transaction by sending a ‘POST’ request to https://api-stg.oyindonesia.com/api/e-wallet-aggregator/create-transaction using your staging API key. Enter the required and optional fields, as referenced in the API reference docs (https://api-docs.oyindonesia.com/#api-e-wallet-aggregator)
- After an E-Wallet transaction is generated, you can simulate an E-Wallet payment through their dashboard (in Staging environment) by going to the "E-Wallet" sidebar, look for the newly created transaction row on the table (should be at the top), then click on the "Pay" button on the very right of that row.
- Fill in the e-wallet name, the ref number and amount should be prefilled from the transaction in the previous step, then click on "Send Callback"
- If a payment is successful, we will send a callback to the registered staging callback URL destination
- The payment made to the e-wallet transaction can be monitored through OY! dashboard, in the "E-Wallet" sidebar
How to Use
We provide 2 endpoints for you to use:
- Create E-Wallet Transaction: Use this API to create an e-wallet transaction for your user
- Check E-Wallet Transaction Status: Use this API to check the status of an e-wallet transaction. We highly recommend that you implement this endpoint.
All details regarding your created e-wallet and its payments can be retrieved via our API endpoint (Check E-Wallet Transaction Status) or can be monitored directly from the OY! dashboard (through the E-Wallet sidebar)
E-Wallet Details
E-Wallet Issuer | E-Wallet Code | Minimum Expiration Time | Maximum Expiration Time | Redirection Feature | Refund Feature |
---|---|---|---|---|---|
OVO | ovo_ewallet | Parameter is ignored, always set to 55 seconds | Parameter is ignored, always set to 55 seconds | Not supported | Not supported |
ShopeePay | shopeepay_ewallet | 1 minute | 60 minutes | Support | Full |
Linkaja | linkaja_ewallet | Parameter is ignored, always set to 5 minutes | Parameter is ignored, always set to 5 minutes | Support | Full |
DANA | dana_ewallet | 1 minute | 60 minutes | Support | Full, Partial |
API Payment Routing
Some business have some use cases that require them to receive and disburse the fund. Often times, the operation team is struggling to manage this use case. Limited resource makes it harder to disburse the fund received. Therefore, API Payment Routing is the best solutions to cater this needs. It allows end-to-end process from accepting fund to disburse fund in one flow.
Description about Payment Routing
Payment Routing is an API that combines receive money and disburse money features. It allows you to immediately disburse the money once you receive from your customers. By integrating to this API, you will get the end-to-end solutions for your business needs.
Through API Payment Routing you may create Payment Link transactions and/or receive money via Bank Transfer (via Virtual Account & Unique Code), E-Wallet (One Time & Direct), QRIS, and Cards.
Flow
Key Features
- Accept and disburse money in a real time manner - By integrating to this API, you will get end-to-end solutions from receive to disburse money. All in real time manner. Note : Some payment methods have H+1 or H+2 settlement period. You have to keep some balance to cater the settlement from the payment methods.
- You can select Payment Link, Bank Transfer, E-Wallet, and QRIS to receive money - You can choose Bank Transfer (via Virtual Account & Unique Code), E-Wallet (One Time & Direct), Cards, or QRIS as a payment method to receive the money. We provide all banks offered in VA Aggregator for Virtual Accounts, BCA for Unique Code, ShopeePay, DANA, LinkAja as payment method for E-Wallet, and Visa/Mastercard for Cards. However, you don't need to worry if you don't have your own UI. You can use our Payment Link to help your customers to complete the payments.
- Transaction tracking and monitoring capability - You can track all payment routing transactions details through our callback or the OY! dashboard. You will receive callbacks two times, once we have succesfully receive money and once we have successfully disburse money.
Use Cases
Below are few examples of Payment Routing usage.
- Mutual Fund Investment - Accept investment money from users and directly disburse to each custodian banks.
- Borrower and Lender - Accept money from Lender/Borrower and disburse them directly to Rekening Penampungan Lender/Rekening Penampungan Borrower.
- Put money directly to Your Business Account- Receive money from your customers/buyers and directly put them to your business bank account in order to secure the money and prevent fraud.
Registration and Setup
Follow the below check-list to ensure you're all set up to use our Payment Routing API service:
- Create an account
- Upgrade your account by submitting the required documentations
- Have your upgrade request approved
- Set up your receiving bank account information (note: ensure that the receiving bank account information is accurate as it cannot be changed via OY! dashboard for security reasons)
- Submit your IPs and callback URLs to your business representative or to partner@oyindonesia.com
- Receive an API Key from us (note: it is required for API authorization purpose)
- Integrate with our Payment Routing API
Testing
Once you successfully create an OY! account, you can immediately simulate VA payments via API. Follow the below steps to test the Payment Routing flow:
- Create an account
- Send a request to activate API Payment Routing product and obtain staging API Key to your business representative
- Send a ‘POST’ request https://partner.oyindonesia.com/api/payment-routing/create-transaction (https://partner.oyindonesia.com/api/payment-routing/create-transaction) using your staging API key. Enter the required and optional fields, as referenced in the API reference docs (https://api-docs.oyindonesia.com/#create-payment-routing).
- If you use VA as the payment method, after VA number is generated, you can simulate the payment through your dashboard (in Staging environment) by going to Settings, and choose "VA Callback".
- If you use Payment Link as the payment method, you can open the link and simulate payment from there.
- If payment is successful, we will send a callback to the registered staging callback URL destination.
- You can monitor Payment Routing transaction through OY! Dashboard or call the endpoint API. Go to “Payment Routing” menu to monitor your transactions.
Understanding Cards Transaction
How to Activate
If you need to accept payments from your end-users via debit and/or credit cards, you may contact your Business Representative for more information and assistance on the activation process.
Products Available
You may receive credit and/or debit card payments via Payment Link or Payment Routing.
Supported Networks
We currently support Mastercard, Visa, and JCB transactions. To protect you and your end-users from fraudulent payment attempts, all transactions will be processed with 3D Secure (i.e. 3DS).
Payments via Cards
To increase the chance of successful transaction, please ensure that your end-users:
Have sufficient balance or credit limit for the transaction
Have enabled 3D Secure (3DS) as a way to authenticate the transaction
Understanding Overseas Transactions
Your end-users may use credit and/or debit cards issued locally or internationally. If you plan to conduct overseas transactions, it is important to note that OY! can only create the transactions in IDR. This means that your end-users can still use their overseas cards for payment, however the card will still be charged in IDR and settlement will also be done in IDR. The cardholder's billing statement, however, will show the transaction amount in their local currency with foreign exchange rate & extra fees (if any) as applied by their issuer (i.e. the bank or entity that issues the card).
Some cards issuer might not allow overseas transactions. Therefore, it is recommended for your end-users to check with their issuing bank regarding country restrictions to reduce the chance of the transaction being declined by the issuer.
Transactions Declined By Issuer
When a transaction attempt is submitted to your end-user’s issuer (i.e. the bank or entity that issues the card), they usually have an automated system and parameters that help them in deciding whether or not to authorize the transaction. The parameters may include, but not limited to, behavior from past transactions, card details such as expiration date and CVV, and availability of funds.
If all of the card details seem correct, the funds are available and 3DS has been enabled for the card, it is possible that the transaction is declined by the issuer. Unfortunately, sometimes the decline reason provided by the issuer is too “generic”. If that’s the case, you may ask your end-users to either use alternative cards or payment methods or to contact their issuer directly for more information on the decline reason. Due to privacy & security concerns, issuers can only discuss the specific reason why a transaction is declined to the respective cardholder. This means that issuer will most likely not entertain decline explanation requests via OY!.
Feature: Resend Callback
Key Features
Retry Callback allows you to resend a callback for your successful transaction to your system. Initially, OY! will send a callback to your system after your transaction status has been converted to success. If your system failed to receive the callback, this feature can help you to retry the callback process. The process can be done in two ways
Automated retry callback If on the first try the callback is not successfully received, the system will automatically retry the callback delivery. If that callback still not received by the clients' system, the system will automatically retry until 5 occurence. The interval of the sending process will be detailed in Callback Interval section. If all automated Retry Callback have been sent but still returned failed, system will send email notification to email address that has been set in the configuration.
Manual retry callback Beside the automated process, you can manually request a callback.
Registration and Set Up
Follow the instruction below to activate retry callback
- Login to your account in OY! Dashboard
- Open “Settings” and choose “Developer Option”. Choose “Callback Configuration”
- Fill your callback URL in the related product that you want to activate. Make sure the format is right. You can click URL String Validation button to validate the URL format.
- If you want to activate automated retry callback, check the Enable Automatic Retry Callback and fill in the email. The email will be used to receive a notification if all the automatic callback attempts have been made but still fail
- Click "Save Changes". The configuration will not able to be saved if the callback URL or/and email format are not valid.
Don't forget to whitelist these IPs in order to be able to receive callback from OY: 54.151.191.85 and 54.179.86.72
If you want to manually resend a callback, you can follow the instruction below
- Login to your account in OY! Dashboard
- Open the desired product menu
Payment Link: open "Payment Link" and choose "One Time"/"Reusable" VA Aggregator: open "Virtual Account" menu and choose "Incoming Payment" Ewallet Aggregator: open "E-Wallet" menu
- If the product is VA Aggregator or Ewallet Aggregator, click "Resend Callback" button in the related transaction
- If the product product is Payment Link, click 3 dots in the related transaction and click "Resend Callback"
Callback Interval
1st retry: realtime (after the first failed log received) 2nd retry: 1 min (after callback failed log for the 1st retry is received) 3rd retry: 2 mins (after callback failed log for the 2nd retry is received) 4th retry: 13 mins (after callback failed log for the 3rd retry is received) 5th retry: 47 mins (after callback failed log for the 4th retry is received)
If all automated Retry Callback (all the 5 attempts) has been sent but we still get a Failed response from your end, our system will send an automated email notification to the email address that has been set in the configuration earlier
Idempotency Key
To implement automated retry callback, you need to handle the idempotency logic in your system using the below key:
Payment Link - Invoice: tx_ref_number VA: trx_id Ewallet: trx_id OR ref_number
Feature: Refund E-wallet
Key Features
Refund features allow you to refund a successful e-wallet transaction to your end-users. A refund can either be full or partial. A full refund will give your end-users or payers their entire payment amount back (100%). A partial refund will return up to the total amount paid to your end-users or payers. These requirements must be met in order for a refund transaction to be issued:
- Refunds can only be issued up to 7 days after transaction is success/complete.
- You have enough balance that allows us to deduct the amount of the transaction that should be refunded.
- A refund can only be issued once, whether it is a full or partial refund.
E-Wallet Issuer | Refund Feature |
---|---|
OVO | Not supported |
ShopeePay | Full |
Linkaja | Full |
DANA | Full, Partial |
How to Use
- Log in to your OY! Business dashboard with your username and password that you registered with.
- Click on the product page you desired.
- Payment Link : Click “Payment Link” and choose “One Time”/“Reusable”
- VA Aggregator : Click “Virtual Account” and choose “Incoming Payment”
- Payment Routing ; Click “Payment Routing”
- You can see a transaction that should be refunded
- On “Action” column, you can click the the three-dots button and click “Refund E-Wallet”.
- If you try to trigger refund after the time limit or outside operational hours, an error modal will show up and you can not continue the refund process.
- You can fill the amount of refund, only for partial refund.
- Make sure that you have enough balance to issue a refund. If you do not have enough balance, an error message will show up. You can top up your balance via “Top Up” feature.
- The transaction will change to “Refunded” if the refund is successful. You can not trigger another refund after the refund is successful. The refund button will be disabled.
- You can see the refunded transaction in “Account Statement” page by clicking “Transaction Report” and “Account Statement”.
Feature: Account Linking
Overview Account Linking is a feature that allows your customer's bank/e-wallet account to be linked to your system using tokenization. By setting up account linking up front, your customer can later complete payments without being prompted for any card details or e-wallet phone number. Currently, our account linking feature is supported in E-Wallet (DANA & ShopeePay).
Account linking feature is free of charge.
Key Features
1. Account Linking
Link your customer's bank/e-wallet account to your system using tokenization.
2. Account Unlinking
Unlink your customer's bank/e-wallet account from your system.
3. Get E-wallet Balance
By using account linking, your users can now see their e-wallet balance on before checking out a payment.
Account Linking Flow
You hit OY! API Account Linking for a particular payment method (e.g., DANA).
OY! returns redirect URL for authentication.
Your customer authorizes the account linking by signing the agreement page and inserting a PIN.
OY! returns account linking result. If success, OY! will save the authorization as a token and redirect your customer to your success page URL.
Account Unlinking Flow
Account Unlinking can be done in several ways:
- OY! API Unlinking
You can hit OY! API Unlinking to unlink your customer's bank/e-wallet account
You hit OY! API Account Unlinking for a particular payment method (e.g., DANA).
OY! returns account unlinking result. If success, OY! will invalidate the token.
- Mobile Banking/E-Wallet Application
Your customer can unlink their account via their m-Banking/E-Wallet application.
- Deleted/Blocked Accounts
If your customer's account is deleted/blocked, then their account is automatically unlinked.
Payment Method Supported
Currently, Account Linking is only supported on e-wallet payment method. Each payment method have different expiry time and process to renew token.
E-Wallet Issuer | Token Expiry Time | Token Renewal |
---|---|---|
DANA | 10 Years | After Expiry Time |
ShopeePay | 5 Years | After Expiry Time |
Linkaja | Not supported | - |
OVO | Not supported | - |
For DANA: If your customer's DANA account is frozen, then their account is temporarily unlinked. Once the account is unfrozen and the token has not expired, their account is automatically linked again.
Expense Management
Corporate Card
OY! Corporate Card product provides the offer to create customized virtual corporate cards that can be used to manage online transactions (e.g. software subscriptions, corporate travel expenses, purchase of supplies, etc.) without hassle. Virtual Corporate Card can be created through the OY! dashboard, therefore no technical integration is required to use this product. Please contact our business representative for further details about this feature.
Key Features for Virtual Corporate Card
Feature | Description |
---|---|
Card creation | You can use the funds directly from your OY! balance for corporate card needs. It is essential to top-up your OY! balance according to your desired card limit. |
Card control | Create and control the card based on your requirements. You can set the limit amount (in Rupiah), validity period, card renewal frequency and even transaction limitations directly through OY! dashboard. Moreover, you can block and deactivate the card in real-time! Everything on your fingertips. |
Real-time transaction | Transactions can be tracked easily through OY! dashboard and card holder’s page in real-time. There is no need to wait until the end of month for a full transaction statement. |
Analytics dashboard | All transactions are recorded and reported in the analytics dashboard, helping companies easily manage and monitor their budgets. |
Registration and Set Up
Follow the below check-list to ensure you're all set up to use the service: 1. Create an account for OY! business 1. Upgrade your account by submitting the required documentations 1. Have your upgrade request approved 1. Set up your receiving bank account information (note: ensure that the receiving bank account information is accurate as it cannot be changed via OY! dashboard for security reasons) 1. Once your account is approved, you can start using Virtual Corporate Card product
Testing
- Log in to your OY! Dashboard.
- If you haven’t set approver, please follow steps in How to Set Approver for Virtual Card
- Select the "Demo" environment.
- Navigate to "Corporate Card" product under the Expense Management menu.
- Create a virtual corporate card by follow steps on How to Create Virtual Corporate Card
- Your approver will receive email regarding approval request to create virtual corporate card, ask them to approve or reject the card for testing purposes
- After your approver approves the request, the registered cardholder will receive email regarding dummy card information and virtual card status data on the demo OY! dashboard will be updated
How to Create Virtual Corporate Card
You can create new virtual corporate card by following these steps: 1. Log in to your OY! dashboard 1. Click “Corporate Card” under Expense Management menu 1. Click “Add New Card” 1. Choose "Virtual" for "Card Type" and usage frequency either single usage or multiple usage and click “Next” 1. Fill in Cardholder details and Card details 1. Once submitted, virtual card will be in “waiting for approval” state 1. After the approval step, the virtual card is ready to be used for transactions.
Notes: Once your OY! balance is transferred to a virtual corporate card, it can only be used for virtual card transactions.
- Corporate Card Dashboard
- Virtual Card Type
- Virtual Card Form
How to Transact with Virtual Card
Steps to use virtual card for online transaction: 1. Access your card information (including remaining balance & transaction) via email and enter OTP sent to the phone number registered. 1. Once accessed, input all of your card information into merchant side under “Credit / Debit Card” Option 1. Input 16 digit number, expiry date (MM/YY) and CVV 1. Submit the information and proceed with the transaction and the transaction should be successful. 1. For record purposes, you can upload the invoice for each transaction inside OY! dashboard.
- Virtual Card Information
- Virtual Card Transaction Details
Virtual Card Status Status| Description ------ | ----------- Pending Approval | Card has been requested but not yet approved. Requests are valid for 14 days. Active | Card is ready to be used for transactions. Active with Warning | Card is active with balance, but only <15% balance remaining. Inactive | Card has been blocked. The card can be activated any time needed through OY! dashboard. Need top-up | New card has been created but failed to top-up the card balance due to insufficient OY! balance, OR current card limit is 0 and passed renewal time due to insufficient OY! balance. Expired | Card is expired or intentionally archived permanently. Rejected | Card is rejected by approver.
Transaction Status Transaction Status | Description ------ | ----------- Successful | Transaction was successful. Failed | Failed transaction issue that related to OY! balance (top-up card or create card). Reversal | Transaction was canceled, and the amount was refunded due to errors, returns, or fraud. Declined | Transaction was declined by the merchant. Refund | Refund by merchant.
How to Set Approver for Virtual Card
- Log in to your OY! dashboard
- Click “Corporate Card” under Expense Management menu
- During first time product activation, you are required to fill in approver data
- Fill in the approver details
- You are required to review and check the T&C, then confirm your approver details
- Approver will receive confirmation email
- Add New Approver
- Approver Form
Notes: Approver data cannot be added or edited through OY! dashboard for security purposes. Please contact our business representative for help.
Parameter | Description |
---|---|
Name | Approver Name |
Position | Approver Role |
Phone Number | Approver Phone Number |
Approver email for card approval purposes |
How to Monitor and Manage Virtual Cards
- Log in to your OY! dashboard
- Click “Corporate Card” under Expense Management menu
- Click “See All Cards”
- Dashboard will show analytics dashboard (divided per department) and list of card to manage
- Click the card that needs to be managed
Card Actions Card Actions | Description ------ | ----------- Resend Card Info | To resend card info to cardholders, in case of missing email. Edit Information | To edit the card limit. Editing card limits will lead to card temporary blockage and require reapproval flow again. Block | To temporarily lock the card, limit remains in the card and card’s status will be “Inactive” Archive | To permanently lock the card, card limit will be reduced to 0 and remaining card limit will be returned to OY! balance. Renew Limit | To renew the card limit with a desired amount using OY! balance. Resend Approval Notification | To remind approver to approve the card request in case of missing email. Delete | Only applicable for "Pending Approval" card. This will archive the card so the card is no longer used.
How to Set Up Card Configuration
- Log in to your OY! dashboard
- Click “Corporate Card” under Expense Management menu
- Click “Corporate Card Configuration”
- Select Department / Category / Approver
- You can choose to whether add new, edit existing or delete
- Click "Save Changes"
- Department page prior to “Edit Department” button
- Category page
- Approver page
Decline Transaction Possible Reasons
Issues | Explanations |
---|---|
Card utilization is more than requested | Admin requests a card for single use only, but it is being used for more than one transaction. Please request a multiple use card if you expect the card to process multiple transactions. |
Insufficient balance on the card | The balance on the card is less than the transaction amount. In this case, the cardholder may need to ask the Admin to top up the card. For example: The card balance is Rp 300,000 but the transaction amount is Rp 302,000. Since the card balance is less than the transaction amount, the transaction will not be processed successfully |
Card is inactive | The card is temporarily blocked by the Admin. Cardholder needs to ask the Admin to activate the card. |
Card is expired | The virtual card is no longer valid because it has passed its expiration date. Admin or cardholder can check the expired date from dashboard or virtual card information page. |
Invalid card number | Cardholder entered the card number incorrectly. Please input the 16 digit card number correctly. |
Invalid expiry date | Cardholder made an error entering the card expiry date. Please enter the correct expiry date. |
Invalid CVV | Cardholder made an error inputting the CVV number. Please enter the correct CVV. |
Issuer network not supported | Not all overseas merchants can process transactions for certain reasons. If you experience a declined error, please check the merchant's capabilities; they might only accept physical cards, regional restrictions, or other reasons. |
Notes 1. Transactions will be settled according to the bank’s instructions. 1. Successful card transactions will directly reduce card limit. 1. For refunds, please contact the merchant where you made the purchase. OY! is not responsible for processing refunds until we receive the funds back from the merchant. 1. Refund duration will depend on the merchant and the bank. 1. Once a refund has been issued, the balance will be returned back to your OY! balance. 1. It is your responsibility to block card usage if you notice any suspicious transactions.
Reimbursement
OY! Reimbursement product offers an easy way to manage employee reimbursement requests and fund disbursements all in one platform. Employees can simply request reimbursement via the link sent to their email. No technical integration is required to utilize the product.
Key Features
Feature | Description |
---|---|
Approval Capability | To ensure no fraudulent requests are made, a double approval mechanism exists in the product and is mandatory for the reimbursement process. The first layer is for the team manager via email, and the second layer applies to the admin via the dashboard. Our reimbursement product features a double approval mechanism to ensure integrity. |
Disbursement Scheduling | Admin can also immediately schedule the disbursement time after approval from the team manager. Currently, the scheduled disbursement options are 1 day, 3 days, 7 days, and 14 days from the day of admin approval, allowing flexibility in managing cash flows. |
Reimbursement Details | For admin, every reimbursement request from employees can be accessed through the OY! dashboard, including the uploaded file, to ensure it matches the requested amount. |
Reimbursement Tracking | For employees, no more hassle in checking reimbursement progress with the admin. Your employee will receive a tracking email to check progress in real-time. |
Notes: * First approval: Team Manager * Second approval: Admin (it can be Finance Team or HR Team)
This ensures that each approval request is reviewed by at least two reviewers, providing an extra layer of oversight and security.
Registration and Set Up
Follow the below check-list to ensure you're all set up to use the service:
- Create an account for OY! business
- Upgrade your account by submitting the required documentations
- Have your upgrade request approved
- Set up your receiving bank account information (note: ensure that the receiving bank account information is accurate as it cannot be changed via OY! dashboard for security reasons)
- Once your account is approved, you can start using Reimbursement product
Testing
- Log in to your OY! Dashboard.
- If you haven’t set approver for team manager, please follow steps in How to Set Approver
- Select the "Demo" environment.
- Navigate to "Reimbursement" product under the Expense Management menu.
- Follow steps How to Distribute Reimbursement Link first to able open the reimbursement request page
- Then create reimbursement request by follow the step How to Fill Reimbursement
- Your reimbursement request will appear in Reimbursement table (in Demo environment) also sent to registered Team Manager’s email
- Ask your registered Team Manager to open the link that was sent to their email and approve it for testing purposes. Your team manager can follow steps in How to Approve Transaction.
- After your team manager approve or reject the transaction, it will reflect on your Demo OY! Dashboard. Afterward, as an admin you can approve or reject the transaction and schedule the disbursement as explained in How to Schedule Disbursement
How to Set Approver
By default, admin is the second approver for reimbursement requests. However, you need to register your Team Manager as the first approver for reimbursement requests. Setting up the approver will only occur once when the page is first opened. 1. Log in to your OY! dashboard. 1. Navigate to "Reimbursement" product under the Expense Management menu. 1. Click on "Create Reimbursement Link." 1. Choose "Register Approver." 1. Fill in the approver's name, email address, and department. 1. After registration, the approver will receive a notification via email.
- Approver registration page
Notes * Approver emails are mapped based on department names, and duplicate department names are not allowed. * After submission, addition, editing, or deletion of existing approvers can only be done via OY! Customer Service. * Team managers will only receive notifications via email; no dashboard access is required. * The approver list view is accessible in the dashboard under Reimbursement configuration.
How to Distribute Reimbursement Link
After Approver registration, you can start sharing the reimbursement link with employees through two methods:
- Via Bulk Upload:
- Download the sample file and input a list of employee emails in CSV or XLSX format.
- Upload the file for email distribution, then click “Submit”.
- Employees will receive the form link in their email and can use it to submit a reimbursement request.
- Via Link Distribution
- Copy the link and distribute it using any convenient method.
- Employees may fill the form and proceed to submit a reimbursement request.
- Bulk Upload and Link Distribution page from OY! Dashboard
How to Fill Reimbursement Request
- Click reimbursement link that has been shared from Admin.
- Fill the Employee Information and Reimbursement Request then click “Submit”.
- You will receive confirmation email regarding reimbursement request has been submitted
- Form Reimbursement Request page
Mandatory Parameters in the Form
Parameter | Description |
---|---|
Employee Name | Employee identification purposes |
Employee Email | This will be used to trigger tracking to employee post-submission |
Department | Department will be mapped to approver's email directly |
Bank Name | Disbursement bank name |
Account Number | Disbursement bank account number. Bank account validity can be checked prior reimbursement submission |
Item | Reimbursement item name or description |
Amount | Reimbursement total amount (in IDR). Minimum Rp 20.000 |
Upload File | Placeholder to upload invoice document. Max 2 file with PDF, JPG, & PNG format (Each file max 5MB). |
Transaction Date | Date of transaction printed on the invoice |
Notes: you can resend the link anytime in case employees do not receive the email.
How to Approve Transaction (Reporting Manager)
- When a new request is submitted by an employee, the respective team manager will receive a notification and an approver portal link via email.
- Inside the link, the team manager can find all reimbursement requests with certain statuses (rejected, approved, and need approval).
- The team manager can choose to either reject the request with a reason or simply approve.
- Approving the request will trigger an update inside the OY! Dashboard and employee tracker page.
- Approver portal (unique per approver)
- Approver - request details with action buttons
How to Schedule Disbursement
Scheduled disbursement can only be done if the team manager has approved the request, and the OY! dashboard admin agrees to schedule the disbursement.
- Open the OY! Dashboard and check the Reimbursement transaction list.
- Requests with "Need Approval" status mean that the team manager has approved the requests and will require further approval from the dashboard side.
- OY! dashboard admin can either reject with a reason or approve with a scheduled disbursement day.
- Request list in dashboard
- Request detail in dashboard
Note: If there is insufficient balance on the day of scheduled disbursement, you can retry the fund transfer manually after a successful OY! balance top up.
Dashboard Status
Status | Description |
---|---|
Pending Approval | Submitted by employee but no action yet from Team Manager. |
Need Approval | Approved by approver but no action yet from OY! dashboard admin. |
Canceled | Cancellation can only be performed by the employee. No further action needed. |
Completed | Money has been successfully disbursed to employee’s bank account. |
Rejected | Rejected by OY! dashboard admin or Team Manager. |
Scheduled Payment | Request has been successfully approved, waiting for scheduled disbursement time. |
Failed | Disbursement failed due to technical failures. |
Insufficient Balance | Fail to disburse due to insufficient OY! balance (OY! dashboard admin can retry payment manually from dashboard after a successful top up of OY! balance). |
How to Check Reimbursement Progress (Employee)
- Employees can fill in the reimbursement request form portal via email.
- Once submitted, the employee will receive a tracking email.
- Inside the link, employees can find real-time reimbursement progress, from the submission timestamp until disbursement timestamp.
- Employees can still cancel the request if the team manager has not yet approved.
- Employee Tracker page
- Employee Tracker page -- Transaction Detail
Tracker Status
Status | Description |
---|---|
Pending Payment | Request approved but money not yet received |
Scheduled Payment | Request has been successfully approved, waiting for scheduled disbursement time. |
Rejected | Rejected by admin or Team Manager |
Canceled | Canceled by employee |
Waiting Approval | Submitted but no action yet from Team Manager or admin |
Completed | Money has been disbursed successfully |
Note: The tracking email is applicable to each employee per reimbursement request.
SSD (Soal Sering Ditanya)
API Kirim Uang & Multitransfer
Apa itu jadwal maintenance bank? apakah partner akan diinformasikan terkait itu?
Jadwal maintenance bank akan menghentikan semua transaksi ke bank terkait selama periode tertentu. Biasanya, tiap bank punya jadwal maintenance yang sudah dijadwalkan, yang tentunya berbeda antara satu bank dan bank lainnya. Agar transaksi Anda nyaman, kami akan membuat antrean transaksi yang diajukan saat jam pemeliharaan dan akan otomatis dikirimkan setelah maintenance selesai.
Berapa limit maksimal untuk mengirimkan uang?
Setiap e-wallet mempunyai limit maksimal masing-masing, berikut penjelasannya:
E-Wallet | Tipe Akun | Limit Maksimal |
---|---|---|
OVO | OVO Club | Rp 2.000.000 |
OVO | OVO Premier | Rp 10.000.000 |
DANA | DANA Verified | Rp 2.000.000 |
DANA | DANA Premium | Rp 10.000.000 |
GoPay | Unverified | Rp 2.000.000 |
GoPay | Verified | Rp 10.000.000 |
Berapa limit minimal untuk mengirimkan uang?
Setiap e-wallet mempunyai limit minimal masing-masing, berikut penjelasannya:
E-Wallet | Limit Minimal |
---|---|
OVO | Rp 10.000 |
DANA | Rp 10.000 |
GoPay | Rp 10.000 |
Linkaja | Rp 10.000 |
Apakah ada waktu Cut-Off time (COT) ?
Tidak ada. Kami beroperasi 24 jam, termasuk pada hari libur.
Apakah ada batasan volume transaksi dan nominal transaksi dalam sehari?
Tidak ada batasan harian untuk berapa banyak transaksi Multitransfer yang Anda buat. Tidak ada batasan juga untuk nominal transaksi transaksi Multitransfer.
Berapa banyak alamat email yang dapat saya kirimkan untuk notifikasi transaksi?
Anda dapat mengirimkan hingga 5 email per transaksi dengan batas maksimal 255 karakter.
Apakah saya bisa mengirimkan "catatan" yang ada di dalam mutasi rekening penerima?
Ya. Namun, kami hanya mendukung catatan untuk 7 bank ini: BCA, BNI, BRI, CIMB, DBS, Mandiri, dan Permata. Namun, harap diperhatikan bahwa jika terdapat gangguan saat kami menghubungkan ke bank yang disebutkan di atas, sistem kami tidak dapat mendukung agar catatan tersebut muncul dalam mutasi rekening bankpenerima.
Apakah saldo yang diterima dari API VA Aggregator dan produk Link Pembayaran serta Invoice dapat langsung digunakan untuk produk Kirim Uang?
Ya. Dana yang diterima dari API VA Aggregator dan produk Link Pembayaran serta Invoice akan secara otomatis masuk ke dalam saldo OY! Anda secara real-time, memungkinkan Anda untuk langsung menggunakan saldo tersebut untuk mengirimkan uang.
[Khusus Multitransfer] Bagaimana jika nama penerima di dokumen unduhan xlsx atau CSV berbeda dengan nama di rekening bank? Untuk apa nama & nomor telepon pelanggan digunakan?
Selama nomor rekening bank valid dan aktif, transaksi akan tetap dikirimkan.
Nama dan nomor telepon hanya terlihat oleh partner dan digunakan untuk dokumentasi partner sendiri. Nama dan nomor telepon yang tercantum tidak akan digunakan oleh OY!
[Khusus API Kirim Uang] Apakah pengiriman uang dilakukan secara real-time?
Ya. Pencairan yang dilakukan melalui API Kirim Uang semuanya dilakukan secara real-time.
API VA Aggregator
Bank apa saja yang didukung untuk produk API VA Aggregator?
Saat ini kami memiliki 8 bank yang tersedia untuk API VA Aggregator. Anda dapat melihat daftar bank di sini.
Apakah saldo yang saya terima langsung masuk secara real-time?
Ya, semua saldo yang Anda terima bersifat real-time dan akan segera tersedia masuk ke saldo OY! Anda.
Link Pembayaran/Invoice
Apa saja metode pembayaran yang tersedia untuk pelanggan saya?
Kami menyediakan berbagai metode pembayaran melalui transfer bank, e-wallet, kartu kredit/debit, dan kode QR dengan detail sebagai berikut:
Transfer bank melalui Virtual Account: BCA, BNI, BRI, CIMB Niaga, Mandiri, dan Permata Bank.
Transfer dengan kode unik: BCA
Kartu kredit/debit: VISA, Mastercard
E-Wallet: ShopeePay, DANA, LinkAja, OVO
Kode QR: QRIS
Apa yang dimaksud dengan VA closed dan open amount? Apa yang terjadi jika nominal yang dibayarkan oleh pelanggan berbeda dari nominal yang tertera di Link Pembayaran yang saya buat?
Closed Amount adalah jenis Virtual Account yang hanya menerima pembayaran dengan nominal yang ditentukan. Pengguna tidak akan dapat membayar nominal selain dari nominal yang tertera.
Open Amount adalah jenis Virtual Account VA yang dapat menerima pembayaran dengan nominal berapa pun. Jika pelanggan membayar nominal lebih dari yang tertera, link pembayaran akan tetap aktif. Link pembayaran akan berubah status menjadi SELESAI hanya ketika mencapai nominal TOTAL yang ditentukan.
Apa perbedaan antara transfer bank melalui Virtual Account dan transfer bank melalui kode unik?
Transfer bank melalui Virtual Account (VA) akan menghasilkan nomor rekening tujuan transfer yang khusus untuk setiap transaksi. Anda dapat membuat transaksi dengan jenis open amount atau closed menggunakan VA. Penjelasan rinci tentang VA dapat dilihat di sini. Anda dapat membuat transaksi VA melalui API Routing Pembayaran atau Link Pembayaran .
Berbeda dari sebelumnya, transfer bank melalui kode unik menghasilkan kode unik untuk setiap transaksi, tetapi nomor rekening tujuan akan tetap sama. Total nominal yang dibayarkan akan dikurangi dengan nilai kode unik tersebut. Sebagai contoh, pelanggan Anda ingin membayar transaksi sebesar Rp100.000 dan mendapatkan Rp100 sebagai kode unik. Jadi, pelanggan Anda akan membayar total Rp 99.900 untuk menyelesaikan pembayaran. Kode Unik juga memiliki keterbatasan dibandingkan dengan VA, di mana Anda hanya dapat membuat transaksi kode unik selama jam operasional (03.00 pagi - 08.30 malam GMT+7).
Routing Pembayaran
Apa saja metode pembayaran yang tersedia untuk pelanggan saya?
Kami menyediakan berbagai metode pembayaran melalui transfer bank, e-wallet, kartu kredit/debit, dan kode QR dengan detail sebagai berikut:
Transfer bank melalui Virtual Account: BCA, BNI, BRI, CIMB Niaga, Mandiri, dan Permata Bank.
Transfer dengan kode unik: BCA
Kartu kredit/debit: VISA, Mastercard
E-Wallet: ShopeePay, DANA, LinkAja, OVO
Kode QR: QRIS
Apa perbedaan antara transfer bank melalui Virtual Account dan transfer bank melalui kode unik?
Transfer bank melalui Virtual Account (VA) akan menghasilkan nomor rekening tujuan transfer yang khusus untuk setiap transaksi. Anda dapat membuat transaksi dengan jenis open amount atau closed menggunakan VA. Penjelasan rinci tentang VA dapat dilihat disini. Anda dapat membuat transaksi VA melalui API Routing Pembayaran atau VA Aggregator.
Berbeda dari sebelumnya, transfer bank melalui kode unik menghasilkan kode unik untuk setiap transaksi, tetapi nomor rekening tujuan akan tetap sama. Total nominal yang dibayarkan akan dikurangi dengan nilai kode unik tersebut. Sebagai contoh, pelanggan Anda ingin membayar transaksi sebesar Rp100.000 dan mendapatkan Rp100 sebagai kode unik. Jadi, pelanggan Anda akan membayar total Rp 99.900 untuk menyelesaikan pembayaran. Kode Unik juga memiliki keterbatasan dibandingkan dengan VA, di mana Anda hanya dapat membuat transaksi kode unik selama jam operasional (03.00 pagi - 08.30 malam GMT+7). Anda dapat membuat transaksi kode unik melalui API Routing Pembayaran atau Link Pembayaran .
Apa perbedaan antara E-Wallet Sekali Pakai dan E-Wallet Direct Payment?
Pembayaran E-wallet sekali pakai dapat membuat URL pembayaran yang bisa dibayar oleh siapa pun. Begitu URL pembayaran dibuka, pelanggan Anda akan diarahkan ke aplikasi E-wallet dan menyelesaikan pembayaran di dalam aplikasi E-wallet.
Sementara, E-wallet direct payment dapat membuat URL pembayaran yang diperuntukkan untuk pengguna tertentu. Pelanggan Anda perlu menghubungkan akun E-wallet mereka terlebih dahulu dengan melakukan Account Linking. Setelah pelanggan menghubungkan akun mereka dengan aplikasi Anda, maka otomatis pembayaran akan dapat dilakukan. OY! akan mengembalikan otentikasi kepada pelanggan untuk memasukkan PIN E-wallet dan menyelesaikan pembayaran. Dengan menggunakan direct payment, pelanggan Anda akan menyelesaikan transaksi di dalam aplikasi Anda sendiri. Berikut adalah detail pembayaran masing-masing E-wallet:
Sekali Pakai | Direct | |
---|---|---|
E-Wallet yang didukung | ShopeePay, LinkAja, DANA, OVO | ShopeePay |
Harus menghubungkan akun terlebih dahulu? | Tidak | Ya |
Dapat dibuat melalui.. | API Payment Routing Payment Link API E-Wallet Aggregator |
API Payment Routing |
Mengirimkan nomor HP saat permintaan pembuatan API. | Opsional | Wajib |
Siapa yang dapat melakukan pembayaran? | Semua user/guest | User Tertentu |
Pembayaran dilakukan di | Di aplikasi E-wallet | Di aplikasi Anda sendiri |