Membuat faktur

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

Meminta

Parameter kueri

NamaJenis parameterNilai defaultDefinisi
amount*stringJumlah Perlu dibayar.Jika ada sen dalam jumlah tersebut, kirimkan dengan pemisah '.'
Contoh: 10.28
currency*stringKode mata uang
order_id*stringmin: 1max: 128alpha_dashID 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_currencystringParameter 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
course_sourcestringmin: 4max: 20Nilai yang tersediaBinanceBinanceP2PExmoKucoinJika tidak lolos, nilai tukar Cryptomus digunakan.Layanan yang digunakan untuk mengambil nilai tukar dan mengonversikannya ke faktur.
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: 100nullAngka 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: 128alpha_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

Definisi

Kode jaringan Blockchain

Jenis parameter

stringmin: 6max: 255url

Definisi

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

Jenis parameter

stringmin: 6max: 255url

Definisi

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

Jenis parameter

stringmin: 6max: 255url

Definisi

URL tempat webhook dengan status pembayaran akan dikirim

Jenis parameter

boolean

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

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

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

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

Definisi

Informasi tambahan untuk Anda (tidak ditampilkan kepada klien)

Jenis parameter

array

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

Definisi

Daftar mata uang yang dikecualikan untuk pembayaran Struktur

Jenis parameter

stringmin: 4max: 20
Nilai yang tersedia
- Binance- BinanceP2P- Exmo- Kucoin

Definisi

Layanan yang digunakan untuk mengambil nilai tukar dan mengonversikannya ke faktur.

Jenis parameter

string

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

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

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

NamaDefinisi
uuidFaktur uuid
order_idID Pesanan di sistem Anda
amountJumlah faktur
payment_amountJumlah yang dibayarkan oleh klien
payer_amountJumlah dalam payer_currency yang harus dibayar pelanggan, termasuk diskon atau komisi tambahan.
discount_percentPersentase diskon atau komisi tambahan yang diteruskan dalam parameter permintaan
discountJumlah 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_currencyMata uang yang harus digunakan pelanggan untuk melakukan pembayaran.
currencyKode mata uang faktur
merchant_amountJumlah dalam kripto yang akan dikreditkan ke saldo Anda. Jika mata uang pembayar faktur tidak ditentukan, nilainya akan menjadi null.
networkKode jaringan Blockchain
addressAlamat dompet untuk pembayaran
fromAlamat dompet tempat pembayaran dilakukan
txidHash transaksi
payment_statusStatus pembayaran Semua status pembayaran
urlHalaman pembayaran URL
expired_atStempel waktu kedaluwarsa faktur
is_finalApakah faktur sudah difinalisasi.Ketika faktur telah diselesaikan, tidak mungkin untuk membayar faktur tersebut (faktur tersebut sudah dibayar atau telah kedaluwarsa)
additional_dataInformasi tambahan
created_atTanggal pembuatan faktur. Zona waktu adalah UTC+3
updated_atTanggal pembaruan faktur terakhir. Zona waktu adalah UTC+3

Definisi

Faktur uuid

Definisi

ID Pesanan di sistem Anda

Definisi

Jumlah faktur

Definisi

Jumlah yang dibayarkan oleh klien

Definisi

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

Definisi

Persentase diskon atau komisi tambahan yang diteruskan dalam parameter permintaan

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

Definisi

Mata uang yang harus digunakan pelanggan untuk melakukan pembayaran.

Definisi

Kode mata uang faktur

Definisi

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

Definisi

Kode jaringan Blockchain

Definisi

Alamat dompet untuk pembayaran

Definisi

Alamat dompet tempat pembayaran dilakukan

Definisi

Hash transaksi

Definisi

Status pembayaran Semua status pembayaran

Definisi

Halaman pembayaran URL

Definisi

Stempel waktu kedaluwarsa faktur

Definisi

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

Definisi

Informasi tambahan

Definisi

Tanggal pembuatan faktur. Zona waktu adalah UTC+3

Definisi

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