Langsung ke konten utama

Aturan Nomor Pesanan

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

⚠️ 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.

Terakhir diperbarui: