Simulasi
Pada bagian ini akan dijelaskan bagaimana melakukan simulasi transaksi Retail Outlet mulai dari pembuatan Fixed Payment Code (FPC), melakukan pembayaran, dan mendapatkan notifikasi / callback dari transaksi yang berhasil melalui API Retail Outlet. Untuk panduan simulasi Outlet Ritel dengan xenInvoice, silakan kunjungi halaman berikut.
Pra Testing
Pastikan Anda telah melakukan langkah-langkah berikut sebelum melakukan simulasi:
- Daftar akun Xendit.
 - Pastikan Anda telah mengaktifkan metode pembayaran Retail Outlet di pengaturan.
 - Anda berada dalam mode pengujian dan mendapatkan secret API key yang dapat Anda buat dari dasbor. Harap perhatikan bahwa Anda memerlukan akses write.
 - Unduh Postman dan Koleksi Xendit. Untuk panduan lebih lanjut tentang Postman, silakan kunjungi artikel berikut.
 - Pelajari API Outlet Ritel dengan mengunjungi Referensi API.
 - Setelah Anda menyelesaikan langkah-langkah di atas, Anda siap untuk memulai pengujian!
 
Test 1: Membuat Fixed Payment Code
Untuk Retail Outlet ID
Kirim POST request ke https://api.xendit.co/fixed_payment_code menggunakan secret API key. Masukkan parameter sesuai dengan panduan pada Referensi API.
Contoh Request
{
    "external_id": "FPC-{{$timestamp}}",
    "retail_outlet_name": "ALFAMART",
    "name": "Ismail Rabbanii",
    "expected_amount": 25000
}
Contoh Response
{
    "is_single_use": false,
    "status": "ACTIVE",
    "owner_id": "5fd1c319b9986239d7ec5567",
    "external_id": "FPC-1619132067",
    "retail_outlet_name": "ALFAMART",
    "prefix": "TEST",
    "name": "Ismail Rabbanii",
    "payment_code": "TEST163412",
    "type": "USER",
    "expected_amount": 25000,
    "expiration_date": "2052-04-22T17:00:00.000Z",
    "id": "6081fea334850277649bc2a3"
}
Untuk Retail Outlet/Over-the-Counter PH
Kirim POST request ke https://api.xendit.co/payment_codes menggunakan secret API key. Masukkan parameter sesuai dengan panduan pada Referensi API.
Contoh Request
{
  "reference_id": "123",
  "channel_code": "7ELEVEN",
  "customer_name": "Reinaldy Gultom",
  "amount": 50,
  "currency": "PHP",
  "market": "PH"
}
Contoh Response
{
    "id": "pcode-69196f15-4685-4d6e-84a4-234837e3237c",
    "business_id": "61359238d852f3401b86014d",
    "reference_id": "123",
    "customer_name": "Reinaldy Gultom",
    "payment_code": "PSTESTVG53A7FM",
    "currency": "PHP",
    "amount": 50,
    "channel_code": "7ELEVEN",
    "description": null,
    "is_single_use": true,
    "market": "PH",
    "status": "ACTIVE",
    "metadata": null,
    "created_at": "2021-09-06T05:04:17.052998115Z",
    "updatedAt": "2021-09-06T05:04:17.052998115Z",
    "expires_at": "2021-09-08T05:04:17.016958771Z"
}
Test 2: Simulasi Pembayaran Fixed Payment Code
Untuk Retail Outlet ID
Kirim POST request ke https://api.xendit.co/fixed_payment_code/simulate_payment menggunakan secret API key.
info
Anda harus telah membuat FPC sebelum melakukan test ini. Pastikan Anda menggunakan FPC yang telah dibuat untuk melakukan simulasi pembayaran
Contoh Request
{
    "retail_outlet_name": "ALFAMART",
    "payment_code": "TEST163412",
    "transfer_amount": 25000
}
Contoh Response
{
    "status": "COMPLETED",
    "message": "Payment for the Fixed Payment Code was successfully simulated"
}
Untuk Retail Outlet/Over-the-Counter PH
Kirim POST request ke https://api.xendit.co/payment_codes/simulate_payment menggunakan secret API key.
caution
Anda harus telah membuat payment code sebelum melakukan test ini. Pastikan Anda menggunakan payment code yang telah dibuat untuk melakukan simulasi pembayaran.
Contoh Request
{
    "payment_code": "PSTESTVG53A7FM",
    "channel_code": "7ELEVEN",
    "market": "PH",
    "reference": "random",
    "amount": 50,
    "currency": "PHP"
}
Contoh Response
{
    "id": "pymt-295e4d64-b7a5-4537-b5d4-4e558eb3dd91",
    "reference_id": "random",
    "payment_code": "PSTESTVG53A7FM",
    "amount": 50,
    "currency": "PHP",
    "remarks": "payment simulation",
    "created": "2021-09-06T05:24:29.579364458Z"
}
Test 3: Update Fixed Payment Code
Untuk Retail Outlet ID
Kirim PATCH request ke https://api.xendit.co/fixed_payment_code/{fixed_payment_code_id} menggunakan secret API key. Masukkan parameter sesuai dengan panduan pada Referensi API.
info
Anda dapat mendapatkan ID dari response pada saat membuat Kode Pembayaran
Contoh Request
{
    "name": "Ismail Rabbanii Update",
    "expected_amount": 28000
}
Contoh Response
{
    "is_single_use": false,
    "status": "ACTIVE",
    "owner_id": "5fd1c319b9986239d7ec5567",
    "external_id": "FPC-1619132067",
    "retail_outlet_name": "ALFAMART",
    "prefix": "TEST",
    "name": "Ismail Rabbanii Update",
    "payment_code": "TEST163412",
    "type": "USER",
    "expected_amount": 28000,
    "expiration_date": "2052-04-22T17:00:00.000Z",
    "id": "6081fea334850277649bc2a3"
}
Untuk Retail Outlet/Over-the-Counter PH
Kirim PATCH request ke https://api.xendit.co/payment_codes/{payment_code_id} menggunakan secret API key. Masukkan parameter sesuai dengan panduan pada Referensi API 
info
Anda dapat mendapatkan ID dari response pada saat membuat Kode Pembayaran
Contoh Detail Payment Code
{
    "id": "pcode-dd901436-6c63-4fce-94f3-278edf265e42",
    "business_id": "61359238d852f3401b86014d",
    "reference_id": "TesT08",
    "customer_name": "Reinaldy",
    "payment_code": "PSTESTC7HBF9DG",
    "currency": "PHP",
    "amount": 50,
    "channel_code": "CEBUANA",
    "description": "this is test",
    "is_single_use": true,
    "market": "PH",
    "status": "ACTIVE",
    "metadata": null,
    "created_at": "2021-09-08T07:06:40.450295189Z",
    "updatedAt": "2021-09-08T07:06:40.450295189Z",
    "expires_at": "2021-09-09T01:48:52Z"
}
Contoh Request
{
    "customer_name": "Test",
    "expires_at": "2021-09-08T01:48:52Z"
}
Contoh Response
{
    "id": "pcode-dd901436-6c63-4fce-94f3-278edf265e42",
    "business_id": "61359238d852f3401b86014d",
    "reference_id": "TesT08",
    "customer_name": "Test",
    "payment_code": "PSTESTC7HBF9DG",
    "currency": "PHP",
    "amount": 50,
    "channel_code": "CEBUANA",
    "description": "this is test",
    "is_single_use": true,
    "market": "PH",
    "status": "EXPIRED",
    "metadata": null,
    "created_at": "2021-09-08T07:06:40.450295Z",
    "updatedAt": "2021-09-08T07:08:46.310392Z",
    "expires_at": "2021-09-08T01:48:52Z"
}
Test 4: Mendapatkan Detail Fixed Payment Code
Untuk Retail Outlet ID
Terkadang Anda perlu mengetahui detail untuk kode pembayaran tetap Anda. Anda dapat menggunakan end-point ini dengan mengirimkan request GET ke https://api.xendit.co/fixed_payment_code/{fixed_payment_code_id.
Contoh Response
{
    "is_single_use": false,
    "status": "ACTIVE",
    "owner_id": "5fd1c319b9986239d7ec5567",
    "external_id": "FPC-1619132067",
    "retail_outlet_name": "ALFAMART",
    "prefix": "TEST",
    "name": "Ismail Rabbanii Update",
    "payment_code": "TEST163412",
    "type": "USER",
    "expected_amount": 28000,
    "expiration_date": "2052-04-22T17:00:00.000Z",
    "id": "6081fea334850277649bc2a3"
}
Untuk Retail Outlet/Over-the-Counter PH
Jika anda perlu mengetahui informasi detail dari kode pembayaran, anda bisa menggunakan endpoint berikut ini dengan cara mengirimkan request GET ke https://api.xendit.co/payment_codes/{payment_code_id}.
Contoh Response
{
    "id": "pcode-4f6d78e5-add4-43ea-b9da-9e6c6ae4b9e7",
    "business_id": "61359238d852f3401b86014d",
    "reference_id": "Test",
    "customer_name": "Reinaldy",
    "payment_code": "PSTESTFWL22HMK",
    "currency": "PHP",
    "amount": 100,
    "channel_code": "7ELEVEN",
    "description": null,
    "is_single_use": true,
    "market": "PH",
    "status": "ACTIVE",
    "metadata": null,
    "created_at": "2021-09-06T07:00:29.049822Z",
    "updatedAt": "2021-09-06T07:00:29.049822Z",
    "expires_at": "2021-09-08T01:48:52Z"
}