Transaksi & Pesanan (Orders)
Dokumentasi API untuk alur pemesanan produk, mulai dari pembuatan draf, pengisian data (checkout), hingga finalisasi pembayaran.
Endpoint Overview
| Method | Endpoint | Deskripsi |
|---|---|---|
| POST | /orders | Membuat pesanan baru (Status: DRAFT). |
| GET | /orders | Mengambil daftar riwayat pesanan pengguna. |
| GET | /orders/:token | Mengambil detail pesanan berdasarkan token. |
| PUT | /orders/:token | Memperbarui data pesanan (Checkout / Pilih Pembayaran). |
| GET | /orders/:token/payment | Mengambil metode pembayaran yang tersedia. |
| POST | /orders/:token/cancel | Membatalkan pesanan. |
1. Create Order (Draft)
Memulai proses pemesanan dengan memilih produk dan tanggal. Status awal adalah DRAFT.
- URL:
/orders - Method:
POST - Headers:
Authorization: Bearer {{token}} - Body (JSON):
{
"product_id": "uuid-product",
"items": [
{
"ticket_id": "uuid-ticket",
"quantity": 2,
"book_start_date": "2026-03-10"
}
]
}
- Response (200 OK):
{
"status": true,
"code": 200,
"data": {
"order_token": "uuid-token",
"total_amount": 1000000,
"payment_status": "DRAFT"
}
}
2. Checkout (Update Data)
Mengisi data pemesan dan data peserta (ticket holders).
- URL:
/orders/:token - Method:
PUT - Body (JSON):
{
"status": "CHECKOUT",
"order_user": {
"full_name": "Budi Atourin",
"email": "budi@example.com",
"phone_number": "08123456789"
},
"ticket_holders": [
{ "full_name": "Peserta 1", "email": "p1@example.com" }
],
"insurance": true,
"promo_code": "PROMOBAHAGIA"
}
3. Select Payment Method
Finalisasi pilihan metode pembayaran (misal: BCA Virtual Account). Status akan berubah menjadi PENDING.
- URL:
/orders/:token - Method:
PUT - Body (JSON):
{
"status": "PENDING",
"bank_code": "BCA_VA"
}
- Response (200 OK):
{
"status": true,
"code": 200,
"data": {
"payment_invoice": {
"external_id": "INV-123456",
"payment_url": "https://...",
"va_number": "888123456789",
"amount": 1005000
}
}
}
4. Cancel Order
Membatalkan pesanan yang masih dalam status DRAFT atau PENDING.
- URL:
/orders/:token/cancel - Method:
POST - Response (200 OK):
{
"status": true,
"code": 200,
"msg": "Order cancelled successfully"
}
🔥 Uji Coba API (Simulator)
Gunakan simulator di bawah ini untuk mencoba seluruh endpoint di atas secara langsung. Anda dapat mengubah URL, Method, Headers, dan Body sesuai kebutuhan.