API entegrasyonu
Merchant API üzerinden harici kripto cüzdanlardan kripto para ödemeleri kabul edin.
API entegrasyonunda uygulamanız kripto faturaları oluşturur, müşterilere ödeme talimatlarını gösterir ve ödeme durumunu API üzerinden izler.
API'yi iki şekilde kullanabilirsiniz:
- Yalnızca API — uygulamanız tüm ödeme deneyimini oluşturur ve müşteriye kripto adresini, tutarı, ağı ve son geçerlilik süresini gösterir.
- API + Hosted Checkout — arka ucunuz sipariş takibi ve mutabakat için API'yi kullanır, müşteriye yönelik ödeme sayfasını ise Hosted Checkout sağlar.
API entegrasyonu ne zaman kullanılır
Ödeme akışını kendi web sitenizde, uygulamanızda, botunuzda veya yapay zekâ ajanınızda kontrol etmek istediğinizde API entegrasyonunu kullanın.
API entegrasyonu şu durumlarda faydalıdır:
- Kendi ödeme arayüzünüzü oluşturmak istiyorsanız.
- Kripto faturalarını programatik olarak oluşturmanız gerekiyorsa.
- Ödeme talimatlarını kendi ürününüzde göstermek istiyorsanız.
- Ödeme durumunu arka ucunuzdan izlemeniz gerekiyorsa.
- Hosted Checkout'u arka uçtaki sipariş mutabakatıyla birleştirmek istiyorsanız.
Hazır bir ödeme sayfasıyla en hızlı entegrasyonu istiyorsanız bunun yerine Hosted Checkout entegrasyonunu kullanın.
Entegrasyon modelleri
| Model | Müşteri deneyimi | Arka ucun sorumluluğu | Durumun işlenmesi |
|---|---|---|---|
| Yalnızca API | Uygulamanız oluşturur | Fatura oluşturma, ödeme bilgilerini gösterme, durumu izleme | Ödeme durumunu API üzerinden düzenli sorgulama |
| API + Hosted Checkout | Volet.com barındırır | Sipariş oluşturma veya izleme, ödeme durumunun mutabakatı | Hosted Checkout Status URL'sini ve API ile sipariş sorgulamayı kullanma |
Başlamadan önce
API üzerinden kripto ödeme kabul etmek için şunlara ihtiyacınız vardır:
- Doğrulanmış bir Volet.com hesabı.
- Ödeme araçları bölümünde yapılandırılmış bir API.
- Kripto ödeme kabulü için API izinleri.
- API'yi Hosted Checkout ile birlikte kullanıyorsanız bir Hosted Checkout yapılandırması.
API'nizi oluşturmak ve yapılandırmak için Ödeme ağ geçidi oluşturma sayfasına bakın.
Kimlik doğrulama
Merchant API istekleri kimlik doğrulama başlıkları gerektirir.
Her API isteğine şu başlıkları ekleyin:
| Başlık | Açıklama |
|---|---|
Api-Name | Volet.com hesabınızda yapılandırılan API adı. |
Account-Email | API'nin ait olduğu Volet.com hesabının e-posta adresi. |
Authentication-Token | API gizli anahtarınızla oluşturulan istek kimlik doğrulama token'ı. |
API gizli anahtarınızı gizli tutun. API kimlik bilgilerini veya kimlik doğrulama token'larını ön uç kodunda, mobil uygulamalarda, botlarda veya istemci tarafı betiklerde asla açığa çıkarmayın.
Yalnızca API akışı
Tüm kripto ödeme deneyimini uygulamanız yönetiyorsa bu akışı kullanın.
Ödeme akışı:
- Sisteminizde bir sipariş oluşturun.
- İsteğe bağlı olarak faturayı oluşturmadan önce fatura bilgilerini kontrol edin.
- API üzerinden bir kripto faturası oluşturun.
- Müşteriye ödeme adresini, tutarı, para birimini, ağı ve son geçerlilik süresini gösterin.
- Müşteri ödemeyi bir kripto cüzdandan gönderir.
- Arka ucunuz ödeme durumunu API üzerinden kontrol eder.
- Ödeme tamamlandığında sisteminizdeki sipariş durumunu güncelleyin.
Adım 1: Fatura bilgilerini kontrol edin
Fatura oluşturmadan önce hesaplanan fatura değerlerini kontrol edebilirsiniz.
Bu adımla asıl faturayı oluşturmadan önce gönderen tutarını, alıcı tutarını, döviz dönüştürmeyi ve son geçerlilik süresini önizleyebilirsiniz.
Uç nokta:
POST /api/invoice/crypto-invoice/check
Örnek istek:
{
"receiverCurrency": "USD",
"senderCurrency": "USDT_TRC20",
"amount": 100,
"transferAction": "GET",
"note": "Order #1001",
"sciName": "Store",
"orderId": "ORDER-1001",
"subMerchantURL": "https://merchant.example.com"
}
Örnek yanıt:
{
"receiverCurrency": "USD",
"senderCurrency": "USDT_TRC20",
"amount": 100,
"transferAction": "GET",
"note": "Order #1001",
"sciName": "Store",
"orderId": "ORDER-1001",
"subMerchantURL": "https://merchant.example.com",
"senderAmount": 100,
"receiverAmount": 100,
"expirationDate": "2026-01-15T10:30:00",
"expirationDateMillis": 1768473000000
}
Bu adım ödeme adresi oluşturmaz ve ödemeyi başlatmaz.
Adım 2: Kripto faturası oluşturun
Müşteri ödemeye hazır olduğunda bir kripto faturası oluşturun.
Uç nokta:
POST /api/invoice/crypto-invoice/deposit
Örnek istek:
{
"receiverCurrency": "USD",
"senderCurrency": "USDT_TRC20",
"amount": 100,
"transferAction": "GET",
"note": "Order #1001",
"sciName": "Store",
"orderId": "ORDER-1001",
"subMerchantURL": "https://merchant.example.com"
}
Yanıt, uygulamanızın müşteriye göstermesi gereken ödeme bilgilerini döndürür.
Örnek yanıt:
{
"receiverCurrency": "USD",
"senderCurrency": "USDT_TRC20",
"amount": 100,
"transferAction": "GET",
"note": "Order #1001",
"sciName": "Store",
"orderId": "ORDER-1001",
"subMerchantURL": "https://merchant.example.com",
"address": "TXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"addressOldFormat": null,
"destinationTag": null,
"senderAmount": 100,
"receiverAmount": 100,
"expirationDate": "2026-01-15T10:30:00",
"expirationDateMillis": 1768473000000
}
Fatura isteği alanları
| Alan | Zorunlu | Açıklama |
|---|---|---|
receiverCurrency | Evet | Ödeme tamamlandıktan sonra Volet.com hesabınıza yatırılan para birimi. |
senderCurrency | Evet | Müşterinin ödeme için kullanması gereken para birimi ve ağ. |
amount | Evet | Ödeme tutarı. Nasıl yorumlanacağı transferAction değerine bağlıdır. |
transferAction | Evet | Tutarın gönderilecek tutar mı yoksa alınacak tutar mı olduğunu belirler. Olası değerler: GIVE, GET. |
note | Hayır | Ödeme notu veya sipariş açıklaması. |
sciName | Hayır | Ödeme akışıyla ilişkili Hosted Checkout veya mağaza adı. |
orderId | Hayır | Dahili sipariş kimliğiniz. Her ödeme için benzersiz bir değer kullanın. |
subMerchantURL | Hayır | Ödeme başka bir üye işyeri adına işleniyorsa alt üye işyerinin web sitesi URL'si. |
Fatura yanıtı alanları
| Alan | Açıklama |
|---|---|
address | Müşterinin ödemeyi göndermesi gereken kripto adresi. |
addressOldFormat | Seçilen ağda varsa alternatif adres biçimi. |
destinationTag | Bazı ağların gerektirdiği hedef etiketi, memo veya ek tanımlayıcı. |
senderAmount | Müşterinin göndermesi gereken tutar. |
senderCurrency | Müşterinin kullanması gereken para birimi ve ağ. |
receiverAmount | Hesabınıza yatırılması beklenen tutar. |
receiverCurrency | Hesabınıza yatırılan para birimi. |
expirationDate | Faturanın son geçerlilik tarihi ve saati. |
expirationDateMillis | Faturanın milisaniye cinsinden son geçerlilik zaman damgası. |
senderAmount, senderCurrency, address ve döndürülmüşse destinationTag değerlerini her zaman aynen gösterin.
Adım 3: Ödeme talimatlarını gösterin
Yalnızca API modunda ödeme talimatlarını müşteriye göstermekten uygulamanız sorumludur.
En azından şunları gösterin:
- Gönderilecek tutar.
- Para birimi ve blokzincir ağı.
- Kripto adresi.
- Gerekiyorsa hedef etiketi veya memo.
- Son geçerlilik süresi.
- Fonların yalnızca seçilen ağ üzerinden gönderilmesi gerektiğine dair uyarı.
Örnek talimat:
Send exactly 100 USDT on Tron (TRC-20) to:
TXXXXXXXXXXXXXXXXXXXXXXXXXXXX
This invoice expires at 2026-01-15 10:30 UTC.
Do not send funds on another network.
Hedef etiketi veya memo gerektiren ağlarda bunu adresin yanında açıkça gösterin.
Adım 4: Ödeme durumunu kontrol edin
Fatura oluşturulduktan sonra arka ucunuz ödeme durumunu kontrol etmelidir.
Uç nokta:
GET /api/orders
Zorunlu sorgu parametresi:
| Parametre | Açıklama |
|---|---|
orderId | Üye işyerinin sipariş tanımlayıcısı. |
İsteğe bağlı sorgu parametresi:
| Parametre | Açıklama |
|---|---|
sciName | Siparişle ilişkili Hosted Checkout veya mağaza adı. |
Örnek istek:
GET /api/orders?orderId=ORDER-1001&sciName=Store
Örnek yanıt:
{
"orderId": "ORDER-1001",
"sciName": "Store",
"paymentStatus": "PROCESSING",
"paymentMethod": "CRYPTO_INVOICE",
"paymentCreated": "2026-01-15T10:30:00",
"transaction": {
"status": "PROCESSING"
},
"invoice": {
"invoiceStatus": "PROCESSING",
"cryptoCurrencyAddress": "TXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"initialSenderAmount": 100,
"actualReceivedAmount": 100,
"senderCurrency": "USDT_TRC20",
"cryptoCurrencyTransactionId": "11111111-1111-4111-8111-111111111111"
}
}