Bahasa Indonesia
API ReferenceLogin

Simulasi

Last updated 03/28/2021

Bagian ini akan menjelaskan bagaimana melakukan simulasi transaksi Virtual Account mulai dari pembuatan Virtual Account, melakukan pembayaran, dan mendapatkan notifikasi / callback dari transaksi yang berhasil melalui Virtual Account API. Untuk panduan simulasi Akun Virtual dengan xenInvoice, silakan kunjungi halaman berikut.

Pra Simulasi

Pastikan Anda telah melakukan langkah-langkah berikut sebelum melakukan simulasi:

  1. Daftar akun Xendit
  2. Pastikan Anda telah mengaktifkan metode pembayaran Virtual Account di settings Anda. Di bagian yang sama, Anda juga dapat melihat kisaran nomor Virtual Account yang disediakan untuk Fixed Virtual Account dan Non-Fixed Virtual Account (Virtual Account xenInvoice).
  3. Anda berada dalam mode pengujian dan mendapatkan secret API key yang dapat Anda buat dari dasbor. Harap perhatikan bahwa Anda memerlukan akses tulis untuk dapat membuat Akun Virtual.
  4. Unduh Postman dan Koleksi Xendit. Untuk panduan lebih lanjut tentang Postman, silakan kunjungi artikel berikut.
  5. Pelajari API Virtual Account dengan mengunjungi Referensi API kami.
  6. Setelah Anda menyelesaikan langkah-langkah di atas, Anda siap untuk memulai pengujian!

Test 1: Membuat Fixed Virtual Account

Kirim POST request ke https://api.xendit.co/callback_virtual_accounts menggunakan secret API key via Postman. Pelajari parameter selengkapnya di Xendit API Reference.

Contoh Request

{
   "external_id": "VA_fixed-{{$timestamp}}",
   "bank_code": "MANDIRI",
   "name": "Ismail Rabbanii"
}

Contoh Response

{
    "is_closed": false,
    "status": "PENDING",
    "currency": "IDR",
    "owner_id": "5fd1c319b9986239d7ec5567",
    "external_id": "VA_fixed-1615935264",
    "bank_code": "MANDIRI",
    "merchant_code": "88608",
    "name": "Ismail Rabbanii",
    "account_number": "886089999497724",
    "is_single_use": false,
    "expiration_date": "2052-03-16T17:00:00.000Z",
    "id": "60513720d0435601d9d43e5e"
}

Test 2: Simulasi Pembayaran Fixed Virtual Account

Ada dua opsi untuk menyimulasikan pembayaran di Virtual Account:

Opsi 1: Kirim POST request ke https://api.xendit.co/callback_virtual_accounts/external_id={external_id}/simulate_payment untuk simulasi pembayaran menggunakan external_id. Jika Anda membuat beberapa Virtual Account menggunakan external_id yang sama, simulasi pembayaran dengan external_id akan dirujuk ke Virtual Account yang paling awal yang dibuat dengan external_id tersebut.

Contoh Request

{
    "amount": 50000
}

Contoh Response

{
    "status": "COMPLETED",
    "message": "Payment for the Fixed VA with external id VA_fixed-1615935264 is currently being processed. Please ensure that you have set a callback URL for VA payments via Dashboard Settings and contact us if you do not receive a VA payment callback within the next 5 mins."
}

Opsi 2: Kirim POST request ke https://api.xendit.co/pool_virtual_accounts/simulate_payment untuk simulasi pembayaran menggunakan nomor Virtual Account secara langsung. Anda harus memasukkan parameter permintaan sebagai berikut: bank_code, bank_account_number, dan transfer_amount.

Contoh Request

{
    "transfer_amount": 10000,
    "bank_account_number":"886089999497724",
    "bank_code": "MANDIRI"
}

Contoh Response

{
    "status": "COMPLETED",
    "message": "Payment for the Pool VA is currently being processed. Please ensure that you have set a callback URL for Invoice payments via Dashboard Settings and contact us if you do not receive an Invoice payment callback within the next 5 mins."
}

Test 3: Melakukan Update Fixed Virtual Account

Kirim PATCH request ke https://api.xendit.co/callback_virtual_accounts/{fixed_virtual_account_id} using a secret API Key. Pelajari parameter selengkapnya di Xendit API Reference.

Contoh Request

{
   "expiration_date": "2022-03-16T17:00:00.000Z"
}

Contoh Response

{
    "is_closed": false,
    "status": "PENDING",
    "currency": "IDR",
    "owner_id": "5fd1c319b9986239d7ec5567",
    "external_id": "VA_fixed-1615935264",
    "bank_code": "MANDIRI",
    "merchant_code": "88608",
    "name": "Ismail Rabbanii",
    "account_number": "886089999497724",
    "is_single_use": false,
    "expiration_date": "2022-03-16T17:00:00.000Z",
    "id": "60513720d0435601d9d43e5e"
}

Test 4: Mengatur Virtual Account Callback URL

Harap siapkan dua URL notifikasi / callback Anda untuk setiap Virtual Account yang dibuat dan dibayar di https://dashboard.xendit.co/settings/developers#callbacks. Catatan: Untuk panduan lebih lanjut terkait notifikasi / callback, pelajari selengkapnya di Xendit API Reference.

Contoh Callback Virtual Account: Created

{
    "is_closed": false,
    "status": "ACTIVE",
    "currency": "IDR",
    "owner_id": "5fd1c319b9986239d7ec5567",
    "external_id": "VA_fixed-1615935264",
    "bank_code": "MANDIRI",
    "merchant_code": "88608",
    "name": "Ismail Rabbanii",
    "account_number": "886089999497724",
    "is_single_use": false,
    "expiration_date": "2022-03-16T17:00:00.000Z",
    "id": "60513720d0435601d9d43e5e"
}

Contoh Callback Virtual Account: Paid

{
    "updated": "2017-02-15T11:01:52.896Z",
    "created": "2017-02-15T11:01:52.896Z",
    "payment_id": "1487156512722",
    "callback_virtual_account_id": "58a434ba39cc9e4a230d5a2b",
    "owner_id": "5824128aa6f9f9b648be9d76",
    "external_id": "fixed-va-1487156410",
    "account_number": "1001470126",
    "bank_code": "MANDIRI",
    "amount": 80000,
    "transaction_timestamp": "2017-02-15T11:01:52.722Z",
    "merchant_code": "88464",
    "id": "58a435201b6ce2a355f46070"
}

Contoh Callback Virtual Account: Expired

{
    "is_closed": false,
    "status": "INACTIVE",
    "currency": "IDR",
    "owner_id": "5fd1c319b9986239d7ec5567",
    "external_id": "VA_fixed-1615935264",
    "bank_code": "MANDIRI",
    "merchant_code": "88608",
    "name": "Ismail Rabbanii",
    "account_number": "886089999497724",
    "is_single_use": false,
    "expiration_date": "2021-03-16T17:00:00.000Z",
    "id": "60513720d0435601d9d43e5e"
}

Catatan: jika Anda ingin mendapatkan callback untuk VA yang kadaluwarsa, Anda dapat meminta kami untuk mengaktifkannya melalui help@xendit.co.

Tes 5: Memverifikasi Callback Virtual Account

Untuk memverifikasi apakah panggilan balik yang Anda terima berasal dari Xendit, kirim GET request ke <https://api.xendit.co/callback_virtual_account_payments/payment_id= {payment_id}> menggunakan secret API key.

Contoh Response

{
    "payment_id": "604f42fdf29b9863574cc671",
    "callback_virtual_account_id": "604f42714e7bca4030ceed7c",
    "external_id": "VA_fixed-1615935264",
    "account_number": "9999166585",
    "bank_code": "MANDIRI",
    "amount": 50000,
    "transaction_timestamp": "2021-03-15T11:20:29.000Z",
    "merchant_code": "88908",
    "currency": "IDR",
    "id": "604f42fdfcd42e2d1c7f210f"
}