Membuat faktur

post https://api.cryptomus.com/v1/payment Menyalin

Meminta

Parameter kueri

NamaJenis parameterNilai defaultDefinisi
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: 100alpha_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.
networkstringnullKode jaringan Blockchain
url_returnstringmin: 6max: 255urlnullSebelum membayar, pengguna dapat mengklik tombol pada formulir pembayaran dan kembali ke halaman toko di URL ini.
url_successstringmin: 6max: 255urlnullSetelah pembayaran berhasil, pengguna dapat mengklik tombol pada formulir pembayaran dan kembali ke URL ini.
url_callbackstringmin: 6max: 255urlnullURL tempat webhook dengan status pembayaran akan dikirim
is_payment_multiplebooleantrueApakah 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.
lifetimeintegermin: 300max: 432003600Umur faktur yang diterbitkan (dalam detik)
to_currencystring-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: BTC
API 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.
subtractintegermin: 0max: 1000Persentase 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_percentnumericmin: 0max: 50Ketidakakuratan 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_datastringmax: 255nullInformasi tambahan untuk Anda (tidak ditampilkan kepada klien)
currenciesarrayRangkaian 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_currenciesarraynullDaftar mata uang yang dikecualikan untuk pembayaran Struktur
from_referral_codestringnullPedagang 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_percentintegermin: -99max: 90nullAngka positif:
Memungkinkan Anda menetapkan diskon.
Untuk menetapkan diskon 5% untuk pembayaran, Anda harus memberikan nilai: 5
Angka 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_refreshbooleanfalseDengan 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

string

Definisi

Jumlah Perlu dibayar.Jika ada sen dalam jumlah tersebut, kirimkan dengan pemisah '.'
Contoh: 10.28

Jenis parameter

string

Definisi

Kode mata uang

Jenis parameter

stringmin: 1max: 100alpha_dash

Definisi

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

string

Nilai default

null

Definisi

Kode jaringan Blockchain

Jenis parameter

stringmin: 6max: 255url

Nilai default

null

Definisi

Sebelum membayar, pengguna dapat mengklik tombol pada formulir pembayaran dan kembali ke halaman toko di URL ini.

Jenis parameter

stringmin: 6max: 255url

Nilai default

null

Definisi

Setelah pembayaran berhasil, pengguna dapat mengklik tombol pada formulir pembayaran dan kembali ke URL ini.

Jenis parameter

stringmin: 6max: 255url

Nilai default

null

Definisi

URL tempat webhook dengan status pembayaran akan dikirim

Jenis parameter

boolean

Nilai default

true

Definisi

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: 43200

Nilai default

3600

Definisi

Umur faktur yang diterbitkan (dalam detik)

Jenis parameter

string

Definisi

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: BTC
API 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: 100

Nilai default

0

Definisi

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: 5

Nilai default

0

Definisi

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

Jenis parameter

stringmax: 255

Nilai default

null

Definisi

Informasi tambahan untuk Anda (tidak ditampilkan kepada klien)

Jenis parameter

array

Nilai default

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.

Definisi

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

Jenis parameter

array

Nilai default

null

Definisi

Daftar mata uang yang dikecualikan untuk pembayaran Struktur

Jenis parameter

string

Nilai default

null

Definisi

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: 90

Nilai default

null

Definisi

Angka positif:
Memungkinkan Anda menetapkan diskon.
Untuk menetapkan diskon 5% untuk pembayaran, Anda harus memberikan nilai: 5
Angka 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

boolean

Nilai default

false

Definisi

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

NamaDefinisi
currency*Kode mata uang
networkKode jaringan Blockchain

Definisi

Kode mata uang

Definisi

Kode jaringan Blockchain

* - parameter wajib

Struktur dari except_currencies

NamaDefinisi
currency*Kode mata uang
networkKode jaringan Blockchain

Definisi

Kode mata uang

Definisi

Kode jaringan Blockchain

* - parameter wajib

Faktur akan memiliki mata uang kripto dan alamat tertentu pada saat pembuatan hanya jika mata uang atau parameter to_currency adalah mata uang kripto dan parameter jaringan dilewatkan (atau mata uang kripto hanya memiliki satu jaringan, misalnya BTC).

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"
}'
Menyalin

Tanggapan

Parameter respons

NamaJenis parameterDefinisi
uuidstringFaktur uuid
order_idstring|nullID Pesanan di sistem Anda
amountstringJumlah faktur
payment_amountstring|nullJumlah yang dibayarkan oleh klien
payment_amount_usdstring|nullJumlah sebenarnya yang dibayarkan oleh klien dalam USD
payer_amountstring|nullJumlah dalam payer_currency yang harus dibayar pelanggan, termasuk diskon atau komisi tambahan.
payer_amount_exchange_ratestring|nullNilai tukar yang diterapkan saat pembayaran dilakukan
discount_percentinteger|nullPersentase diskon atau komisi tambahan yang diteruskan dalam parameter permintaan
discountstringJumlah 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_currencystring|nullMata uang yang harus digunakan pelanggan untuk melakukan pembayaran.
currencystringKode mata uang faktur
commentsstring|nullKomentar
merchant_amountstring|nullJumlah dalam kripto yang akan dikreditkan ke saldo Anda. Jika mata uang pembayar faktur tidak ditentukan, nilainya akan menjadi null.
networkstring|nullKode jaringan Blockchain
addressstring|nullAlamat dompet untuk pembayaran
fromstring|nullAlamat dompet tempat pembayaran dilakukan
txidstring|nullHash transaksi
payment_statusstringStatus pembayaran Semua status pembayaran
urlstringHalaman pembayaran URL
expired_atinteger|nullStempel waktu kedaluwarsa faktur
statusstringStatus pembayaran Semua status pembayaran
is_finalbooleanApakah faktur sudah difinalisasi.Ketika faktur telah diselesaikan, tidak mungkin untuk membayar faktur tersebut (faktur tersebut sudah dibayar atau telah kedaluwarsa)
additional_datastring|nullInformasi tambahan
created_atstring|nullTanggal pembuatan faktur. Zona waktu adalah UTC+3
updated_atstring|nullTanggal pembaruan faktur terakhir. Zona waktu adalah UTC+3
commissionstring|nullJumlah komisi Cryptomus
address_qr_codestring|nullKode QR alamat
convertInformasi tentang mata uang yang akan dikonversi secara otomatis ke pembayaran. Konversi dilakukan dari payer_currency ke USDTAkan muncul jika convert_currency_code dilewatkan.
convert.to_currencystringKode mata uang yang akan dikonversikan ke pembayaran
convert.commissionstringBiaya konversi
convert.ratestring|nullTingkat konversi
convert.amountstring|nullJumlah konversi dalam ke_mata uang yang ditambahkan ke saldo pedagang, dengan semua komisi dikurangi.
convert_fromInformasi mengenai mata uang yang digunakan untuk melakukan pembayaran yang salah.Tunjukkan jika pembayaran salah
convert_from.from_currencystringDari mata uang
convert_from.from_amountstring|nullJumlah dari
convert_from.from_networkstring|nullKode jaringan Blockchain

Jenis parameter

string

Definisi

Faktur uuid

Jenis parameter

string|null

Definisi

ID Pesanan di sistem Anda

Jenis parameter

string

Definisi

Jumlah faktur

Jenis parameter

string|null

Definisi

Jumlah yang dibayarkan oleh klien

Jenis parameter

string|null

Definisi

Jumlah sebenarnya yang dibayarkan oleh klien dalam USD

Jenis parameter

string|null

Definisi

Jumlah dalam payer_currency yang harus dibayar pelanggan, termasuk diskon atau komisi tambahan.

Jenis parameter

string|null

Definisi

Nilai tukar yang diterapkan saat pembayaran dilakukan

Jenis parameter

integer|null

Definisi

Persentase diskon atau komisi tambahan yang diteruskan dalam parameter permintaan

Jenis parameter

string

Definisi

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

Jenis parameter

string|null

Definisi

Mata uang yang harus digunakan pelanggan untuk melakukan pembayaran.

Jenis parameter

string

Definisi

Kode mata uang faktur

Jenis parameter

string|null

Definisi

Komentar

Jenis parameter

string|null

Definisi

Jumlah dalam kripto yang akan dikreditkan ke saldo Anda. Jika mata uang pembayar faktur tidak ditentukan, nilainya akan menjadi null.

Jenis parameter

string|null

Definisi

Kode jaringan Blockchain

Jenis parameter

string|null

Definisi

Alamat dompet untuk pembayaran

Jenis parameter

string|null

Definisi

Alamat dompet tempat pembayaran dilakukan

Jenis parameter

string|null

Definisi

Hash transaksi

Jenis parameter

string

Definisi

Status pembayaran Semua status pembayaran

Jenis parameter

string

Definisi

Halaman pembayaran URL

Jenis parameter

integer|null

Definisi

Stempel waktu kedaluwarsa faktur

Jenis parameter

string

Definisi

Status pembayaran Semua status pembayaran

Jenis parameter

boolean

Definisi

Apakah faktur sudah difinalisasi.Ketika faktur telah diselesaikan, tidak mungkin untuk membayar faktur tersebut (faktur tersebut sudah dibayar atau telah kedaluwarsa)

Jenis parameter

string|null

Definisi

Informasi tambahan

Jenis parameter

string|null

Definisi

Tanggal pembuatan faktur. Zona waktu adalah UTC+3

Jenis parameter

string|null

Definisi

Tanggal pembaruan faktur terakhir. Zona waktu adalah UTC+3

Jenis parameter

string|null

Definisi

Jumlah komisi Cryptomus

Jenis parameter

string|null

Definisi

Kode QR alamat

Definisi

Informasi tentang mata uang yang akan dikonversi secara otomatis ke pembayaran. Konversi dilakukan dari payer_currency ke USDTAkan muncul jika convert_currency_code dilewatkan.

Jenis parameter

string

Definisi

Kode mata uang yang akan dikonversikan ke pembayaran

Jenis parameter

string

Definisi

Biaya konversi

Jenis parameter

string|null

Definisi

Tingkat konversi

Jenis parameter

string|null

Definisi

Jumlah konversi dalam ke_mata uang yang ditambahkan ke saldo pedagang, dengan semua komisi dikurangi.

Definisi

Informasi mengenai mata uang yang digunakan untuk melakukan pembayaran yang salah.Tunjukkan jika pembayaran salah

Jenis parameter

string

Definisi

Dari mata uang

Jenis parameter

string|null

Definisi

Jumlah dari

Jenis parameter

string|null

Definisi

Kode jaringan Blockchain

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		"payment_amount_usd": null,
9		"payer_amount": null,
10		"payer_amount_exchange_rate": null,
11		"discount_percent": null,
12		"discount": "0.00000000",
13		"payer_currency": null,
14		"currency": "USD",
15		"comments": null,
16		"merchant_amount": null,
17		"network": null,
18		"address": null,
19		"from": null,
20		"txid": null,
21		"payment_status": "check",
22		"url": "https://pay.cryptomus.com/pay/26109ba0-b05b-4ee0-93d1-fd62c822ce95",
23		"expired_at": 1689098133,
24		"status": "check",
25		"is_final": false,
26		"additional_data": null,
27		"created_at": "2023-07-11T20:23:52+03:00",
28		"updated_at": "2023-07-11T21:24:17+03:00",
29		"commission": null,
30		"address_qr_code": null
31	}
32}
Menyalin

Contoh 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}
Menyalin

Minta 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}
Menyalin

Minta 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}
Menyalin

Minta 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}
Menyalin

Minta 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}
Menyalin

Minta 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}
Menyalin

Kemungkinan 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}
Menyalin

Jika Anda memberikan kode jaringan yang tidak didukung


1{
2    "state": 1,
3    "message": "The network was not found"
4}
Menyalin

Jika kami tidak mendukung kode mata uang yang Anda berikan di parameter currency:


1{
2    "state": 1,
3    "message": "The currency was not found"
4}
Menyalin

Jika pembayaran Anda terblokir, Anda perlu menghubungi dukungan.


1{
2    "state": 1,
3    "message": "You are forbidden"
4}
Menyalin

Jika 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}
Menyalin

Jika secara tidak sengaja terjadi sesuatu saat mengonversi ke to_currency:


1{
2    "state": 1,
3    "message": "Error convert to_currency"
4}
Menyalin

Jika 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}
Menyalin

Jika 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}
Menyalin

Jika 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}
Menyalin

Jika 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}
Menyalin

Kesalahan server internal

kode : 500

contoh tanggapan:


1{
2	"message": "Server error, #1",
3	"code": 500,
4	"error": null
5}
Menyalin