Integrasi pembayaran USDT: pesanan, tanda tangan, dan callback
Integrasi USDT harus menghubungkan pesanan dengan pembayaran yang dapat diverifikasi. UUGate mendukung TRC20-USDT dan BEP20-USDT. Pembuatan, instruksi, dan pemeriksaan status harus memakai pesanan serta jaringan yang sama. Contoh ini menggunakan TRC20 dengan jumlah tetap.
Siapkan kredensial dan callback
Siapkan Merchant UID, API Key, serta URL HTTPS publik milik Anda. Simpan kunci di server, bukan browser atau direktori publik. Periksa status merchant, akun biaya, dan batas paket. Ikuti panduan tanda tangan.
Buat dan simpan pesanan
Kirim badan berikut ke POST /openapi/payin/orders dari server. Ini hanya payload, bukan permintaan terautentikasi lengkap: gunakan SDK atau tambahkan lima header sesuai dokumentasi.
{
"chainCode": "TRON",
"tokenSymbol": "USDT",
"merchantOrderNo": "EXAMPLE-20260928-001",
"amount": "10.00",
"notifyUrl": "https://merchant.example.com/payments/uugate"
}
Jumlah dikirim sebagai string. Simpan orderNo, merchantOrderNo, cashierUrl, dan expireAt sebelum menampilkan checkout. waiting_payment berarti pesanan dibuat, bukan dana diterima. Lihat parameter dan respons.
Verifikasi sebelum memenuhi pesanan
Verifikasi timestamp, nonce, dan badan asli dengan API Key saat pembuatan pesanan. Jangan serialisasi ulang JSON. Cocokkan merchant, pesanan, jaringan, aset, serta jumlah diterima. Gunakan batasan unik pada nomor platform dan transaksi untuk menyimpan pembayaran serta status bisnis sebelum mengembalikan 2xx. Callback berulang cukup mengakui hasil tersimpan, tanpa kredit atau pengiriman ganda. Lihat callback pembayaran.
Tangani hasil belum pasti
Halaman kembali di browser bukan bukti pembayaran. Jika nomor platform tersedia, periksa pesanan dan gunakan status=completed untuk sukses final. Jika pembuatan timeout tanpa nomor, periksa hasil di konsol dahulu. Nomor merchant tidak menjamin pengulangan pembuatan yang idempoten.
Pemeriksaan sebelum peluncuran
- Uji pembayaran normal, tanda tangan salah, callback duplikat, dan endpoint sementara tidak tersedia.
- Pembayaran kedaluwarsa, kurang, atau salah jaringan tidak boleh langsung memicu pengiriman.
- Simpan nomor, hash, dan hasil tanpa mencatat API Key.
- Mulai dengan SDK Node.js atau PHP / Laravel; periksa jaringan USDT dan harga.