Skenario Pengujian

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:

  1. Daftar akun Xendit.
  2. Pastikan Anda telah mengaktifkan metode pembayaran Retail Outlet di pengaturan.
  3. Anda berada dalam mode pengujian dan mendapatkan secret API key yang dapat Anda buat dari dasbor. Harap perhatikan bahwa Anda memerlukan akses write.
  4. Unduh Postman dan Koleksi Xendit. Untuk panduan lebih lanjut tentang Postman, silakan kunjungi artikel berikut.
  5. Pelajari API Outlet Ritel dengan mengunjungi Referensi API.
  6. 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.

WARNING

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"
}

Last Updated on 2023-05-21