Membuat faktur
Meminta
Parameter kueri
Nama | Jenis parameter | Nilai default | Definisi |
---|---|---|---|
amount* | string | Jumlah Perlu dibayar.Jika ada sen dalam jumlah tersebut, kirimkan dengan pemisah '.' Contoh: 10.28 | |
currency* | string | Kode mata uang | |
order_id* | stringmin: 1max: 128alpha_dash | ID Pesanan di sistem AndaParameter harus berupa string yang terdiri dari karakter alfabet, angka, garis bawah, dan tanda hubung. Parameter tidak boleh mengandung spasi atau karakter khusus. order_id harus unik dalam faktur pedagang/dompet statis/pembayaran berulangKetika kami menemukan faktur yang ada dengan order_id, kami mengembalikan rinciannya, faktur baru tidak akan dibuat. | |
network | string | null | Kode jaringan Blockchain |
url_return | stringmin: 6max: 255url | null | Sebelum membayar, pengguna dapat mengklik tombol pada formulir pembayaran dan kembali ke halaman toko di URL ini. |
url_success | stringmin: 6max: 255url | null | Setelah pembayaran berhasil, pengguna dapat mengklik tombol pada formulir pembayaran dan kembali ke URL ini. |
url_callback | stringmin: 6max: 255url | null | URL tempat webhook dengan status pembayaran akan dikirim |
is_payment_multiple | boolean | true | Apakah pengguna diizinkan untuk membayar sisa pembayaran. Fitur ini berguna ketika pengguna belum membayar seluruh jumlah tagihan untuk satu transaksi, dan Anda ingin mengizinkannya membayar hingga jumlah penuh. Jika Anda menonaktifkan fitur ini, tagihan akan diproses setelah menerima pembayaran pertama dan Anda akan menerima dana di saldo Anda. |
lifetime | integermin: 300max: 43200 | 3600 | Umur faktur yang diterbitkan (dalam detik) |
to_currency | string | Parameter ini digunakan untuk menentukan mata uang target untuk mengonversi jumlah faktur. Saat membuat faktur, Anda memasukkan jumlah dan mata uang, dan API akan mengonversi jumlah tersebut ke nilai yang setara dalam to_currency.Misalnya, untuk membuat faktur senilai 20 USD dalam bitcoin: jumlah: 20 mata uang: USD to_currency: BTCAPI akan mengonversi jumlah 20 USD ke jumlah yang setara dalam BTC berdasarkan nilai tukar saat ini dan pengguna akan membayar dalam BTCto_currency harus selalu berupa kode mata uang kripto, bukan kode mata uang fiat. | |
subtract | integermin: 0max: 100 | 0 | Persentase komisi pembayaran yang dibebankan kepada klienJika Anda memiliki tarif 1%, maka jika Anda membuat faktur sebesar 100 USDT dengan pengurangan = 100 (klien membayar komisi 100%), klien harus membayar 101 USDT. |
accuracy_payment_percent | numericmin: 0max: 5 | 0 | Ketidakakuratan yang dapat diterima dalam pembayaran.Misalnya, jika Anda memberikan nilai 5, faktur akan ditandai sebagai Lunas meskipun klien hanya membayar 95% dari jumlah tersebut.Jumlah pembayaran sebenarnya akan dikreditkan ke saldo |
additional_data | stringmax: 255 | null | Informasi tambahan untuk Anda (tidak ditampilkan kepada klien) |
currencies | array | Rangkaian mata uang yang tersedia dari pengaturan pedagang Anda digunakan (jika parameter tidak ditetapkan, semua mata uang kripto yang didukung digunakan secara default).Mata uang yang tersedia diatur di bagian pengaturan pedagang. | Daftar mata uang yang diizinkan untuk pembayaran. Ini berguna jika Anda ingin membatasi daftar mata uang yang dapat digunakan pelanggan Anda untuk membayar faktur. Struktur |
except_currencies | array | null | Daftar mata uang yang dikecualikan untuk pembayaran Struktur |
course_source | stringmin: 4max: 20Nilai yang tersedia• Binance• BinanceP2P• Exmo• Kucoin | Jika tidak lolos, nilai tukar Cryptomus digunakan. | Layanan yang digunakan untuk mengambil nilai tukar dan mengonversikannya ke faktur. |
from_referral_code | string | null | Pedagang yang membuat permintaan terhubung ke rujukan melalui kode.Misalnya, Anda adalah aplikasi yang membuat faktur melalui API Cryptomus dan pelanggan Anda adalah toko lain. Mereka memasukkan kunci API dan ID pedagang di aplikasi Anda, dan Anda mengirimkan permintaan dengan kredensial mereka dan meneruskan kode rujukan Anda.Dengan demikian, klien Anda menjadi rujukan pada akun Cryptomus Anda dan Anda akan menerima penghasilan dari omzet mereka. |
discount_percent | integermin: -99max: 100 | null | Angka positif: Memungkinkan Anda menetapkan diskon. Untuk menetapkan diskon 5% untuk pembayaran, Anda harus memberikan nilai: 5Angka negatif: Memungkinkan Anda menetapkan komisi tambahan khusus.Untuk menetapkan komisi tambahan sebesar 10% untuk pembayaran, Anda harus memberikan nilai: -10Persentase diskon saat membuat faktur hanya diperhitungkan jika faktur tersebut memiliki mata uang kripto tertentu. |
is_refresh | boolean | false | Dengan menggunakan parameter ini, Anda dapat memperbarui masa berlaku dan mendapatkan alamat baru untuk faktur jika masa berlakunya telah berakhir.Untuk melakukan itu, Anda perlu meneruskan semua parameter yang diperlukan, dan faktur dengan order_id yang diteruskan akan disegarkan.Hanya alamat, status_pembayaran, dan kedaluwarsa_pada yang diubah. Tidak ada kolom lain yang diubah, terlepas dari parameter yang dimasukkan. |
Jenis parameter
stringDefinisi
Jumlah Perlu dibayar.Jika ada sen dalam jumlah tersebut, kirimkan dengan pemisah '.'
Contoh: 10.28Jenis parameter
stringDefinisi
Kode mata uangJenis parameter
stringmin: 1max: 128alpha_dashDefinisi
ID Pesanan di sistem AndaParameter harus berupa string yang terdiri dari karakter alfabet, angka, garis bawah, dan tanda hubung. Parameter tidak boleh mengandung spasi atau karakter khusus. order_id harus unik dalam faktur pedagang/dompet statis/pembayaran berulangKetika kami menemukan faktur yang ada dengan order_id, kami mengembalikan rinciannya, faktur baru tidak akan dibuat.Jenis parameter
stringDefinisi
Kode jaringan BlockchainJenis parameter
stringmin: 6max: 255urlDefinisi
Sebelum membayar, pengguna dapat mengklik tombol pada formulir pembayaran dan kembali ke halaman toko di URL ini.Jenis parameter
stringmin: 6max: 255urlDefinisi
Setelah pembayaran berhasil, pengguna dapat mengklik tombol pada formulir pembayaran dan kembali ke URL ini.Jenis parameter
stringmin: 6max: 255urlDefinisi
URL tempat webhook dengan status pembayaran akan dikirimJenis parameter
booleanDefinisi
Apakah pengguna diizinkan untuk membayar sisa pembayaran. Fitur ini berguna ketika pengguna belum membayar seluruh jumlah tagihan untuk satu transaksi, dan Anda ingin mengizinkannya membayar hingga jumlah penuh. Jika Anda menonaktifkan fitur ini, tagihan akan diproses setelah menerima pembayaran pertama dan Anda akan menerima dana di saldo Anda.Jenis parameter
integermin: 300max: 43200Definisi
Umur faktur yang diterbitkan (dalam detik)Jenis parameter
stringDefinisi
Parameter ini digunakan untuk menentukan mata uang target untuk mengonversi jumlah faktur. Saat membuat faktur, Anda memasukkan jumlah dan mata uang, dan API akan mengonversi jumlah tersebut ke nilai yang setara dalam to_currency.Misalnya, untuk membuat faktur senilai 20 USD dalam bitcoin:
jumlah: 20
mata uang: USD
to_currency: BTCAPI akan mengonversi jumlah 20 USD ke jumlah yang setara dalam BTC berdasarkan nilai tukar saat ini dan pengguna akan membayar dalam BTCto_currency harus selalu berupa kode mata uang kripto, bukan kode mata uang fiat.Jenis parameter
integermin: 0max: 100Definisi
Persentase komisi pembayaran yang dibebankan kepada klienJika Anda memiliki tarif 1%, maka jika Anda membuat faktur sebesar 100 USDT dengan pengurangan = 100 (klien membayar komisi 100%), klien harus membayar 101 USDT.Jenis parameter
numericmin: 0max: 5Definisi
Ketidakakuratan yang dapat diterima dalam pembayaran.Misalnya, jika Anda memberikan nilai 5, faktur akan ditandai sebagai Lunas meskipun klien hanya membayar 95% dari jumlah tersebut.Jumlah pembayaran sebenarnya akan dikreditkan ke saldoJenis parameter
stringmax: 255Definisi
Informasi tambahan untuk Anda (tidak ditampilkan kepada klien)Jenis parameter
arrayDefinisi
Daftar mata uang yang diizinkan untuk pembayaran. Ini berguna jika Anda ingin membatasi daftar mata uang yang dapat digunakan pelanggan Anda untuk membayar faktur. StrukturJenis parameter
arrayDefinisi
Daftar mata uang yang dikecualikan untuk pembayaran StrukturJenis parameter
stringmin: 4max: 20
Nilai yang tersedia- Binance- BinanceP2P- Exmo- KucoinDefinisi
Layanan yang digunakan untuk mengambil nilai tukar dan mengonversikannya ke faktur.Jenis parameter
stringDefinisi
Pedagang yang membuat permintaan terhubung ke rujukan melalui kode.Misalnya, Anda adalah aplikasi yang membuat faktur melalui API Cryptomus dan pelanggan Anda adalah toko lain.
Mereka memasukkan kunci API dan ID pedagang di aplikasi Anda, dan Anda mengirimkan permintaan dengan kredensial mereka dan meneruskan kode rujukan Anda.Dengan demikian, klien Anda menjadi rujukan pada akun Cryptomus Anda dan Anda akan menerima penghasilan dari omzet mereka.Jenis parameter
integermin: -99max: 100Definisi
Angka positif:
Memungkinkan Anda menetapkan diskon.
Untuk menetapkan diskon 5% untuk pembayaran, Anda harus memberikan nilai: 5Angka negatif:
Memungkinkan Anda menetapkan komisi tambahan khusus.Untuk menetapkan komisi tambahan sebesar 10% untuk pembayaran, Anda harus memberikan nilai: -10Persentase diskon saat membuat faktur hanya diperhitungkan jika faktur tersebut memiliki mata uang kripto tertentu.Jenis parameter
booleanDefinisi
Dengan menggunakan parameter ini, Anda dapat memperbarui masa berlaku dan mendapatkan alamat baru untuk faktur jika masa berlakunya telah berakhir.Untuk melakukan itu, Anda perlu meneruskan semua parameter yang diperlukan, dan faktur dengan order_id yang diteruskan akan disegarkan.Hanya alamat, status_pembayaran, dan kedaluwarsa_pada yang diubah. Tidak ada kolom lain yang diubah, terlepas dari parameter yang dimasukkan.
* - parameter wajib
Struktur dari Mata Uang
Nama | Definisi |
---|---|
currency* | Kode mata uang |
network | Kode jaringan Blockchain |
Definisi
Kode mata uangDefinisi
Kode jaringan Blockchain
* - parameter wajib
Struktur dari except_currencies
Nama | Definisi |
---|---|
currency* | Kode mata uang |
network | Kode jaringan Blockchain |
Definisi
Kode mata uangDefinisi
Kode jaringan Blockchain
* - parameter wajib
Contoh permintaan
Berikut adalah contoh dengan jumlah parameter minimum yang diperlukan. Dalam kasus ini, faktur akan dibuat dengan mata uang fiat USD. Di halaman pembayaran, pengguna dapat memilih mata uang kripto dan jaringan untuk membayar tagihan ini.
curl https://api.cryptomus.com/v1/payment \
-X POST \
-H 'merchant: 8b03432e-385b-4670-8d06-064591096795' \
-H 'sign: fe99035f86fa436181717b302b95bacff1' \
-H 'Content-Type: application/json' \
-d '{
"amount": "15",
"currency": "USD",
"order_id": "1"
}'
MenyalinTanggapan
Parameter respons
Nama | Definisi |
---|---|
uuid | Faktur uuid |
order_id | ID Pesanan di sistem Anda |
amount | Jumlah faktur |
payment_amount | Jumlah yang dibayarkan oleh klien |
payer_amount | Jumlah dalam payer_currency yang harus dibayar pelanggan, termasuk diskon atau komisi tambahan. |
discount_percent | Persentase diskon atau komisi tambahan yang diteruskan dalam parameter permintaan |
discount | Jumlah sebenarnya diskon atau komisi tambahan dalam mata uang kripto.Misalnya, jika jumlah faktur adalah 15 USDT dan discount_percent adalah -5, nilai diskonnya akan menjadi -0,75yaitu jumlah + diskon = jumlah_pembayar |
payer_currency | Mata uang yang harus digunakan pelanggan untuk melakukan pembayaran. |
currency | Kode mata uang faktur |
merchant_amount | Jumlah dalam kripto yang akan dikreditkan ke saldo Anda. Jika mata uang pembayar faktur tidak ditentukan, nilainya akan menjadi null. |
network | Kode jaringan Blockchain |
address | Alamat dompet untuk pembayaran |
from | Alamat dompet tempat pembayaran dilakukan |
txid | Hash transaksi |
payment_status | Status pembayaran Semua status pembayaran |
url | Halaman pembayaran URL |
expired_at | Stempel waktu kedaluwarsa faktur |
is_final | Apakah faktur sudah difinalisasi.Ketika faktur telah diselesaikan, tidak mungkin untuk membayar faktur tersebut (faktur tersebut sudah dibayar atau telah kedaluwarsa) |
additional_data | Informasi tambahan |
created_at | Tanggal pembuatan faktur. Zona waktu adalah UTC+3 |
updated_at | Tanggal pembaruan faktur terakhir. Zona waktu adalah UTC+3 |
Definisi
Faktur uuidDefinisi
ID Pesanan di sistem AndaDefinisi
Jumlah fakturDefinisi
Jumlah yang dibayarkan oleh klienDefinisi
Jumlah dalam payer_currency yang harus dibayar pelanggan, termasuk diskon atau komisi tambahan.Definisi
Persentase diskon atau komisi tambahan yang diteruskan dalam parameter permintaanDefinisi
Jumlah sebenarnya diskon atau komisi tambahan dalam mata uang kripto.Misalnya, jika jumlah faktur adalah 15 USDT dan discount_percent adalah -5, nilai diskonnya akan menjadi -0,75yaitu jumlah + diskon = jumlah_pembayarDefinisi
Mata uang yang harus digunakan pelanggan untuk melakukan pembayaran.Definisi
Kode mata uang fakturDefinisi
Jumlah dalam kripto yang akan dikreditkan ke saldo Anda. Jika mata uang pembayar faktur tidak ditentukan, nilainya akan menjadi null.Definisi
Kode jaringan BlockchainDefinisi
Alamat dompet untuk pembayaranDefinisi
Alamat dompet tempat pembayaran dilakukanDefinisi
Hash transaksiDefinisi
Status pembayaran Semua status pembayaranDefinisi
Halaman pembayaran URLDefinisi
Stempel waktu kedaluwarsa fakturDefinisi
Apakah faktur sudah difinalisasi.Ketika faktur telah diselesaikan, tidak mungkin untuk membayar faktur tersebut (faktur tersebut sudah dibayar atau telah kedaluwarsa)Definisi
Informasi tambahanDefinisi
Tanggal pembuatan faktur. Zona waktu adalah UTC+3Definisi
Tanggal pembaruan faktur terakhir. Zona waktu adalah UTC+3
Contoh respons
1{
2 "state": 0,
3 "result": {
4 "uuid": "26109ba0-b05b-4ee0-93d1-fd62c822ce95",
5 "order_id": "1",
6 "amount": "15.00",
7 "payment_amount": null,
8 "payer_amount": null,
9 "discount_percent": null,
10 "discount": "0.00000000",
11 "payer_currency": null,
12 "currency": "USD",
13 "merchant_amount": null,
14 "network": null,
15 "address": null,
16 "from": null,
17 "txid": null,
18 "payment_status": "check",
19 "url": "https://pay.cryptomus.com/pay/26109ba0-b05b-4ee0-93d1-fd62c822ce95",
20 "expired_at": 1689098133,
21 "status": "check",
22 "is_final": false,
23 "additional_data": null,
24 "created_at": "2023-07-11T20:23:52+03:00",
25 "updated_at": "2023-07-11T21:24:17+03:00"
26 }
27}
MenyalinContoh lainnya
Minta data untuk membuat faktur senilai 20 USDT di jaringan Tron. Faktur akan memiliki alamat pada saat pembuatan.
1{
2 "amount": "20",
3 "currency": "USDT",
4 "order_id": "1",
5 "network": "tron"
6}
MenyalinMinta data untuk membuat faktur sebesar 25 USD dan izinkan klien membayar hanya dengan USDT di jaringan mana pun.
1{
2 "amount": "25",
3 "currency": "USD",
4 "order_id": "1",
5 "to_currency": "USDT"
6}
MenyalinMinta data untuk membuat faktur senilai 25 USD dan izinkan klien membayar hanya dengan USDT di jaringan Tron. Faktur akan memiliki alamat pada saat pembuatan.
1{
2 "amount": "25",
3 "currency": "USD",
4 "order_id": "1",
5 "to_currency": "USDT",
6 "network": "tron"
7}
MenyalinMinta data untuk membuat faktur sebesar 20 USDT dan mengizinkan klien membayar di semua jaringan yang tersedia
1{
2 "amount": "20",
3 "currency": "USDT",
4 "order_id": "1"
5}
MenyalinMinta data untuk membuat faktur senilai 20 USD dan izinkan klien membayar hanya dalam Bitcoin. Faktur akan memiliki alamat pada saat pembuatan.
1{
2 "amount": "20",
3 "currency": "USD",
4 "order_id": "1",
5 "to_currency": "BTC"
6}
MenyalinMinta data untuk membuat faktur senilai 0,5 BTC dan izinkan klien membayar hanya dalam Bitcoin. Faktur akan memiliki alamat pada saat pembuatan.
1{
2 "amount": "0.5",
3 "currency": "BTC",
4 "order_id": "1"
5}
MenyalinKemungkinan kesalahan
Kesalahan validasi
kode : 422
contoh tanggapan:
Jika beberapa parameter diperlukan dan tidak lolos:
1{
2 "state": 1,
3 "errors": {
4 "amount": ["validation.required"]
5 }
6}
MenyalinJika Anda memberikan kode jaringan yang tidak didukung
1{
2 "state": 1,
3 "message": "The network was not found"
4}
MenyalinJika kami tidak mendukung kode mata uang yang Anda berikan di parameter currency:
1{
2 "state": 1,
3 "message": "The currency was not found"
4}
MenyalinJika pembayaran Anda terblokir, Anda perlu menghubungi dukungan.
1{
2 "state": 1,
3 "message": "You are forbidden"
4}
MenyalinJika kami tidak menemukan layanan pembayaran mata uang yang dimasukkan dalam parameter to_currency:
1{
2 "state": 1,
3 "message": "Not found service to_currency"
4}
MenyalinJika secara tidak sengaja terjadi sesuatu saat mengonversi ke to_currency:
1{
2 "state": 1,
3 "message": "Error convert to_currency"
4}
MenyalinJika jumlah pembayaran kurang dari jumlah minimum yang didukung untuk mata uang kripto, Anda akan menerima pesan kesalahan ini:
1{
2 "state": 1,
3 "message": "Minimum amount 0.5 USDT"
4}
MenyalinJika jumlah pembayaran lebih besar dari jumlah maksimum yang didukung untuk mata uang kripto, Anda akan menerima pesan kesalahan ini:
1{
2 "state": 1,
3 "message": "Maximum amount 10000000 USDT"
4}
MenyalinJika Anda tidak memiliki dompet pedagang aktif dengan mata uang kripto pembayaran, Anda akan menerima kesalahan ini:
1{
2 "state": 1,
3 "message": "Wallet not found"
4}
MenyalinJika terjadi pekerjaan teknis dan pembayaran tidak tersedia untuk sementara, Anda mungkin menerima pesan kesalahan ini:
1{
2 "state": 1,
3 "message": "Gateway error"
4}
Menyalin
1{
2 "state": 1,
3 "message": "The terminal was not found"
4}
Menyalin
1{
2 "state": 1,
3 "message": "Server error"
4}
MenyalinKesalahan server internal
kode : 500
contoh tanggapan:
1{
2 "message": "Server error, #1",
3 "code": 500,
4 "error": null
5}
Menyalin