Transfer bank (Vietnam)
Di mana letaknya di admin: Finance › Payment channels › VN bank transfer (
/payments/bank). Nilai tukar: Finance › Payment channels › Exchange rates (/payments/fx).
Fungsi
Memungkinkan pelanggan mengisi ulang dompet USD melalui transfer bank normal dalam dong Vietnam. NexCMP menampilkan kode VietQR, detail akun, dan transfer memo yang unik; Sepay memantau rekening bank Anda dan memanggil webhook saat uang tiba, lalu NexCMP mengkredit dompet tersebut. Gunakan ini jika Anda menjual kepada pelanggan di Vietnam.
Hanya ditampilkan dalam antarmuka bahasa Vietnam
Opsi bank VN ditawarkan kepada pelanggan hanya ketika portal ditampilkan dalam bahasa Vietnamese. Pelanggan dengan bahasa lain tidak akan pernah melihatnya.
Persyaratan
| Item | Persyaratan |
|---|---|
| Akun bank | Sebuah rekening bank Vietnam (atau akun virtual Sepay, VA) yang terhubung ke akun Sepay di my.sepay.vn. |
| Sepay | Akun Sepay dengan integrasi webhook yang diaktifkan. |
| Nilai tukar | Kurs USD ke VND harus ada: perbarui terlebih dahulu di bawah Exchange rates. Tanpa kurs, kanal akan menjawab fx_unavailable dan pelanggan tidak dapat memulai transfer. |
| Jaringan | Panel Anda harus dapat diakses melalui HTTPS agar Sepay dapat memanggil https://<your-domain>/v1/billing/sepay/webhook. |
| Dependensi | Mata uang dan nilai tukar. |
Siapkan infrastruktur
Di sisi Sepay:
- Di my.sepay.vn, hubungkan rekening bank Anda (atau buat VA) dan pastikan transaksi muncul.
- Tentukan prefix memo — 2 hingga 5 huruf kapital, misalnya
PAY. NexCMP menghasilkan memo sebagai prefix yang diikuti oleh 8 digit acak (misalnyaPAY48210937). Prefix tidak boleh mengandungORD, dan sebaiknya tidak digunakan oleh sistem lain yang menerima uang ke rekening yang sama. - Jika akun Sepay Anda menggunakan struktur kode pembayaran, daftarkan prefix yang sama di sana agar Sepay mengenali memo tersebut.
- Buat webhook nanti, setelah halaman NexCMP memberi Anda URL dan kunci (langkah 7 di bawah).
Hubungkan di NexCMP
Buka Finance › Payment channels › Exchange rates dan klik Update exchange rates jika belum ada kurs yang tersimpan.
Buka Finance › Payment channels › VN bank transfer (
/payments/bank).Di Receiving account isi:
Kolom Contoh Aturan Bank VCBVietcombankPilih dari daftar; BIN akan terisi secara otomatis. Nomor rekening 01234567894–24 digit atau huruf kapital. Akun virtual (VA — opsional) Jika disetel, pelanggan mentransfer ke VA dan QR akan menampilkannya. Nama pemilik rekening NGUYEN VAN ATanpa aksen, HURUF BESAR, 2–60 karakter. Prefix memo transfer PAY2–5 huruf kapital, tanpa ORD.Di Webhook authentication pilih Auth method: HMAC-SHA256 (disarankan) atau API key, dan masukkan Webhook key / HMAC secret (8–200 karakter). Secara opsional, masukkan userapi token dari Sepay; ini hanya digunakan untuk mencocokkan kembali transfer yang webhook-nya hilang.
Di Channel & limits atur batas (bawaan dalam tanda kurung): Min / order (10,000 VND), Max / order (200,000,000 VND), Order expiry (120 menit, 15–1440), Max pending orders / account (3, 1–10), Reconcile every (10 menit) dan, secara opsional, Allowed webhook IPs (dipisahkan koma; kosong berarti IP hanya dicatat).
Klik Save. Spanduk merah "Sepay not configured" akan hilang setelah akun, nama, prefix, dan kunci valid.
Salin Webhook URL to paste into my.sepay.vn (tertulis
https://<your-domain>/v1/billing/sepay/webhook) dengan Copy. Di Sepay, buka integrasi webhook, tempel URL tersebut, pilih jenis autentikasi dan key yang sama, lalu aktifkan event "money in".Klik Test connection. Kemudian aktifkan Enable Sepay for clients (main site) dan Save.


Keamanan webhook
| Metode | Apa yang harus dikirim oleh Sepay |
|---|---|
| HMAC-SHA256 | Header X-SePay-Signature: sha256=<hex>, dihitung dari "<X-SePay-Timestamp>.<raw body>"; stempel waktu mungkin berbeda paling lama 300 detik. |
| Kunci API | Header Authorization: Apikey <key>. |
Hanya header yang diperiksa (tidak pernah isi atau string kueri) dan perbandingan dilakukan dalam waktu-konstan. Hanya transfer masuk (transferType = in) ke akun atau VA yang Anda konfigurasikan yang digunakan. Setiap transaksi Sepay disimpan sekali, sehingga webhook yang dicoba ulang tidak pernah mengkreditkan dua kali. NexCMP merespons 200 {"success":true} bahkan ketika dengan sengaja mengabaikan suatu transaksi, dan HTTP 5xx hanya untuk kesalahan sementara agar Sepay mencoba ulang.
Cara pelanggan membayar
- Di Billing › Deposit (antarmuka berbahasa Vietnam), pelanggan memilih opsi transfer bank VN dan memasukkan jumlah, lalu mengklik tombol buat-transfer.
- NexCMP mengonversi jumlah USD pada kurs yang disimpan (termasuk margin dan langkah pembulatan yang Anda atur di Exchange rates) dan membulatkan jumlah VND ke atas ke langkah pembulatan tersebut.
- Pelanggan melihat kode QR (VietQR, dibuat secara lokal) yang berisi nomor rekening, bank, jumlah, dan berita transfer.
- Setelah transfer, Sepay memanggil webhook, NexCMP mengkreditkan
floor(VND received × 100 / rate)sen. Nilai tukar dikunci saat pesanan dibuat; jika dana tiba setelah pesanan kedaluwarsa, nilai tukar yang lebih tinggi antara nilai yang dikunci dan nilai saat ini akan digunakan. - Pesanan kedaluwarsa setelah Order expiry; rekonsiliasi berjalan setiap Reconcile every menit sebagai jaring pengaman (memerlukan token userapi).
Verifikasi
- Buat pesanan uji sebagai pelanggan pada antarmuka bahasa Vietnam. Periksa apakah jumlah, rekening, dan berita transfer sudah benar.
- Transfer jumlah minimum yang diizinkan dengan berita transfer yang tepat.
- Dalam waktu satu menit, portal menampilkan setoran sebagai selesai dan saldo dompet bertambah; kartu State pada halaman bank menunjukkan waktu webhook terakhir.
- Buka Finance › Billing › Top-ups dan periksa apakah pembayaran terdaftar dengan jumlah VND yang diterima.
Batas & catatan
- Minimum. Minimum VND yang dilihat pelanggan adalah nilai yang lebih besar antara Min / order dan nilai VND dari minimum top-up.
- Pesanan tertunda. Pelanggan hanya dapat memiliki pesanan terbuka sejumlah Max pending orders / account (default 3).
- Berita transfer sama dua kali. Melakukan transfer dua kali dengan berita transfer yang sama akan membuat pembayaran kedua yang selesai pada nilai tukar saat ini.
- Tidak ada pengembalian dana otomatis ke rekening bank.
- Biaya. Kanal ini tidak memiliki baris biaya tetap di Fees & limits; margin nilai tukar adalah satu-satunya penyesuaian.
- Resellers dapat mengonfigurasi akun mereka sendiri; URL webhook mereka diakhiri dengan
/v1/billing/sepay/webhook/r/<id>.
Transfer yang tidak cocok
Dana yang masuk ke rekening namun tidak membawa berita transfer yang valid akan muncul di Unmatched transactions di bagian bawah halaman (filter All channel owners atau Master). Periksa referensi bank dengan pelanggan, lalu klik Assign dan pilih akun. Dompet dikreditkan pada nilai tukar saat ini.
Pemecahan Masalah
| Gejala | Penyebab | Solusi |
|---|---|---|
| Banner "Sepay belum dikonfigurasi" | Bank, akun, nama pemilik, prefiks, atau kunci hilang atau tidak valid | Lengkapi kartu Receiving account dan Webhook authentication. |
Banner "Kurs USD/VND diblokir" (fx_unavailable) | Tidak ada nilai tukar yang disimpan | Buka Exchange rates › Update exchange rates. |
prefix: 2–5 capital letters, no ORD | Prefiks tidak valid | Gunakan 2–5 huruf kapital tanpa ORD. |
Kesalahan account_name | Aksen atau huruf kecil | Gunakan huruf HURUF BESAR tanpa aksen, angka, spasi, titik, atau tanda hubung. |
webhook_secret: 8–200 characters | Kunci terlalu pendek | Gunakan setidaknya 8 karakter cetak. |
| Pelanggan tidak dapat melihat opsi | Tidak ada dalam antarmuka bahasa Vietnam, dinonaktifkan, atau tidak ada tarif | Periksa bahasa, sakelar, dan tarif. |
| Pelanggan sudah membayar tetapi saldo tidak masuk | Webhook tidak sampai, memo berubah, jumlah salah | Periksa log webhook Sepay; transfer akan masuk ke Unmatched transactions jika memo salah. |
| Webhook mengembalikan respons 401 atau 403 | Ketidakcocokan metode otentikasi atau kunci | Gunakan metode dan kunci yang sama di Sepay dan NexCMP. |
| Pelanggan melihat "Too many pending requests" | Batas pesanan tertunda tercapai | Selesaikan pesanan tersebut atau tunggu hingga kedaluwarsa. |