← Semua Integrasi PanduanPanduan Integrasi · API / BACKEND / MobilMengintegrasikan Crypto Payments dengan MochiPay API
Create and query payment orders from your application. PHP Demo 1.1.8 supports PHP 7.0–8.4 and provides order.php, callback.php, checkout.php with both presentation branches, bundled local dialog assets and an English README. Use on-site (default) or HPP with the same payment order.
Demo walkthrough · konfigurasi ilustratif · gunakan pembayaran nyata kecil untuk mengkonfirmasi pengaturan Anda sendiri.
Payment-flow illustration. On-site and HPP use the same payment order; your server verifies its final status.Lihat hasil pembayaran lengkap

Demo illustration with sample values. Verify these outcomes using a real small payment in your own setup; the checkout amount and confirmation requirements depend on the order.
01 · Persiapan Anda MochiPay Akun
- Membuat akun dan Mengaktifkan langganan.
- Terbuka Dompet, pilih Add HD Wallet → Generate New, dengan aman backup frasa pemulihan dan simpan wallet.
- Menetapkan nama layar yang dapat diidentifikasi di Profil.
- Terbuka Kredensial API dan menyalin Anda API Kunci dan disimpan API Jika tidak ada rahasia disimpan, regenerasi untuk pertama kalinya dan simpan dengan aman. regenerasi rahasia yang ada menghalangi integrasi yang menggunakan rahasia sebelumnya.
Bersedia ketika: langganan dan menerima dompet Anda aktif, dan Anda memiliki kredibilitas yang diperlukan di bawah ini.
Lihat setup akun yang diilustrasikanPilih di situs atau HPP
| Mode | pengalaman pelanggan | tanggung jawab server |
|---|
| Pada situs (default) | Dialog pembayaran di domain Anda sendiri, dengan jumlah yang tepat, alamat, jaringan, QR dan statusnya. | Create and store the payment binding; query through your own backend and return only a safe payment view. |
|---|
| HPP | Mengalihkan kembali ke yang dikembalikan payment_url pada MochiPay. | Simpan link yang sama dan verify callbacks/returns server-to-server. |
|---|
Mode Checkout adalah preferensi integrasi Anda, bukan API Kedua link menggunakan satu perintah.Jangan membuat perintah lain saat menukar mode.Classic SaaS mendukung HPP Hanya saja.
All five methods are available: USDT_TRC20, USDC_ERC20, BTC_BITCOIN, ETH_ERC20 and SOL_SOLANA. UP is the default unique amount direction; DOWN is also supported. Enable a receiving wallet for each offered method.
03 · Menempatkan dan membayar perintah ujian
Open order.php. Create a small demo order using a unique merchant order reference and a configured payment method. Select ON_SITE or HPP; open the preferred link shown after creation. The result also offers Embedded store checkout and PHP HPP redirect links; both are implemented in checkout.php. The alternative link uses the same order.
- Menyelaras aset dan jaringan yang dipilih, dan mengirimkan jumlah yang tepat yang ditampilkan di halaman pembayaran.
- mengirimkan yang Jumlah yang tepat di halaman pembayaran Jangan mengelilingi atau menggunakan alamat dari pesanan yang berbeda.
- Tunggu untuk pengesahan blockchain yang diperlukan dan MochiPay Perintah untuk menjadi
PAID.
The store/API example may price the product in USD. MochiPay locks the conversion when creating the order; unique amount adjustments can change the final payable amount. The checkout value is the amount to send.
Pemeriksaan Kesuksesan : dan yang MochiPay Pesanan menunjukkan PAID, dengan transaksi tercatat. membuka halaman pengembalian browser sendiri tidak membuktikan pembayaran.
04 · Memeriksa hasil dan penerimaan dompet
Query the order by the system order_id from your application. Accept payment only after the authenticated query is PAID and matches your stored system ID, merchant reference, original amount/currency, selected asset/network, receiving address, exact payable amount and expected received amount. Fulfill through an atomic, idempotent local transaction. callback.php demonstrates this verification for notifications and browser returns, using private demo records. It does not fulfill orders; replace temporary records and the callback TODO with your production database and fulfillment transaction. Read the bundled README.
Match the payment transaction and receiving address with your MochiPay order. Review the receiving wallet or blockchain explorer. Funds are already in your receiving wallet; there is no platform withdrawal request.
Gunakan dompet yang kompatibel dan tunggu konfirmasi blockchain saat memindahkan dana. Baca Panduan Manajemen Deposit
Pengembalian dan jumlah yang tepat
Bertahan usaha sebelum membuat perintah. PHP Demo Menyelamatkan request_id dan beban yang tepat sebelum membuat pesanan.Selepas timout tanpa ID sistem yang disimpan, mengembalikan beban yang sama dan request_id· Seorang yang dikenal order_id yang dikehendaki. untuk rekaman yang lebih tua tanpa request_id, tanyakan referensi pedagang yang unik sebelum apa pun yang baru dicipta. menyimpan nilai respons dekimal sebagai string sebelum PHP atau JavaScript Konversi float; paparan pay_amount dengan benar. yang terikat QR hanya mengenkripsi alamat, sehingga pelanggan harus memasukkan jumlah yang dipaparkan.
Ketika membangun sendiri API Pelanggan
Penggunaan X-Mochi-Key dan X-Mochi-SignatureMencipta Order menandakan yang tepat JSON Badan menggunakan basis64Kode HMAC-SHA256Perintah pertanyaan menandatangani baris pertanyaan yang tepat tanpa tanda pertanyaan utama.
Jika tes tidak selesai
Opsi pembayaran atau pesanan tidak dapat dibuat
Periksa status langganan, dompet penerima aktif, kode metode pembayaran, pengesahan dan pasangan kadar pertukaran untuk mata uang pesanan. Untuk plugins, juga periksa metode diaktifkan untuk jangkauan / pelanggan yang digunakan dalam tes.
Pembayaran masih menunggu atau tidak dibayar
Bandingkan aset, jaringan, alamat dan jumlah yang dapat dibayar dengan transaksi. tunggu untuk konfirmasi yang diperlukan. Jangan menandai pesanan toko yang dibayar berdasarkan hanya pada screenshot atau pengembalian browser.
MochiPay dibayar tetapi toko / aplikasi saya tidak diperbarui
Periksa apakah titik akhir pemberitahuan / panggilan balik dapat diakses secara umum HTTPS dan tidak diblokir oleh autentikasi atau firewall. mengkonfirmasi integrasi dapat meminta MochiPay dan memeriksa log kesalahan. link pembayaran sendiri update MochiPayBukan toko luar.
Permintaan Optional Deduplication
Integrasi yang ada terus bekerja tanpa request_idUntuk menggunakan ulang pesanan pembayaran yang sama setelah timout, tambahkan opsi request_id Untuk yang ditandatangani JSON sebelum menghitung tanda tangan HMAC yang ada.
{"merchant_order_id":"STORE-1001","amount":25,"currency":"USD","payment_method":"USDT_TRC20","request_id":"STORE-1001:create:v1"}
Use 1–64 ASCII letters, digits, dots, underscores, colons or hyphens. A key belongs to one merchant and one request payload. Reuse the same key and payload for retries; responses keep the existing fields and return the original order in its current state. Keys are retained without automatic expiry. For a genuinely new purchase, use a new key and a new merchant_order_id; an unpaid earlier purchase does not block the same amount on a different reference. WEB82.3 guards reference creation even without request_id. Query a legacy uncertain reference first; replay unchanged only after authenticated404 ORDER_NOT_FOUND with recovery_contract=merchant-reference-v1. Deploy the website API before recovery plugins.
HTTP 409 REQUEST_IN_PROGRESS: mengembalikan permintaan yang sama setelah keterlambatan Retry-After. HTTP 409 REQUEST_ID_CONFLICTKunci digunakan kembali dengan beban pembayaran yang berbeda.Jangan menghasilkan kunci baru hanya untuk melewati timout. ON_SITE dan HPP dapat menggunakan kedua-dua medan pembayaran yang dikembalikan atau payment_url Seperti sebelumnya.