Fatura Oluşturma

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

Rica etmek

Sorgu parametreleri

İsimParametre türüVarsayılan değerTanım
amount*stringÖdenecek tutar.Miktarda pennies varsa, o zaman bir ayırıcı ile gönderin '.
Örnek: 10.28
currency*stringPara birimi kodu
order_id*stringmin: 1max: 128alpha_dashSisteminizde Sipariş KimliğiParametre, alfabetik karakterler, sayılar, alt çizgiler ve çizgilerden oluşan bir dize olmalıdır. Herhangi bir alan veya özel karakter içermemelidir. order_id, satıcı faturalar/statik cüzdanlar/nüks ödemeleri içinde benzersiz olmalıdır order_id ile mevcut bir fatura bulduğumuzda, ayrıntılarını döndürürüz, yeni bir fatura oluşturulmayacaktır.
networkstringnullBlockchain Ağ Kodu
url_returnstringmin: 6max: 255urlnullÖdemeden önce, kullanıcı ödeme formundaki düğmeye tıklayabilir ve bu URL'deki mağaza sayfasına geri dönebilir.
url_successstringmin: 6max: 255urlnullBaşarılı ödemeden sonra kullanıcı ödeme formundaki düğmeye tıklayabilir ve bu URL'ye geri dönebilir.
url_callbackstringmin: 6max: 255urlnullÖdeme durumuna sahip WebHooks'un hangi URL'si gönderilecek
is_payment_multiplebooleantrueKullanıcının kalan tutarı ödemesine izin verilip verilmeyeceği. Bu, kullanıcı bir işlem için faturanın tüm tutarını ödemediğinde ve tam tutarda ödeme yapmasına izin vermek istediğinizde kullanışlıdır. Bu özelliği devre dışı bırakırsanız, fatura ilk ödemeyi aldıktan sonra sonuçlandırır ve bakiyenize fon alırsınız.
lifetimeintegermin: 300max: 432003600Yayınlanan faturanın ömrü (saniyeler içinde)
to_currencystringParametre, fatura tutarını dönüştürmek için hedef para birimini belirtmek için kullanılır. Bir fatura oluştururken, bir miktar ve para birimi sağlarsınız ve API bu miktarı to_currency'deki eşdeğer değere dönüştürür.Örneğin, Bitcoin'de 20 USD için bir fatura oluşturmak için:
amount: 20
currency: usd
to_currency : btc
API, mevcut döviz kuruna göre 20 USD tutarı BTC'de eşdeğerine dönüştürecek ve kullanıcı BTC'de ödeyecek to_currency her zaman bir fiat para kodu değil, kripto para kodu olmalıdır.
subtractintegermin: 0max: 1000Müşteriye tahsil edilen ödeme komisyonunun yüzdesi% 1 oranınız varsa, 100 USDT için bir fatura oluşturursanız = 100 (müşteri% 100 komisyon öder), müşteri 101 USDT ödemek zorunda kalacaktır.
accuracy_payment_percentnumericmin: 0max: 50Ödemede kabul edilebilir yanlışlık.Örneğin, 5 değerini geçerseniz, müşteri tutarın sadece% 95'ini ödese bile fatura ödenir.Gerçek ödeme tutarı bakiyeye yatırılacaktır
additional_datastringmax: 255nullSizin için ek bilgi (müşteriye gösterilmemiştir)
currenciesarraySatıcınızın ayarlarından mevcut para birimleri dizisi kullanılır (parametre ayarlanmamışsa, desteklenen tüm kripto para birimleri varsayılan olarak kullanılır).Mevcut para birimleri satıcı ayarları bölümünde ayarlanmıştır.Ödeme için izin verilen para birimlerinin listesi. Müşterilerinizin fatura ödemek için kullanabileceği para listesini sınırlamak istiyorsanız bu yararlıdır. Yapı
except_currenciesarraynullÖdeme için hariç tutulan para birimlerinin listesi Yapı
course_sourcestringmin: 4max: 20Mevcut DeğerlerBinanceBinanceP2PExmoKucoinGeçmezse, Cryptomus döviz kurları kullanılır.Faturada dönüşüm için döviz kurlarının alındığı hizmet.
from_referral_codestringnullİsteği yapan satıcı, bir yönlendiriciye kodla bağlanır.Örneğin, Cryptomus API'si aracılığıyla fatura üreten bir uygulamasınız ve müşterileriniz diğer mağazalardır.
Uygulamanızda API anahtarlarını ve satıcı kimliklerini girerler ve kimlik bilgileriyle istek gönderir ve yönlendirme kodunuzu geçer.
Böylece, müşterileriniz Cryptomus hesabınızda sevk haline gelir ve cirolarından gelir elde edersiniz.
discount_percentintegermin: -99max: 100nullPozitif Sayılar:
indirim ayarlamanızı sağlar.
Ödeme için% 5 indirim ayarlamak için bir değer geçmelisiniz: 5
Negatif sayılar:
Özel ek komisyon ayarlamanıza izin verir.
Ödeme için% 10'luk ek bir komisyon ayarlamak için bir değer geçmelisiniz: -10Bir fatura oluştururken indirim yüzdesi, yalnızca faturada belirli bir kripto para birimi varsa dikkate alınır.
is_refreshbooleanfalseBu parametreyi kullanarak, ömür boyu süresi dolmuşsa ömür boyu güncelleyebilir ve fatura için yeni bir adres alabilirsiniz.Bunu yapmak için, gerekli tüm parametreleri geçmeniz gerekir ve geçti order_id ile fatura yenilenir.Yalnızca address , payment_status ve expired_at değiştirildi. Geçen parametrelere bakılmaksızın başka hiçbir alan değiştirilmez.

Parametre türü

string

Tanım

Ödenecek tutar.Miktarda pennies varsa, o zaman bir ayırıcı ile gönderin '.
Örnek: 10.28

Parametre türü

string

Tanım

Para birimi kodu

Parametre türü

stringmin: 1max: 128alpha_dash

Tanım

Sisteminizde Sipariş KimliğiParametre, alfabetik karakterler, sayılar, alt çizgiler ve çizgilerden oluşan bir dize olmalıdır. Herhangi bir alan veya özel karakter içermemelidir. order_id, satıcı faturalar/statik cüzdanlar/nüks ödemeleri içinde benzersiz olmalıdır order_id ile mevcut bir fatura bulduğumuzda, ayrıntılarını döndürürüz, yeni bir fatura oluşturulmayacaktır.

Parametre türü

string

Tanım

Blockchain Ağ Kodu

Parametre türü

stringmin: 6max: 255url

Tanım

Ödemeden önce, kullanıcı ödeme formundaki düğmeye tıklayabilir ve bu URL'deki mağaza sayfasına geri dönebilir.

Parametre türü

stringmin: 6max: 255url

Tanım

Başarılı ödemeden sonra kullanıcı ödeme formundaki düğmeye tıklayabilir ve bu URL'ye geri dönebilir.

Parametre türü

stringmin: 6max: 255url

Tanım

Ödeme durumuna sahip WebHooks'un hangi URL'si gönderilecek

Parametre türü

boolean

Tanım

Kullanıcının kalan tutarı ödemesine izin verilip verilmeyeceği. Bu, kullanıcı bir işlem için faturanın tüm tutarını ödemediğinde ve tam tutarda ödeme yapmasına izin vermek istediğinizde kullanışlıdır. Bu özelliği devre dışı bırakırsanız, fatura ilk ödemeyi aldıktan sonra sonuçlandırır ve bakiyenize fon alırsınız.

Parametre türü

integermin: 300max: 43200

Tanım

Yayınlanan faturanın ömrü (saniyeler içinde)

Parametre türü

string

Tanım

Parametre, fatura tutarını dönüştürmek için hedef para birimini belirtmek için kullanılır. Bir fatura oluştururken, bir miktar ve para birimi sağlarsınız ve API bu miktarı to_currency'deki eşdeğer değere dönüştürür.Örneğin, Bitcoin'de 20 USD için bir fatura oluşturmak için:
amount: 20
currency: usd
to_currency : btc
API, mevcut döviz kuruna göre 20 USD tutarı BTC'de eşdeğerine dönüştürecek ve kullanıcı BTC'de ödeyecek to_currency her zaman bir fiat para kodu değil, kripto para kodu olmalıdır.

Parametre türü

integermin: 0max: 100

Tanım

Müşteriye tahsil edilen ödeme komisyonunun yüzdesi% 1 oranınız varsa, 100 USDT için bir fatura oluşturursanız = 100 (müşteri% 100 komisyon öder), müşteri 101 USDT ödemek zorunda kalacaktır.

Parametre türü

numericmin: 0max: 5

Tanım

Ödemede kabul edilebilir yanlışlık.Örneğin, 5 değerini geçerseniz, müşteri tutarın sadece% 95'ini ödese bile fatura ödenir.Gerçek ödeme tutarı bakiyeye yatırılacaktır

Parametre türü

stringmax: 255

Tanım

Sizin için ek bilgi (müşteriye gösterilmemiştir)

Parametre türü

array

Tanım

Ödeme için izin verilen para birimlerinin listesi. Müşterilerinizin fatura ödemek için kullanabileceği para listesini sınırlamak istiyorsanız bu yararlıdır. Yapı

Parametre türü

array

Tanım

Ödeme için hariç tutulan para birimlerinin listesi Yapı

Parametre türü

stringmin: 4max: 20
Mevcut Değerler
- Binance- BinanceP2P- Exmo- Kucoin

Tanım

Faturada dönüşüm için döviz kurlarının alındığı hizmet.

Parametre türü

string

Tanım

İsteği yapan satıcı, bir yönlendiriciye kodla bağlanır.Örneğin, Cryptomus API'si aracılığıyla fatura üreten bir uygulamasınız ve müşterileriniz diğer mağazalardır.
Uygulamanızda API anahtarlarını ve satıcı kimliklerini girerler ve kimlik bilgileriyle istek gönderir ve yönlendirme kodunuzu geçer.
Böylece, müşterileriniz Cryptomus hesabınızda sevk haline gelir ve cirolarından gelir elde edersiniz.

Parametre türü

integermin: -99max: 100

Tanım

Pozitif Sayılar:
indirim ayarlamanızı sağlar.
Ödeme için% 5 indirim ayarlamak için bir değer geçmelisiniz: 5
Negatif sayılar:
Özel ek komisyon ayarlamanıza izin verir.
Ödeme için% 10'luk ek bir komisyon ayarlamak için bir değer geçmelisiniz: -10Bir fatura oluştururken indirim yüzdesi, yalnızca faturada belirli bir kripto para birimi varsa dikkate alınır.

Parametre türü

boolean

Tanım

Bu parametreyi kullanarak, ömür boyu süresi dolmuşsa ömür boyu güncelleyebilir ve fatura için yeni bir adres alabilirsiniz.Bunu yapmak için, gerekli tüm parametreleri geçmeniz gerekir ve geçti order_id ile fatura yenilenir.Yalnızca address , payment_status ve expired_at değiştirildi. Geçen parametrelere bakılmaksızın başka hiçbir alan değiştirilmez.

* - zorunlu parametre

Yapısı Para birimleri

İsimTanım
currency*Para birimi kodu
networkBlockchain Ağ Kodu

Tanım

Para birimi kodu

Tanım

Blockchain Ağ Kodu

* - zorunlu parametre

Yapısı except_currencies

İsimTanım
currency*Para birimi kodu
networkBlockchain Ağ Kodu

Tanım

Para birimi kodu

Tanım

Blockchain Ağ Kodu

* - zorunlu parametre

Fatura, yalnızca para birimi veya to_currency parametresi bir kripto para birimi ise ve ağ parametresi geçiyorsa (veya bir kripto para birimi, örneğin BTC gibi yalnızca bir ağa sahipse) oluşturulma sırasında belirli bir kripto para birimi ve adresi olacaktır.

Talep Örneği

Aşağıda, gerekli minimum sayıda parametreye sahip örnek bir örnek verilmiştir. Bu durumda, fiat para birimi USD ile bir fatura oluşturulacaktır. Ödeme sayfasında, kullanıcı bu faturayı ödemek için kripto para birimini ve ağı seçebilecektir.


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

Cevap

Yanıt parametreleri

İsimTanım
uuidFatura uuid
order_idSisteminizde Sipariş Kimliği
amountFaturanın miktarı
payment_amountMüşteri tarafından ödenen miktar
payer_amountMüşterinin bir indirim veya ek komisyon da dahil olmak üzere ödemesi gereken payer_currency .
discount_percentİstek parametrelerinde geçirilen indirim veya ek komisyon yüzdesi
discountKripto para biriminde gerçek indirim veya ek komisyon miktarı.Örneğin, fatura tutarı 15 USDT ve indirim_perent ise -5 ise, indirim değeri -0.75 olacaktıryani amount + discount = payer_amount
payer_currencyMüşterinin ödemeyi yapması gereken para birimi.
currencyFatura para kodu
merchant_amountBakiyenize yatırılacak kripto tutarı. Payer_currency fatura belirtilmezse, değer boş olacaktır.
networkBlockchain Ağ Kodu
addressÖdeme için cüzdan adresi
fromÖdemenin yapıldığı cüzdanın adresi
txidİşlem karma
payment_statusÖdeme durumu Tüm Ödeme Durumları
urlURL Ödeme Sayfası
expired_atFaturanın son kullanma zaman damgası
is_finalFaturanın sonuçlanıp sonuçlanmadığı.Fatura sonuçlandırıldığında bir fatura ödemek imkansızdır (ödenir veya süresi dolmuş)
additional_dataEk Bilgiler
created_atFaturanın Oluşturulması Tarihi. Timezone UTC+3'tür
updated_atSon fatura güncellenen tarih. Timezone UTC+3'tür

Tanım

Fatura uuid

Tanım

Sisteminizde Sipariş Kimliği

Tanım

Faturanın miktarı

Tanım

Müşteri tarafından ödenen miktar

Tanım

Müşterinin bir indirim veya ek komisyon da dahil olmak üzere ödemesi gereken payer_currency .

Tanım

İstek parametrelerinde geçirilen indirim veya ek komisyon yüzdesi

Tanım

Kripto para biriminde gerçek indirim veya ek komisyon miktarı.Örneğin, fatura tutarı 15 USDT ve indirim_perent ise -5 ise, indirim değeri -0.75 olacaktıryani amount + discount = payer_amount

Tanım

Müşterinin ödemeyi yapması gereken para birimi.

Tanım

Fatura para kodu

Tanım

Bakiyenize yatırılacak kripto tutarı. Payer_currency fatura belirtilmezse, değer boş olacaktır.

Tanım

Blockchain Ağ Kodu

Tanım

Ödeme için cüzdan adresi

Tanım

Ödemenin yapıldığı cüzdanın adresi

Tanım

İşlem karma

Tanım

Ödeme durumu Tüm Ödeme Durumları

Tanım

URL Ödeme Sayfası

Tanım

Faturanın son kullanma zaman damgası

Tanım

Faturanın sonuçlanıp sonuçlanmadığı.Fatura sonuçlandırıldığında bir fatura ödemek imkansızdır (ödenir veya süresi dolmuş)

Tanım

Ek Bilgiler

Tanım

Faturanın Oluşturulması Tarihi. Timezone UTC+3'tür

Tanım

Son fatura güncellenen tarih. Timezone UTC+3'tür

Yanıt örneği


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

Daha fazla örnek

Tron ağında 20 USDT için bir fatura oluşturmak için veri isteyin. Faturanın yaratıldığı sırada bir adresi olacaktır.


1{
2	"amount": "20",
3	"currency": "USDT",
4	"order_id": "1",
5	"network": "tron"
6}
Kopya

25 USD için bir fatura oluşturmak için veri isteyin ve istemcilerin herhangi bir ağda yalnızca USDT'ye göre ödeme yapmasına izin verin.


1{
2	"amount": "25",
3	"currency": "USD",
4	"order_id": "1",
5	"to_currency": "USDT"
6}
Kopya

25 USD için bir fatura oluşturmak ve müşterilerin yalnızca Tron Network'te USDT tarafından ödeme yapmasına izin vermek için veri isteyin. Faturanın yaratıldığı sırada bir adresi olacaktır.


1{
2	"amount": "25",
3	"currency": "USD",
4	"order_id": "1",
5	"to_currency": "USDT",
6	"network": "tron"
7}
Kopya

20 USDT için bir fatura oluşturmak ve müşterilerin mevcut tüm ağlarda ödeme yapmasına izin vermek için veri isteyin


1{
2	"amount": "20",
3	"currency": "USDT",
4	"order_id": "1"
5}
Kopya

20 USD için bir fatura oluşturmak ve müşterilerin yalnızca Bitcoin'de ödeme yapmasına izin vermesini isteyin. Faturanın yaratıldığı sırada bir adresi olacaktır.


1{
2	"amount": "20",
3	"currency": "USD",
4	"order_id": "1",
5	"to_currency": "BTC"
6}
Kopya

0.5 BTC için bir fatura oluşturmak ve istemcilerin yalnızca Bitcoin'de ödeme yapmasına izin vermesini isteyin. Faturanın yaratıldığı sırada bir adresi olacaktır.


1{
2	"amount": "0.5",
3	"currency": "BTC",
4	"order_id": "1"
5}
Kopya

Olası hatalar

Doğrulama hataları

kodlamak : 422

Örnek Yanıtlar:

Bazı parametre gerekiyorsa ve geçmiyorsa:


1{
2	"state": 1,
3	"errors": {
4		"amount": ["validation.required"]
5	}
6}
Kopya

Desteklenmeyen ağ kodunu sağladıysanız


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

Para birimi parametresinde sağladığınız para birimi kodunu desteklemezsek:


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

Ödemeleriniz engellenirse. Bu durumda destekle iletişime geçmeniz gerekir.


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

to_currency parametresinde aktarılan para biriminin ödeme hizmetini bulamazsak:


1{
2    "state": 1,
3    "message": "Not found service to_currency"
4}
Kopya

Eğer to_currency 'a dönüşürken yanlışlıkla bir şey olur:


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

Ödeme tutarı, kripto para birimi için desteklenen minimum miktardan azsa, bu hata mesajını alacaksınız:


1{
2    "state": 1,
3    "message": "Minimum amount 0.5 USDT"
4}
Kopya

Ödeme tutarı, kripto para birimi için desteklenen maksimum tutardan fazlaysa, bu hata mesajını alacaksınız:


1{
2    "state": 1,
3    "message": "Maximum amount 10000000 USDT"
4}
Kopya

Ödemenin kripto para birimi ile aktif bir satıcı cüzdanınız olmayacaksa, bu hatayı alacaksınız:


1{
2    "state": 1,
3    "message": "Wallet not found"
4}
Kopya

Teknik çalışma gerçekleşir ve ödeme geçici olarak kullanılamazsa, bu hata mesajlarını alabilirsiniz:


1{
2    "state": 1,
3    "message": "Gateway error"
4}
Kopya


1{
2    "state": 1,
3    "message": "The terminal was not found"
4}
Kopya


1{
2    "state": 1,
3    "message": "Server error"
4}
Kopya

İç Sunucu Hatası

kodlamak : 500

Örnek Yanıtlar:


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