Aturan Nomor Pesanan
Sekitar 1 menit
Aturan Nomor Pesanan
Nomor pesanan adalah identifier unik yang digunakan untuk melacak transaksi dalam sistem pembayaran SmilePayz. Mengikuti format yang benar memastikan pemrosesan transaksi yang berhasil dan manajemen catatan yang tepat.
📋 Persyaratan
Panjang Karakter
- Minimum: 6 karakter
- Maksimum: 32 karakter
- Direkomendasikan: 16-24 karakter untuk keterbacaan optimal
Karakter yang Diizinkan
- Angka: 0-9
- Huruf: A-Z, a-z (tidak peka huruf besar/kecil)
- Karakter Khusus: Tidak diizinkan
Keunikan
- Setiap nomor pesanan harus unik secara global dalam akun merchant Anda
- Nomor pesanan duplikat akan mengakibatkan penolakan transaksi
- Nomor pesanan tidak dapat digunakan kembali di transaksi yang berbeda
🚫 Pembatasan
- Tidak boleh ada spasi atau simbol khusus (misalnya
!@#$%^&*()
) - Tidak boleh ada tanda hubung atau garis bawah
- Tidak boleh ada karakter Unicode atau non-ASCII
- Tidak boleh dimulai dengan prefix yang dipesan oleh sistem
💡 Praktik Terbaik
Format yang Direkomendasikan
[PREFIX][TIMESTAMP][RANDOM]
Contoh: ORD20241201123456789ABC
Konvensi Penamaan
- Gunakan prefix yang bermakna (misalnya
PAY
,ORD
,TXN
) - Sertakan timestamp untuk pengurutan kronologis
- Tambahkan karakter acak untuk keunikan
- Pertahankan format yang konsisten di seluruh aplikasi Anda
📝 Contoh Implementasi
{
"merchantId": "sandbox-20001",
"orderNo": "T37484Fx383ksd90383",
"amount": 1000.00,
"currency": "THB",
"paymentMethod": "QRPAY"
}
{
"merchantId": "20001",
"orderNo": "37484Fx383ksd90383",
"amount": 1000.00,
"currency": "THB",
"paymentMethod": "QRPAY"
}
⚠️ Kesalahan Umum
❌ Contoh Tidak Valid
"orderNo": "123" // Terlalu pendek (kurang dari 6 karakter)
"orderNo": "ORDER-123" // Mengandung tanda hubung
"orderNo": "ORDER_123" // Mengandung garis bawah
"orderNo": "ORDER@123" // Mengandung karakter khusus
"orderNo": "ORDER 123" // Mengandung spasi
✅ Contoh Valid
"orderNo": "ORDER123456" // Format valid
"orderNo": "TXN20241201123456789ABC" // Dengan timestamp
"orderNo": "PAYMENT001" // Format sederhana
"orderNo": "1234567890ABCDEF" // Alphanumeric
🔍 Validasi
Sistem secara otomatis memvalidasi nomor pesanan dan akan mengembalikan error jika:
- Panjang kurang dari 6 atau lebih dari 32 karakter
- Mengandung karakter yang tidak valid
- Nomor pesanan sudah ada dalam sistem
- Format melanggar salah satu aturan yang ditentukan
📊 Respons Error
Jika nomor pesanan yang tidak valid diberikan, API akan mengembalikan:
{
"code": "INVALID_ORDER_NO",
"message": "Format nomor pesanan tidak valid atau sudah ada",
"data": null
}
Catatan: Selalu generate nomor pesanan unik untuk setiap transaksi untuk memastikan pelacakan yang tepat dan menghindari konflik dalam sistem pembayaran.