Whalestack Uygulama Programlama Arayüzünü Kullanma

Whalestack Uygulama Programlama Arayüzü (API) ile hızlı, güvenli ve zahmetsiz kripto para ödemelerini açın. Kayıt sonrası API anahtarınızı güvence altına aldıktan sonra, bir ödeme oluşturun veya bir blok zinciri yatırma adresi oluşturun. Bitcoin, Lightning, Litecoin, Stellar veya desteklenen başka bir ağ olsun, ödeme almak kolaydır. Ayrıca, SWIFT veya SEPA aracılığıyla fiat açma ve kapama avantajından yararlanın.

Cüzdanlar ve Mevduatlar

Whalestack ile Bitcoin, Lightning, Litecoin, Stellar, SWIFT, SEPA ve daha fazlası için anında özel para yatırma adresleri alırsınız. Kaydolduktan birkaç dakika sonra blok zinciri ödemelerini almaya başlayın. Blok zinciri adreslerinizi almak ve özel para yatırma işlemlerini başlatmak için GET /cüzdanlar ve POST /para yatırma adresi uç noktalarını kullanın.

Ödeme İşlemleri

Whalestack ödeme işlemleri müşteri ödemelerini kolaylaştırır. Tamamen özelleştirilebilir barındırılan ödeme işlemi seçenekleri ile üstün bir kullanıcı deneyimi sunuyoruz. Önceden oluşturulmuş ödeme işlemi sayfaları sizin tarzınız değilse, tam kontrol için arka uç ödeme API'lerimizden yararlanın. ödeme işlemleri oluşturma ile ilgili tanıtım yazımızı okuyun veya doğrudan POST /ödeme işlemi veya POST /ödeme işlemi/barındırılan uç noktalarına dalın.

Takas ve Transferler

Ödeme işlemleri veya özel para yatırma işlemleri yoluyla fon aldıktan sonra, bunları hemen kullanabilirsiniz. Bunları farklı varlıklar arasında değiştirin veya bir banka ya da blok zinciri hesabına taşıyın (ancak maksimum güvenlik için soğuk depoya yönlendirmenizi öneririz). Takam ve transferleri keşfetmek için POST /takas ve POST /transfer uç noktalarını kullanın.

Şeffaf Finansal Raporlama

Artık karmaşık blok zinciri ödeme izleri üzerinde kafa yormak yok. Whalestack tüm işlemlerinizi hesabınızdaki Finansal Raporlar bölümünde toplar. Hatta işlemleri müşteriler (POST /müşteri) veya yararlanıcılar (POST /yararlanıcı) gibi belirli karşı taraflara bağlayabilirsiniz. Size CSV raporları, görsel grafikler ve bilgilendirici analizler sunarak muhasebe süreçlerinizi kolaylaştırıyoruz.

Yazılım Geliştirme Kitleri

Whalestack Uygulama Programlama Arayüzü (API), tüm programlama dillerindeki REST istemcileriyle sorunsuz bir şekilde entegre olur. Hızlı bir başlangıç için PHP, Ruby ve NodeJS için SDK'lar hazırladık. Bu kaynakları GitHub sayfamızda keşfedin.

E-Ticaret Entegrasyonları

Whalestack ile sorunsuz entegrasyonlar sağlamak için e-ticaret araç setimizi düzenli olarak geliştirmeye kararlıyız. Kütüphaneler, eklentiler ve uzantılardan oluşan paketimiz, hızlı ve sorunsuz kayıt süreciniz için hazırlanmıştır. Dağıtıma hazır e-ticaret entegrasyonları dizisini aşağıda keşfedin.

Ödeme İşlemleri Oluşturma

Tamamen özelleştirilebilir ödeme işlemi sayfası deneyimimiz ile ödeme yolculuğu üzerinde tam kontrol sağlamak için arka uç Uygulama Arayüzü Programlama(API'lerimizden) yararlandığınız kendi kendine barındırılan seçenek arasında seçim yaparak başlayın.

Seçenek 1: Kendi Kendine Barındırılan Ödeme İşlemleri

Ödeme işlemini web uygulamanız içinde markanız altında sunun. Kullanıcılar için sorunsuz bir deneyim sağlamak ve onları uygulamanızın ekosistemi içinde tutmak için kendi kendine barındırılan arka uç Uygulama Programlama Arayüzü(API) ödeme işlemlerini tercih edin. Beyaz etiketli ödemeleri POST /ödeme işlemi aracılığıyla başlatın Uygulama Programlama Arayüzü(API) uç noktası.

Seçenek 2: Ödeme İşlemi Sayfaları

Tamamen markalanabilir barındırılan ödeme işlemlerimiz, Whalestack'te ödeme almanın en kolay yolunu sunar. POST /ödeme işlemi/ barındırılan Uygulama Programlama Arayüzü(API) uç noktası bir ödeme bağlantısı oluşturur. Kullanıcıları ister whalestack.com'a ister Marka Bağlantısı aracılığıyla kendi alan adınıza yönlendirin, süreç sorunsuz devam eder. Ödeme işlemi URL'sini aldıktan sonra, müşterinizi barındırılan sayfaya yönlendirin ve ödeme yapmaya hazır olsunlar. Gelen fonlar hakkında web kancaları, e-postalar veya Uygulama Programlama Arayüzü (API) yoklaması yoluyla sizi bilgilendiririz.

Aşağıda, dinamik bir barındırılan ödeme işlemi oluşturmak için adım adım bir kılavuz bulabilirsiniz:

Örnek Talep

curl -X POST https://www.whalestack.com/api/v1/checkout/hosted \
     -H "X-Digest-Key: YOUR_API_KEY" \
     -H "X-Digest-Signature: DIGEST_AUTH_SIGNATURE" \
     -H "X-Digest-Timestamp: TIMESTAMP" \
     -d "@charge.json"

Kimlik Doğrulama HTTP üstbilgileri aracılığıyla sağlanır ve charge.json bir JSON nesnesidir:

Örnek Ücretlendirme (minimal)

{
   "charge":{
      "billingCurrency":"EUR",
      "lineItems":[
         {
            "description":"PCI Graphics Card",
            "netAmount":169.99
         }
      ]
   },
   "settlementAsset":"USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN"
}

Yukarıdaki örnek, 169.99 EUR fiyatıyla satılan bir ürün için bir ödeme talebi oluşturur. Sevkiyat maliyetleri, indirimler, vergiler, ilgili müşteri gibi daha fazla ayrıntının yanı sıra tercih ettiğiniz uzlaşma varlığını burada belgelendiği şekilde yapılandırabilirsiniz.

Örnek Yanıt (application/json)

{
   "id":"b5bcf27e5482",
   "url":"https://www.whalestack.com/en/checkout?id=b5bcf27e5482"
}

Uygulama Programlama Arayüzü(API), ödemeyi tamamlaması için müşterinize geri göstereceğiniz barındırılan bir ödeme işlemi URL'si ile birlikte benzersiz bir tanımlayıcı döndürür. Fonlar alındıktan sonra sizi Web Kancası ödeme tamamlandı ile bilgilendiririz.

Ödemelerin Alınması

Kripto para işlemleri geleneksel kredi kartı ödemelerinden farklıdır. Satıcıların kredi kartı bilgilerini kullanarak fon çekmesi yerine, kripto para birimi bir push modeli üzerinde çalışır. Bu, müşterinin ödemeyi aktif olarak başlatmasını ve satıcıya göndermesini gerektirir.

Bir ödeme işlemi başlatıldığında, Whalestack gelen ödemeler için seçilen blok zincirini dikkatle takip eder. İşlemin tamamlanması için 60 dakikalık bir süre vardır. Ödeme bu süre içinde sonuçlandırılmazsa, süresi dolmuş olarak işaretlenir. Ancak, gecikmeli olarak yapılan ödemeler yine de kabul edilmektedir.

Ödemeyi başarıyla aldıktan sonra bakiyeniz güncellenir, kontrol paneliniz değişiklikleri yansıtır ve sunucunuza bir web kancası geri çağrısı gönderilir. Bu, Web Kancası ödeme işlemi tamamlandı mekanizması aracılığıyla siparişin sisteminizde otomatik olarak işlenmesini sağlar.

Örnek Web Kancası (application/json)

{
   "eventType":"CHECKOUT_COMPLETED",
   "data":{
      "checkout":{
         "id":"a2d963a87d70",
         "timestamp":"2023-05-29T17:36:30+00:00",
         "state":"COMPLETED",
         "type":"HOSTED",
         "origin":"API",
         "settlementAssetId":"USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",
         "settlementAmountRequired":"117.8379738",
         "settlementAmountReceived":"117.8379738",
         "settlementAmountFeePaid":"0.0000000",
         "sourceAssetId":"BTC:GCQVEST7KIWV3KOSNDDUJKEPZLBFWKM7DUS4TCLW2VNVPCBGTDRVTEIT",
         "sourceAmountRequired":"0.0043193",
         "sourceAmountReceived":"0.0043193",
         "sourceNetwork":"BITCOIN",
         "sourceNetworkName":"Bitcoin",
         "depositAddress":"3Qg8rR28fPZXMiEbM2QB9RjQfM1MjuN9f8",
         "blockchainTransactions":[
            {
               "type":"CHECKOUT_ORIGIN",
               "typeDescription":"Blockchain payment transaction initiated by customer.",
               "network":"BITCOIN",
               "networkName":"Bitcoin",
               "timestamp":"2023-05-29T17:55:52+00:00",
               "tx":"27a3e9425ef73e80a2c2d97886a0e1f88662df9358150f773f39cfef7cb39621",
               "amount":"0.0043193",
               "amountAssetCode":"BTC",
               "exception":null
            },
            {
               "type":"CHECKOUT_BRIDGE",
               "typeDescription":"Fund transfer from native blockchain to Stellar Network.",
               "network":"STELLAR",
               "networkName":"Stellar",
               "timestamp":"2023-05-29T17:56:03+00:00",
               "tx":"f016f835249302f90b82237a9b9782bde09e912d924d6a27ee858e011db14825",
               "amount":"0.0043193",
               "amountAssetCode":"BTC",
               "exception":null
            },
            {
               "type":"CHECKOUT_SETTLEMENT",
               "typeDescription":"Stellar transaction crediting your Whalestack merchant account.",
               "network":"STELLAR",
               "networkName":"Stellar",
               "timestamp":"2023-05-29T17:56:03+00:00",
               "tx":"9e912d924d6a27ee858e011db14825f016f835249302f90b82237a9b9782bde0",
               "amount":"117.8379738",
               "amountAssetCode":"USDC",
               "exception":null
            }
         ],
         "payload":{
            "charge":{
               "customerId":"bb657e88a23d",
               "currency":"EUR",
               "lineItems":[
                  {
                     "description":"Mobile Data Prepaid Credits",
                     "netAmount":"110.00000"
                  }
               ],
               "shippingCostItems":[
                  {
                     "description":"Instant Delivery",
                     "netAmount":0
                  }
               ],
               "taxItems":[
                  {
                     "name":"Hong Kong Sales Tax",
                     "percent":0
                  }
               ]
            },
            "settlementAsset":"USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",
            "webhook":"https://www.my-server.com/api/?action=cq-webhook",
            "links":{
               "cancelUrl":"https://www.my-server.com/en/payments",
               "returnUrl":"https://www.my-server.com/en/invoice/57abff04a03d"
            }
         },
         "hostedCheckoutUrl":"https://www.whalestack.com/en/checkout/a2d963a87d70"
      }
   }
}

Web kancası, HTTP istek gövdesinde bir JSON nesnesi içerir ve Web kancası ödeme işlemi tamamlandı içinde belirtildiği gibi gelen ödemeler ve bunların nitelikleri hakkında sizi bilgilendirir. Yukarıdaki örnekte müşteri BTC cinsinden ödeme yapmış ve satıcı USDC cinsinden alacaklandırılmıştır.

Whalestack Tarafından Sunulan Marka Bağlantısı

Whalestack'in Marka Bağlantısı, Whalestack ödeme işlem deneyiminizi kendi benzersiz marka kimliğinizle birleştirir. İster özel logonuz, ister tematik görseller veya markanızın estetiğine uygun bir kullanıcı arayüzü olsun, Brand Connect ödeme sayfalarınızın platformunuzun organik bir uzantısı gibi hissetmesini sağlar. Whalestack.com'da barındırma arasında seçim yapın veya basit docker konteyner kurulumumuzla kendi alan adınıza açın.

Brand Connect is the ideal solution for payment service providers aiming to harness Whalestack's comprehensive checkout system while maintaining their own distinctive brand presentation. Bu, fazla ödemeler, eksik ödemeler, geri ödemeler veya çoklu işlemler gibi işlem nüanslarının ustaca ele alınmasını içerir. Ancak, bir hizmet sağlayıcı değilseniz ve yalnızca online mağazanız için tutarlı bir görsel deneyim istiyorsanız bile Brand Connect'e başvurabilirsiniz.

Ancak, bir hizmet sağlayıcı değilseniz ve yalnızca online mağazanız için tutarlı bir görsel deneyim istiyorsanız bile Brand Connect sizin için doğru seçenektir.

Özel ödeme işlemleri görünümünüzü ayarlamak, hesap ayarlarınızdaki Brand Connect arayüzümüz ile oldukça kolaydır. İşte markanızı kişiselleştirmenin yolları:

  1. Hesap ayarlarınızdan Marka Bağlantısını etkinleştirin
  2. Ayarlardan Marka Bilgilerini, Görselleri, Yazı Tiplerini ve Renkleri değiştirmeye devam edin.

Yapılandırma tamamlandıktan sonra ödeme sayfalarınız markanızla (logo, website ikonu, özel kripto görselleri, yazı tipi tercihleri ve renk şemaları) sorunsuz bir şekilde uyum sağlayacaktır. Ödeme işleminizi incelediğinizde, temel hizmet sağlayıcı olarak Whalestack'e dair hiçbir işaret olmadan kusursuz bir entegrasyon olduğunu fark edeceksiniz.

Özel Web Alan Adı Kurulumu

Brand Connect varsayılan olarak whalestack.com alanında çalışır. Ancak, markanızı daha derinlemesine tanıtmak istiyorsanız, ödeme işlemlerinizi kendi web alanınız üzerinden yönlendirebilirsiniz. Bu, Whalestack'in yeteneklerini sorunsuz bir şekilde yerleştirmek ve aynı zamanda kendi özgün marka auralarını korumak isteyen ödeme hizmetleri sağlayanlar için idealdir.

Bu entegrasyon Brand Connect docker konteyner (GitHub) aracılığıyla gerçekleştirilir. Barındırma kurulumunuza yerleştirerek ve birkaç DNS ayarlaması yaparak, marka kimliğinizle tamamen uyumlu bir ödeme akışını etkinleştirebilirsiniz. İşte adım adım yol haritası:

  1. Hesap ayarlarınızdan Marka Bağlantısını etkinleştirin
  2. Ayarlarda Marka Bilgilerinizi, Görsellerinizi, Yazı Tiplerinizi ve Renklerinizi Düzenleyin
  3. Ödeme işlemleri için özel web alanınızı belirleyin ve WS_BRANDING_KEY alın (yukarıdaki adımları tamamladıktan sonra)
  4. SSL sertifikanızın yanında Marka Bağlantısı docker konteynerini uygulayın
  5. Web alanınızın DNS'sini docker konteynerini barındıran IP adresine yönlendirin.

Ve işte! Whalestack ödeme işlemi sayfalarınız artık alan adınızın ayrılmaz bir parçasıdır ve benzersiz marka özünüzü yansıtır. GitHub'da daha derine dalın.

Güvenli Kimlik Doğrulamasının Sağlanması

Whalestack Uygulama Prgoramlama Arayüzü(API) öncelikle kimlik doğrulaması gerektirir. Farklı olarak, Uygulama Programlama Arayüzü(API) uç noktaları genel () ya da korumalı () olarak sınıflandırılır. Korumalı bir uç noktaya erişmek için, Temel Doğrulama veya daha güvenli Özet Doğrulama yöntemi aracılığıyla Uygulama Programlama(API) anahtarınızı kullanarak isteğinizin kimliğini doğrulayın. Kimlik doğrulama yönteminizi zahmetsizce doğrulamak için GET /auth-test uç noktasını kullanın.

Uygulama Programlama Arayüzü(API) Kimlik Bilgilerinizin Güvenliğini Sağlama

Uygulama Programlama(API) anahtarınızı ve sırrınızı almak için Uygulama Programlama(API) Ayarları bölümüne gidin. Burada ayrıca tercih ettiğiniz kimlik doğrulama stratejisini ayarlayabilir ve "IP adresi beyaz listesini" etkinleştirerek güvenliği artırabilirsiniz. Uygulama Programlama Arayüzü(API) sırrınızın güvenliği ile ilgili herhangi bir şüpheniz olması durumunda, bu ayarlardan yeniden oluşturma hükmüne sahipsiniz.

Digest-Auth: Tavsiye Ettiğimiz Seçim

Korumalı Whalestack Uygulama Programlama Arayüzü(API) uç noktalarına erişirken Digest-Auth yöntemini kullanıyoruz. Her istek için temel başlıklar arasında X-Digest-Key, X-Digest-Signature ve X-Digest-Timestamp yer alır ve bunların tümü sonraki bölümlerde ayrıntılı olarak açıklanmıştır.

Talep

curl 'https://www.whalestack.com/api/v1/auth-test' \
     -H "X-Digest-Key: YOUR_API_KEY" \
     -H "X-Digest-Signature: DIGEST_AUTH_SIGNATURE" \
     -H "X-Digest-Timestamp: UNIX_TIMESTAMP"

İstek Başlıkları

Anahtar Tür Açıklama
X-Digest-Key string Your Whalestack API key. mandatory
X-Digest-Signature string Unique Digest-Auth Signature (see below). mandatory
X-Digest-Timestamp integer Current Unix timestamp (also see GET /time). mandatory

X-Digest-Signature, mesaj özetinde paylaşılan sır olarak Uygulama Programlama Arayüzü(API) Sırrınız kullanılarak bir SHA256 HMAC hash'i yaratılarak oluşturulur. Şifrelenmiş yük aşağıdaki gibi oluşturulur:
ENDPOINT_PATH . UNIX_TIMESTAMP . REQUEST_METHOD . REQUEST_BODY, burada . dize birleştirmeyi temsil eder.

X-Digest-İmza Bileşenleri

Bileşen Tür Açıklama
ENDPOINT_PATH string The path of the endpoint that is being invoked, e.g. /auth-test in lower case.
UNIX_TIMESTAMP integer Current Unix timestamp. Must be less than 30 seconds old (also see GET /time).
REQUEST_METHOD string The request method, e.g. POST or GET in upper case.
REQUEST_BODY string The request body string. Only needed in POST, PUT, or DELETE requests. Set null for GET requests.

PHP Logo Kod Örneği (PHP)

$path = '/auth-test'
$timestamp = time();
$method = 'GET';
$body = $method == 'GET' ? null : json_encode($params);
$secret = 'YOUR_API_SECRET';

$signature = hash_hmac('sha256', $path . $timestamp . $method . $body, $secret);

Ruby Logo Kod Örneği (Ruby)

require 'openssl'

path = '/auth-test'
timestamp = Time.now.to_i
method = 'GET'
body = method == 'GET' ? NIL : params.to_json
secret = 'YOUR_API_SECRET'

signature = OpenSSL::HMAC.hexdigest('sha256', secret, path + timestamp.to_s + method + body.to_s)

Ruby Logo Kod Örneği (NodeJS)

require('crypto');

let path = '/auth-test'
let timestamp = Date.now() / 1000 | 0;
let method = 'GET'
let body = method === 'GET' ? '' : JSON.stringify(params)
let secret = 'YOUR_API_SECRET'

let signature = crypto.createHmac('sha256', secret)
                .update(path + timestamp + method + body)
                .digest('hex');

Programlama dilinizde bir HMAC SHA256 imzasını nasıl oluşturacağınızdan emin değilseniz bu örnekleri inceleyin.

Basic-Auth

Uygulanması daha kolay olan (Uygulama Programlama Arayüzü(API) anahtarınız ve sırrınız üzerinde statik bir hash olduğu için) ancak Digest-Auth'dan daha az güvenli olan temel kimlik doğrulama başlığını kullanmayı seçebilirsiniz. Geliştirme sırasında veya yalnızca test ortamlarında Basic-Auth kullanmanızı öneririz.

Talep

curl 'https://www.whalestack.com/api/v1/auth-test' \
     -H "X-Basic: BASIC_AUTH_HASH"

İstek Başlıkları

Anahtar Tür Açıklama
X-Basic string SHA256 hash over YOUR_API_KEY:YOUR_API_SECRET mandatory

Kod Örneği

$key = 'YOUR_API_KEY';
$secret = 'YOUR_API_SECRET';

$basicAuthHash = hash('sha256', $key . ':' . $secret);

IP Adresi Beyaz Listeleme

Uygulama Programlama Arayüzü(API) hesabınıza herhangi bir IP adresinden mi yoksa yalnızca beyaz listedeki IP adreslerinden mi erişilebileceğini yapılandırmak için API Ayarlarını kullanın. IP adresi beyaz listeleme, güvenliği önemli ölçüde artırdığı için üretim ortamları için önerilir. Para çekme uç noktalarına yalnızca beyaz listedeki IP adreslerinden erişilebilir.

Yazılım Geliştirme Kitleri (SDK'ler)

PHP, Ruby ve NodeJS için Yazılım Geliştirme Kitlerimiz, Whalestack Payments API ile sorunsuz bir şekilde entegre olmanıza yardımcı olmak için burada.

Aşağıda şu anda GitHub sayfamızda bulunan SDK(Yazılım Geliştirme Aracı)'ların bir listesi bulunmaktadır..

PHP Logo

PHP
PHP için Resmi Whalestack Yazılım Geliştirme Kiti

1  include('WhalestackClient.class.php');
2
3  $client = new WhalestackClient(
4      'YOUR-API-KEY',
5      'YOUR-API-SECRET',
6      '/var/log/whalestack.log'
7  );
Ruby Logo

Ruby
Ruby için Resmi Whalestack Yazılım Geliştirme Kiti

1  require 'whalestack_sdk/client'
2
3  client = WhalestackSDK::Client.new(
4      'YOUR-API-KEY',
5      'YOUR-API-SECRET',
6      '/var/log/whalestack.log'
7  )
NodeJS Logo

NodeJS
NodeJS için Resmi Whalestack Yazılım Geliştirme Kiti

1  require('whalestack-sdk');
2
3  const client = new WhalestackClient(
4      'YOUR-API-KEY',
5      'YOUR-API-SECRET'
6  );

GET/networkskorumalı

Whalestack platformu tarafından desteklenen blok zinciri ve banka ağlarının bir listesini döndürür.

Talep

curl 'https://www.whalestack.com/api/v1/networks'

Başarılı Yanıt application/json

{
   "networks":[
      {
         "id":"BITCOIN",
         "name":"Bitcoin",
         "type":"BLOCKCHAIN",
         "imageSrc":"/images/icon-btc-88.png",
         "deposits":true,
         "transfers":true,
         "bridged":true,
         "assets":[
            "BTC:GCQVEST7KIWV3KOSNDDUJKEPZLBFWKM7DUS4TCLW2VNVPCBGTDRVTEIT"
         ]
      },
      {
         "id":"SWIFT",
         "name":"SWIFT",
         "type":"BANK",
         "imageSrc":"/images/icon-swift-88.png",
         "deposits":false,
         "transfers":true,
         "bridged":true,
         "assets":[
            "USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",
            "EURC:GDHU6WRG4IEQXM5NZ4BMPKOXHW76MZM4Y2IEMFDVXBSDP6SJY4ITNPP2"
         ]
      },
      {
         "id":"SEPA",
         "name":"SEPA",
         "type":"BANK",
         "imageSrc":"/images/icon-sepa-88.png",
         "deposits":false,
         "transfers":true,
         "bridged":true,
         "assets":[
            "USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",
            "EURC:GDHU6WRG4IEQXM5NZ4BMPKOXHW76MZM4Y2IEMFDVXBSDP6SJY4ITNPP2"
         ]
      },
      {
         "id":"STELLAR",
         "name":"Stellar",
         "type":"BLOCKCHAIN",
         "imageSrc":"/images/icon-xlm-88.png",
         "deposits":true,
         "transfers":true,
         "bridged":false,
         "assets":[
            "XLM:NATIVE",
            "USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",
            "ARS:GCYE7C77EB5AWAA25R5XMWNI2EDOKTTFTTPZKM2SR5DI4B4WFD52DARS",
            "BRL:GDVKY2GU2DRXWTBEYJJWSFXIGBZV6AZNBVVSUHEPZI54LIS6BA7DVVSP",
            "BTCLN:GDPKQ2TSNJOFSEE7XSUXPWRP27H6GFGLWD7JCHNEYYWQVGFA543EVBVT",
            "BTC:GCQVEST7KIWV3KOSNDDUJKEPZLBFWKM7DUS4TCLW2VNVPCBGTDRVTEIT",
            "LTC:GCQVEST7KIWV3KOSNDDUJKEPZLBFWKM7DUS4TCLW2VNVPCBGTDRVTEIT",
            "EURC:GDHU6WRG4IEQXM5NZ4BMPKOXHW76MZM4Y2IEMFDVXBSDP6SJY4ITNPP2"
         ]
      },
      {
         "id":"ETHEREUM",
         "name":"Ethereum",
         "type":"BLOCKCHAIN",
         "imageSrc":"/images/icon-eth-88.png",
         "deposits":false,
         "transfers":true,
         "bridged":true,
         "assets":[
            "USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",
            "EURC:GDHU6WRG4IEQXM5NZ4BMPKOXHW76MZM4Y2IEMFDVXBSDP6SJY4ITNPP2"
         ]
      },
      {
         "id":"LITECOIN",
         "name":"Litecoin",
         "type":"BLOCKCHAIN",
         "imageSrc":"/images/icon-ltc-88.png",
         "deposits":true,
         "transfers":true,
         "bridged":true,
         "assets":[
            "LTC:GCQVEST7KIWV3KOSNDDUJKEPZLBFWKM7DUS4TCLW2VNVPCBGTDRVTEIT"
         ]
      },
      {
         "id":"LIGHTNING",
         "name":"Lightning",
         "type":"BLOCKCHAIN",
         "imageSrc":"/images/icon-sat-88.png",
         "deposits":true,
         "transfers":true,
         "bridged":true,
         "assets":[
            "BTCLN:GDPKQ2TSNJOFSEE7XSUXPWRP27H6GFGLWD7JCHNEYYWQVGFA543EVBVT"
         ]
      },
      {
         "id":"PIX",
         "name":"Brazilian PIX",
         "type":"BANK",
         "imageSrc":"/images/icon-brl-88.png",
         "deposits":false,
         "transfers":true,
         "bridged":true,
         "assets":[
            "BRL:GDVKY2GU2DRXWTBEYJJWSFXIGBZV6AZNBVVSUHEPZI54LIS6BA7DVVSP"
         ]
      }
   ]
}

Başarılı Yanıt Özellikleri

İsim Tür Açıklama Boş olabilen değer
.networks[] array A list objects representing a blockchain or bank network. false
.id string The network identifier. false
.name string The network name. false
.type string The network type. Can be either BLOCKCHAIN or BANK. false
.imageSrc string The URL of the Whalestack icon depicting the network. A path relative to www.whalestack.com. false
.deposits boolean Indicates whether this network can be used as to originate payments towards checkouts and deposits. false
.transfers boolean Indicates whether this network can receive transfers. false
.bridged boolean Indicates whether this network is native to the Whalestack platform or bridged via Stellar (SEP-6 or OTC). false
.assets array A list of asset identifiers as given by GET /assets indicating the assets available for redemption and reception via the network. false

Hata Yanıtı application/json

{
    "errors":[
        "invalid request (and more information explaining the error in plain text)"
    ]
}

Hata Yanıt Parametreleri

İsim Tür Açıklama Boş olabilen değer
errors[] string[ ] A list of strings explaining the error. false

GET/assetskorumalı

Whalestack platformu tarafından desteklenen varlıkların bir listesini döndürür.

Talep

curl 'https://www.whalestack.com/api/v1/assets'

Başarılı Yanıt application/json

{
   "assets":[
      {
         "id":"BTC:GCQVEST7KIWV3KOSNDDUJKEPZLBFWKM7DUS4TCLW2VNVPCBGTDRVTEIT",
         "assetCode":"BTC",
         "assetIssuer":"GCQVEST7KIWV3KOSNDDUJKEPZLBFWKM7DUS4TCLW2VNVPCBGTDRVTEIT",
         "name":"Bitcoin",
         "group":"BTC",
         "groupImageSrc":"/images/icon-btc-88.png",
         "issuerName":"Whalestack LLC",
         "issuerDomain":"whalestack.com",
         "issuerAddress":"54 Jedności Street, 65-018 Zielona Góra, Poland",
         "imageSrc":"/images/icon-btc-88.png",
         "checkouts":true,
         "deposits":true,
         "settlement":true,
         "swaps":true,
         "transfers":true,
         "hexColor":"#f7931a",
         "riskLevel":"LOW",
         "bridge":true,
         "networks":[
            "STELLAR",
            "BITCOIN"
         ]
      },
      {
         "id":"USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",
         "assetCode":"USDC",
         "assetIssuer":"GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",
         "name":"USD Coin",
         "group":"USD",
         "groupImageSrc":"/images/icon-usd-88.png",
         "issuerName":"Centre",
         "issuerDomain":"centre.io",
         "issuerAddress":"Centre Consortium LLC, United States",
         "imageSrc":"/images/icon-usdc-88.png",
         "checkouts":true,
         "deposits":true,
         "settlement":true,
         "swaps":true,
         "transfers":true,
         "hexColor":"#2775ca",
         "riskLevel":"LOW",
         "bridge":true,
         "networks":[
            "STELLAR",
            "SWIFT",
            "SEPA"
         ]
      },
      {
         "id":"XLM:NATIVE",
         "assetCode":"XLM",
         "assetIssuer":"NATIVE",
         "name":"Stellar Lumens",
         "group":"XLM",
         "groupImageSrc":"/images/icon-xlm-88.png",
         "issuerName":"SDF",
         "issuerDomain":"stellar.org",
         "issuerAddress":"Stellar Development Foundation, San Francisco, CA, United States",
         "imageSrc":"/images/icon-xlm-88.png",
         "checkouts":true,
         "deposits":true,
         "settlement":true,
         "swaps":true,
         "transfers":true,
         "hexColor":"#5894ca",
         "riskLevel":"LOW",
         "bridge":false,
         "networks":[
            "STELLAR"
         ]
      }
   ]
}

Başarılı Yanıt Özellikleri

İsim Tür Açıklama Boş olabilen değer
.assets[] array A list objects representing a Stellar asset. false
.id string The identifier of the asset. false
.assetCode string The asset code. false
.assetIssuer string The identifier of the asset issuer on the Stellar Network. false
.name string The asset name. false
.group string The group to which the asset belongs. For example, USDC and USDT belong to the USD group. BTC and BTCLN (Lightning) belong to the BTC group. false
.groupImageSrc string The URL of the Whalestack icon depicting the asset group. A path relative to www.whalestack.com. false
.issuerName string The asset issuer name in English plain text. false
.issuerDomain string The asset issuer's web domain. false
.issuerAddress string The asset issuer's physical address. false
.imageSrc string The URL of the Whalestack icon depicting the asset. A path relative to www.whalestack.com. false
.checkouts boolean Indicates whether this asset can be used as payment method in checkouts. false
.deposits boolean Indicates whether this asset can be used as payment method in deposits. false
.settlement boolean Indicates whether this asset can be used for checkout settlement. false
.swaps boolean Indicates whether this asset can be used as source or target asset in swaps. false
.transfers boolean Indicates whether this asset can be used as target assets in transfers. false
.hexColor string(7) Whalestack's color code for this asset. Useful for charts and other visualizations. false
.riskLevel string Indicating the assets risk level as LOW, MEDIUM, or HIGH. Your risk tolerance can be configured in the (browser-based) settlement settings in your account.

Assets with a LOW risk level are native to the Stellar Network and can be widely redeemed (e.g. XLM and USDC).

Assets with a MEDIUM risk level assets are bridged onto the Stellar network by trusted custodians (anchors) and can be redeemed via SEP-6 or OTC via Whalestack (e.g. BTC, LTC, ETH, Bitcoin Lightning BTC).

Assets with a HIGH risk level are only available to you if manually enabled in your account settings (e.g. USDT).
false
.bridge boolean Indicates whether this asset is bridged via Stellar (SEP-6 or OTC). false
.networks array A list of network identifiers as given by GET /networks indicating the networks on which payment transactions for this asset can be processed. false

Hata Yanıtı application/json

{
    "errors":[
        "invalid request (and more information explaining the error in plain text)"
    ]
}

Hata Yanıt Parametreleri

İsim Tür Açıklama Boş olabilen değer
errors[] string[ ] A list of strings explaining the error. false

GET/currencieskorumalı

Whalestack platformu tarafından desteklenen para birimlerinin bir listesini geri verir.

Talep

curl 'https://www.whalestack.com/api/v1/currencies'

Başarılı Yanıt application/json

{
    "currencies": [
        {
            "assetCode": "BTC",
            "name": "Bitcoin",
            "type": "CRYPTO",
            "billing": true,
            "settlement": true,
            "payment": true
        },
        {
            "assetCode": "USD",
            "name": "US Dollar",
            "type": "FIAT",
            "billing": true,
            "settlement": true,
            "payment": false
        },
        {
            "assetCode": "XLM",
            "name": "Stellar Lumens",
            "type": "CRYPTO",
            "billing": true,
            "settlement": true,
            "payment": true
        }
}

Başarılı Yanıt Özellikleri

İsim Tür Açıklama Boş olabilen değer
.currencies[] array A list objects representing a currency. false
.assetCode string The asset code of the currency. false
.name string The name of the currency. false
.type string The currency type. Either CRYPTO or FIAT. false
.billing boolean Indicates whether this currency can be specified as billing currency in checkout objects. false
.settlement boolean Indicates whether this currency can be specified as settlement currency in checkout objects and deposits. false
.payment boolean Indicates whether this currency can used as payment currency in checkout objects and deposits. false

Hata Yanıtı application/json

{
    "errors":[
        "invalid request (and more information explaining the error in plain text)"
    ]
}

Hata Yanıt Parametreleri

İsim Tür Açıklama Boş olabilen değer
errors[] string[ ] A list of strings explaining the error. false

POST /checkout korumalı

Ödeme işlemini başlatarak kendi barındırdığınız ödeme sürecinizi başlatın. Bu uç nokta, doğrudan sunucunuzda bir ödeme işlemi oluşturmanıza olanak tanıyarak kullanıcı arayüzü veya Uygulama Programlama Arayüzü (API) üzerinde tam özerklik sağlar. Whalestack'in altyapısında bir ödeme işlemi sayfasını otomatikleştiren bir alternatif için POST /checkout/hosted. Ödeme işlemini başlatma konusunda yeniyseniz, burada başlatmanızı öneririz.

Bu uç nokta ile etkileşime geçmek için satır kalemlerini, teslimat ücretleri veya indirimler gibi olası eklemeleri ve geçerli vergileri kapsayan bir ücret nesnesi sağlamanız gerekir. Daha kişiselleştirilmiş bir dokunuş ve fatura oluşturma için, ücreti belirli bir müşteriye bağlayın. Ayrıca, uzlaşma para birimini belirleme gücüne de sahip olursunuz; bu para birimi, ücretin para biriminden veya müşteriniz tarafından seçilen para biriminden farklı olabilir. Bu uç nokta ile başarılı bir etkileşim, size müşterilerinize sunulmak üzere ayarlanmış bir dizi ödeme yöntemi ve ilgili tutarları sağlar.

Müşterileriniz daha sonra tercih ettikleri ödeme yöntemini (örneğin Bitcoin) seçebilirler. Seçimlerinin ardından, seçilen blok zinciri ve ilgili ödeme işlemi kimliği ile POST /ödeme işlemi/taahhüt adresine yeni bir talep gönderin, bu talep müşterinize gösterilecek para yatırma talimatlarına döndürür. Ödeme işlemi taahhüdü yerine getirilir getirilmez, Whalestack'in sistemi gelen ödemeler için blok zincirini özenle tarar ve Web Kancası ödeme işlemi tamamlandı aracılığıyla ödeme ilerlemeleri hakkında sizi döngüde tutar.

Ödeme işlemlerinin bir ödeme amacı beyan ettiğini ve tek seferlik kullanım için tasarlandığını unutmayın. Her işlem için her zaman yepyeni bir ödeme işlemi başlatın.

Örnek Talep

curl -X POST https://www.whalestack.com/api/v1/checkout \
     -d "@payload.json"

Burada payload.json bir JSON nesnesidir.

Örnek Yük (Minimal)

{
   "charge":{
      "billingCurrency":"EUR",
      "lineItems":[
         {
            "description":"PCI Graphics Card",
            "netAmount":169.99
         }
      ]
   },
   "settlementAsset":"USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN"
}

Yukarıdaki Yük Konfigürasyonunun Açıklaması

Yukarıda, bir ödeme işlemi başlatmak için gereken minimum yapılandırma verilmiştir. Ücret EUR cinsindendir ve 169,99 EUR maliyetinde tam olarak bir satır kalemi vardır. Müşteriniz tarafından tercih ettiği kripto para biriminde tahsil edilen ödeme tutarı, burada belirtilen toplam fatura tutarına göre hesaplanır.

Örnek Yük (Tam)

{
   "charge":{
      "customerId":"716dad4c5e5f",
      "billingCurrency":"USD",
      "lineItems":[
         {
            "description":"PCI Graphics Card",
            "netAmount":199,
            "quantity":1,
            "productId":"P1234"
         }
      ],
      "discountItems":[
         {
            "description":"Loyalty Discount",
            "netAmount":5
         }
      ],
      "shippingCostItems":[
         {
            "description":"Shipping and Handling",
            "netAmount":3.99,
            "taxable":false
         }
      ],
      "taxItems":[
         {
            "name":"Sales Tax",
            "percent":0.0825
         }
      ]
   },
   "settlementAsset":"USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",
   "checkoutLanguage":"en",
   "webhook":"https://www.your-server.com/path/to/webhook",
   "pageSettings":{
      "returnUrl":"https://www.merchant.com/path/to/complete/checkout",
      "cancelUrl":"https://www.merchant.com/path/to/cancel/checkout",
      "shopName":"The T-Shirt Store Ltd.",
      "displayBuyerInfo":true,
      "displaySellerInfo":true
   },
   "meta":{
      "customAttribute":"customValue"
   },
   "anchors":{
      "BITCOIN":"BTC:GCQVEST7KIWV3KOSNDDUJKEPZLBFWKM7DUS4TCLW2VNVPCBGTDRVTEIT",
      "LITECOIN":"LTC:GCQVEST7KIWV3KOSNDDUJKEPZLBFWKM7DUS4TCLW2VNVPCBGTDRVTEIT"
   }
}

İstek Parametreleri (POST)

Müşterileri Bağlama

Ödemeyi işlemini otomatik olarak bir müşteriye bağlamak için POST /müşteri tarafından verilen bir charge.customerId sağlayın. Ödemeleri müşterilerle ilişkilendirmek muhasebenize yardımcı olur, işlem geçmişinizde daha fazla ayrıntı sağlar ve otomatik faturalar ve ödeme durumu bildirimleri göndermenize olanak tanır.


Toplam Tutar Formülü

Toplam tutar hesaplaması aşağıdaki formül kullanılarak gerçekleştirilir.
$net = sum($lineItems) - sum($discountItems) + sum($shippingCostItems)
$taxableSum = $net - sum($shippingCostItems) + sum($taxableShippingCostItems)
$total = $net + ($taxableSum * sum($taxItems))

Anahtar Tür Açıklama Varsayılan Zorunlu
charge{} object This is the core information needed to create a checkout. It provides a charge object, which describes what products or services you want to bill, optional shipping and handling costs, discounts and tax information. It also links this checkout to a customer. null mandatory
.customerId string(12) Specifies the customer to which this charge relates to. Use the identifier as given by POST /customer. This links the charge to your customer, which helps with your accounting, provides more details in your transaction history and enables invoicing and status update emails to your customer. null optional
.billingCurrency string A currency code as given by GET /currencies. This is the customer facing billing currency quoted on the payment page in hosted checkouts and on invoices. Blockchain payment amounts are calculated against the billing currency and total amount specified in the charge. This is not the payment currency. Your customers will get to choose their preferred blockchain to make payment in their available asset regardless of the currency you specify here. null mandatory
.lineItems{} object An object providing payment amounts and details about the charged products or services. null mandatory
.description string The product or service description as plain text (Unicode). Maximum of 200 characters. null mandatory
.netAmount numeric The net cost for this item in the currency provided in charge.currency. null mandatory
.quantity numeric The quantity of this item. If you provide a quantity n then the resulting total amount charged will be n * netAmount 1 optional
.productId string An optional product id to link this item with a corresponding relation in your own database. Maximum of 20 characters. null optional
.discountItems{} object An optional object listing any potential discounts related to this payment request. null optional
.description string The discount description as plain text (Unicode). Maximum of 200 characters. null mandatory
.netAmount numeric The net amount for this discount in the currency provided in charge.currency. null mandatory
.shippingCostItems{} object An optional object listing any potential shipping and handling costs related to this payment request. null optional
.description string The shipping or handling cost description as plain text (Unicode), e.g. "Shipping Costs". Maximum of 200 characters. null mandatory
.netAmount numeric The net amount of this shipping cost in the currency provided in charge.currency. null mandatory
.taxable boolean Indicates whether this shipping cost is taxable. If set to true then tax calculation includes this item. false optional
.taxItems{} object An optional object listing any potential taxes related to this payment request. null optional
.name string The applied tax or tax identifier, e.g. "SALES TAX". null mandatory
.percent numeric The percentage of the applied tax in decimal notation, e.g. 0.0825 to represent a tax rate of 8.25% null mandatory
.settlementAsset string An asset id as given by GET /assets. Specifies the asset you will be credited in when the checkout completes. Set to ORIGIN to get credited in the asset your customer pays in without any type of currency conversion. ORIGIN optional
.checkoutLanguage string A language code as given by GET /languages. Use auto to automatically detect the customer's main browser language. Fallback language code is en.

Supported values are: auto en de pt es it tr pl fr
auto optional
.webhook string A webhook URL on your server that listens for related checkout events as specified in webhook concepts. null optional
.anchors{} object An advanced setting to declare preferred Stellar SEP-0006 anchors to use during the checkout process. An object containing key value pairs, with the key being a network id as given by GET /networks and the value being an anchored asset id as given by GET /assets. null optional
.pageSettings{} object An object containing display settings for the customer facing hosted checkout page. Values provided here override your global account settings (if any). null optional
.returnUrl string Specifies the url to which to redirect the customer when the payment completes successfully.

Do not rely on this url to capture completed payments. Always confirm payment status with a call to GET /checkout or implement webhooks for reliable payment notifications in your application.

The checkout id, as given in above response, is automatically appended as GET parameter checkoutId to facilitate mapping in your application. You can specify arbitrary additional GET parameters.
null optional
.cancelUrl string Specifies the url to which to redirect the customer when he cancels the checkout process.

This is typically the checkout page in your web application or a shopping cart view.

The checkout id, as given in above response, is automatically appended as GET parameter checkoutId to facilitate mapping in your application. You can specify arbitrary additional GET parameters.
null optional
.shopName string Your shop or company name, which is displayed in large, bold letters on top of customer facing hosted checkout pages. If no shop name is provided, your account default is used. null optional
.displayBuyerInfo boolean Configures whether to display the customer's billing address on customer facing hosted checkout pages. This field is only relevant if the checkout is associated with a customer. If this field is not provided, your account default is used. null optional
.displaySellerInfo boolean Configures whether you want to display your own mail address on customer facing hosted checkout pages. If this field is not provided, your account default is used. null optional
.meta object A custom object containing arbitrary information that you would like to associate with this checkout, if any. This object is included in associated webhook payloads and API responses whenever this checkout is referenced. true optional

Başarılı Yanıt application/json

{
   "id":"3296a3f29bcd",
   "paymentMethods":[
      {
         "assetCode":"SAT",
         "blockchain":"Lightning",
         "network":"LIGHTNING",
         "relatedAssetId":"BTCLN:GDPKQ2TSNJOFSEE7XSUXPWRP27H6GFGLWD7JCHNEYYWQVGFA543EVBVT",
         "paymentAmount":"735612",
         "settlement":{
            "assetId":"USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",
            "amount":"199",
            "netAmount":"198.005",
            "fee":"0.995"
         }
      },
      {
         "assetCode":"XLM",
         "blockchain":"Stellar",
         "network":"STELLAR",
         "relatedAssetId":"XLM:NATIVE",
         "paymentAmount":"1908.8467626",
         "settlement":{
            "assetId":"USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",
            "amount":"199",
            "netAmount":"198.005",
            "fee":"0.995"
         }
      },
      {
         "assetCode":"USD",
         "blockchain":"Stellar",
         "network":"STELLAR",
         "relatedAssetId":"USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",
         "paymentAmount":"199.0000000",
         "settlement":{
            "assetId":"USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",
            "amount":"199",
            "netAmount":"198.005",
            "fee":"0.995"
         }
      },
      {
         "assetCode":"EUR",
         "blockchain":"Stellar",
         "network":"STELLAR",
         "relatedAssetId":"EURC:GDHU6WRG4IEQXM5NZ4BMPKOXHW76MZM4Y2IEMFDVXBSDP6SJY4ITNPP2",
         "paymentAmount":"197.3775345",
         "settlement":{
            "assetId":"USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",
            "amount":"199",
            "netAmount":"198.005",
            "fee":"0.995"
         }
      }
   ]
}

Başarılı Yanıt Özellikleri

İsim Tür Açıklama Boş olabilen değer
.id string(12) The identifier of the checkout. You should store this persistently to match payments and associated information against this checkout. false
.paymentMethods[] array Contains a list of available payment methods for this checkout and associated payment amounts for your customer.

The given payment methods and amounts should be displayed back to your customer to let him select his desired form of payment. Upon selection, your application submits a POST /checkout/commit with the selected payment method and obtains the deposit information for your customer to make payment.
false
.assetCode string The corresponding payment asset code, e.g. BTC. Inspect GET /currencies for a list of possible values. false
.blockchain string The blockchain name in plain text. false
.network string The payment network identifier as given by GET /networks. Use this identifier to select the desired payment network in the next step at POST /checkout/commit. false
.relatedAssetId string An asset id as given by GET /assets. If the related network supports more than one asset, then use this identifier to select the desired payment asset in the next step at POST /checkout/commit. false
.paymentAmount string The required payment amount to display back to your customer. false
.settlement{} object An object containing information on the settlement asset and amount guaranteed to be credited to your account when the payment completes. The quote is valid for 60 minutes. false
.assetId string The asset credited to your account when the payment completes. Contains an asset id as given by GET /assets. false
.amount string The gross amount credited to your account when the payment completes. false
.netAmount string The net amount credited to your account when the payment completes. This amount is constituted by the amount minus fee. false
.fee string The settlement fee collected by Whalestack. false

Next Step

Your application displays the payment methods received in the response back to your customer. The customer then selects his preferred payment method and your server submits the selected network identifier in a new API request to the POST /checkout/commit endpoint. In return you receive the deposit address for the selected blockchain for display to your customer. Continue here.

Hata Yanıtı application/json

{
    "errors":[
        "invalid request (and more information explaining the error in plain text)"
    ]
}

Hata Yanıt Parametreleri

İsim Tür Açıklama Boş olabilen değer
errors[] string[ ] A list of strings explaining the error. false

POST/checkout/commitkorumalı

Bu uç nokta, POST /ödeme işlemi aracılığıyla başlatılan ödeme işleminin hayati bir devamı olarak hizmet eder. Ödeme işlemini başlatma konusunda yeniyseniz, burada başlatmanızı öneririz.

Bu uç noktaya bir istekte bulunurken, POST /ödeme işlemi isteğinden elde edildiği gibi bir checkoutId ve bir network sağlamanız gerekir. Seçilen ağ birden fazla varlığı destekliyorsa, ayrıca bir asset eklemeniz gerekir (atlanırsa, ağın varsayılan varlığı kullanılır). Başarılı bir talebin ardından, ödeme sürecini kolaylaştırmak için müşterinize sunulması gereken mevduat bilgilerini alacaksınız.

Bu uç nokta çağrıldığında, Whalestack ilgili blok zinciri ağının gerçek zamanlı izlenmesini başlatır. Ödeme tamamlandığında, sunucunuz otomatik olarak WEBHOOK ödeme tamamlandı aracılığıyla bilgilendirilir. Alternatif olarak, müşterinize mevduat bilgilerini gösterdikten sonra al /ödeme işlemi kullanarak ödeme durumunu periyodik olarak kontrol edebilirsiniz.

Önceki adımda, POST /ödeme işlemi size aşağıda gösterildiği gibi mevcut ödeme yöntemlerinin bir listesini sağladı:

Örnek Yanıt (POST /checkout tarafından verildiği gibi)

{
   "id":"3296a3f29bcd",
   "paymentMethods":[
      {
         "assetCode":"SAT",
         "blockchain":"Lightning",
         "network":"LIGHTNING",
         "relatedAssetId":"BTCLN:GDPKQ2TSNJOFSEE7XSUXPWRP27H6GFGLWD7JCHNEYYWQVGFA543EVBVT",
         "paymentAmount":"735612",
         "settlement":{
            "assetId":"USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",
            "amount":"199",
            "netAmount":"198.005",
            "fee":"0.995"
         }
      },
      {
         "assetCode":"XLM",
         "blockchain":"Stellar",
         "network":"STELLAR",
         "relatedAssetId":"XLM:NATIVE",
         "paymentAmount":"1908.8467626",
         "settlement":{
            "assetId":"USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",
            "amount":"199",
            "netAmount":"198.005",
            "fee":"0.995"
         }
      },
      {
         "assetCode":"USD",
         "blockchain":"Stellar",
         "network":"STELLAR",
         "relatedAssetId":"USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",
         "paymentAmount":"199.0000000",
         "settlement":{
            "assetId":"USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",
            "amount":"199",
            "netAmount":"198.005",
            "fee":"0.995"
         }
      },
      {
         "assetCode":"EUR",
         "blockchain":"Stellar",
         "network":"STELLAR",
         "relatedAssetId":"EURC:GDHU6WRG4IEQXM5NZ4BMPKOXHW76MZM4Y2IEMFDVXBSDP6SJY4ITNPP2",
         "paymentAmount":"197.3775345",
         "settlement":{
            "assetId":"USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",
            "amount":"199",
            "netAmount":"198.005",
            "fee":"0.995"
         }
      }
   ]
}

Bu uç noktayı çağırmak için ön koşul olarak POST /ödeme işlemi uç noktasından yukarıdaki gibi bir yanıt almış olmanız gerekir. Müşterinize aralarından seçim yapması için geri göstereceğiniz bir ödeme yöntemleri listesi içerir. Seçim yapıldıktan sonra, müşterinizin ödemeyi yapması için mevduat bilgilerini almak üzere seçilen depositNetwork, relatedAssetId (gerekirse) ve checkoutId ile POST /checkout/commit'i (bu uç nokta) çağırırsınız.

Talep

curl -X POST 'https://www.whalestack.com/api/v1/checkout/commit'
     -d "@payload.json"

Burada payload.json bir JSON nesnesidir.

Örnek Veri (Bitcoin)

{
  "checkoutId":"6d55626309d6",
  "network":"BITCOIN"
}

Örnek Veri (EURC, Stellar)

{
  "checkoutId":"6d55626309d6",
  "network":"STELLAR",
  "asset":"EURC:GDHU6WRG4IEQXM5NZ4BMPKOXHW76MZM4Y2IEMFDVXBSDP6SJY4ITNPP2"
}

Örnek Veri (XLM, Stellar)

{
  "checkoutId":"6d55626309d6",
  "network":"STELLAR",
  "asset":"XLM:NATIVE"
}

İstek Parametreleri

Anahtar Tür Açıklama Varsayılan Zorunlu
checkoutId string(12) Unique identifier as given by POST /checkout. null mandatory
network string The payment network selected by your customer. As given by POST /checkout. null mandatory
asset string The payment asset selected by your customer. As given by POST /checkout. If omitted, then the network default asset is used. null optional

Örnek Başarı Yanıtı (Bitcoin) application/json

{
    "depositInstructions": {
        "assetCode":"BTC",
        "blockchain": "Bitcoin",
        "network": "BITCOIN",
        "amount": "0.0001807",
        "address": "3NBFeR5BBSt9JfL2bodpG89LSqNZrcZdseV",
        "memo": null,
        "memoType": null
    },
    "settlement": {
        "assetId": "BTC:GBSY6HJZLWBUUNJHHDLDE3AIBSQCHI6UMIMWOLZ6GUWI3NPPLP6QNGI2",
        "amount": "0.0001807",
        "netAmount": "0.0001798",
        "fee": "0.0000009"
    },
    "expirationTime": "2023-05-29T20:33:49+00:00",
    "checkoutId": "793f2c605f26"
}

Örnek Başarı Yanıtı (XLM) application/json

{
   "depositInstructions":{
      "assetCode":"XLM",
      "blockchain":"Stellar Network",
      "network":"STELLAR",
      "amount":"17.8639906",
      "address":"GASKYWPPQ2VSO6KNIPIRVXMSSDGZLYZQ67CDTLVXOXYDG26SPZ66EDCQ",
      "memo":"4c52bcad95114c52bcad9512",
      "memoType":"text"
   },
   "settlement": {
       "assetId": "USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",
       "amount": "2.3354345"
   },
   "expirationTime":"2020-02-26T18:48:58+00:00",
   "checkoutId":"d95114c52bca"
}

Ödeme için STELLAR ağı seçildiğinde müşterinize address ile birlikte memo ve memoType bilgilerini de verin. Bu, Whalestack'in ödemeyi satıcı hesabınızla eşleştirmesi için önemlidir.

Başarılı Yanıt Özellikleri

İsim Tür Açıklama Boş olabilen değer
.depositInstructions{} object The deposit information to display to your customer. false
.blockchain string The selected blockchain name as plain text. false
.assetCode string The selected payment asset code, e.g. BTC, SAT, XLM, or LTC. false
.network string The selected payment network as given by GET /networks. false
.amount string The required payment amount for the selected blockchain. Display this back to your customer. Please note that this field is of type string even though it is numeric. You might need to do some type casting here. false
.memo string This field is only relevant for payments in XLM. Otherwise it is null. If the assetCode is XLM, it is extremely important to display this back to your customer alongside the deposit address because it is needed to map the payment to your merchant account. true
.memoType string This field is only relevant for payments in XLM. Otherwise it is null. If the assetCode is XLM, it is extremely important to display this back to your customer alongside the deposit address because it is needed to map the payment to your merchant account. true
.settlement{} object An object containing information on the settlement asset and amount guaranteed to be credited to your account when the payment completes. false
.assetId string The asset credited to your account when the payment completes. Contains an asset id as given by GET /assets. false
.amount string The amount credited to your account when the payment completes. false
.expirationTime timestamp W3C formatted timestamp with the expiration time for this checkout. Whalestack allows for a 60 minutes window to complete the payment, afterwards we mark the charge as expired. Don't worry though, you will still be credited even if the payment arrives late. false
.checkoutId array The checkout id as originally given by POST /checkout. false

Sonraki Adımlar

Mevduat bilgilerini müşterinize geri gösterin. Bu arada Whalestack, yukarıdaki Uygulama Programlama Arayüzü(API) yanıtında verilen blok zinciri adresini izlemeye başlar ve bir ödeme tamamlandığında Webkancası ödeme işlemi-tamamlandı aracılığıyla sizi otomatik olarak bilgilendirir. Alternatif olarak ödeme güncellemeleri için periyodik olarak al /ödeme işlemi sorgulaması yapabilirsiniz.

Hata Yanıtı application/json

{
    "errors":[
        "invalid request (and more information explaining the error in plain text)"
    ]
}

Hata Yanıt Parametreleri

İsim Tür Açıklama Boş olabilen değer
errors[] string[ ] A list of strings explaining the error. false

POST /checkout/hosted korumalı

Bu uç nokta, Whalestack sunucularında eksiksiz olarak yönetilen bir ödeme işlemi sayfasını işaret eden benzersiz bir URL oluşturur ve sunar. Kullanıcı arayüzünü ve ödeme işlemi akışını denetlediğiniz daha kullanışlı bir yaklaşım için bunun yerine POST /checkout uç noktasını kullanın. Ödeme işlemini başlatma konusunda yeniyseniz, burada başlatmanızı öneririz.

Bu uç noktayı çağırarak, sunucunuz ödeme özelliklerini, isteğe bağlı vergi kalemlerini, müşteri verilerini ve istenen uzlaşma para birimini kapsayan parametreler sağlar. Karşılığında, sunucunuz müşterilerinize gösterilmeye hazır bir ödeme işlemi URL'si alır.

Bu URL'ye erişen müşteriler, Whalestack'in altyapısında bulunan kullanıcı dostu bir ödeme işlemi sayfasıyla karşılaşır. Bu interaktif sayfa, ödeme sürecini kolaylaştırmak için gerekli tüm bilgileri ortaya koymaktadır. İşlem tamamlandığında, sistemimiz WEBHOOK checkout-completed aracılığıyla uygulamanızı anında bilgilendirir. Proaktif olmak isteyenler için GET /checkout uç noktası, ödeme durumunu sürekli olarak izlemenizi sağlar.

Uyarlanabilirlik için tasarlanan Whalestack'in barındırılan ödeme işlemleri, hem mobil ekranlara hem de geniş masaüstü ekranlarına sorunsuz bir şekilde uyum sağlar. Marka Estetiği kullanarak görünümlerini markanızla uyumlu hale getirmek için Marka Bağlantısı kullanarak ince ayar yapın.

Her barındırılan ödeme işlemi URL'sinin farklı ve tek kullanımlık olduğunu unutmayın. Her yeni işlem için yeni bir URL oluşturduğunuzdan emin olun.

Örnek Talep

curl -X POST https://www.whalestack.com/api/v1/checkout/hosted \
     -d "@payload.json"

Burada payload.json bir JSON nesnesidir.

Örnek Yük (Minimal)

{
   "charge":{
      "billingCurrency":"EUR",
      "lineItems":[
         {
            "description":"PCI Graphics Card",
            "netAmount":169.99
         }
      ]
   },
   "settlementAsset":"USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN"
}

Yukarıdaki Yük Konfigürasyonunun Açıklaması

Yukarıda, bir ödeme işlemi başlatmak için gereken minimum yapılandırma verilmiştir. Ücret EUR cinsindendir ve 169,99 EUR maliyetinde tam olarak bir satır kalemi vardır. Müşteriniz tarafından tercih ettiği kripto para biriminde tahsil edilen ödeme tutarı, burada belirtilen toplam fatura tutarına göre hesaplanır.

Örnek Yük (Tam)

{
   "charge":{
      "customerId":"716dad4c5e5f",
      "billingCurrency":"USD",
      "lineItems":[
         {
            "description":"PCI Graphics Card",
            "netAmount":199,
            "quantity":1,
            "productId":"P1234"
         }
      ],
      "discountItems":[
         {
            "description":"Loyalty Discount",
            "netAmount":5
         }
      ],
      "shippingCostItems":[
         {
            "description":"Shipping and Handling",
            "netAmount":3.99,
            "taxable":false
         }
      ],
      "taxItems":[
         {
            "name":"Sales Tax",
            "percent":0.0825
         }
      ]
   },
   "settlementAsset":"USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",
   "checkoutLanguage":"en",
   "webhook":"https://www.your-server.com/path/to/webhook",
   "pageSettings":{
      "returnUrl":"https://www.merchant.com/path/to/complete/checkout",
      "cancelUrl":"https://www.merchant.com/path/to/cancel/checkout",
      "shopName":"The T-Shirt Store Ltd.",
      "displayBuyerInfo":true,
      "displaySellerInfo":true
   },
   "meta":{
      "customAttribute":"customValue"
   },
   "anchors":{
      "BITCOIN":"BTC:GCQVEST7KIWV3KOSNDDUJKEPZLBFWKM7DUS4TCLW2VNVPCBGTDRVTEIT",
      "LITECOIN":"LTC:GCQVEST7KIWV3KOSNDDUJKEPZLBFWKM7DUS4TCLW2VNVPCBGTDRVTEIT"
   }
}

İstek Parametreleri (POST)

Müşterileri Bağlama

Ödemeyi işlemini otomatik olarak bir müşteriye bağlamak için POST /müşteri tarafından verilen bir charge.customerId sağlayın. Ödemeleri müşterilerle ilişkilendirmek muhasebenize yardımcı olur, işlem geçmişinizde daha fazla ayrıntı sağlar ve otomatik faturalar ve ödeme durumu bildirimleri göndermenize olanak tanır.


Toplam Tutar Formülü

Toplam tutar hesaplaması aşağıdaki formül kullanılarak gerçekleştirilir.
$net = sum($lineItems) - sum($discountItems) + sum($shippingCostItems)
$taxableSum = $net - sum($shippingCostItems) + sum($taxableShippingCostItems)
$total = $net + ($taxableSum * sum($taxItems))

Anahtar Tür Açıklama Varsayılan Zorunlu
charge{} object This is the core information needed to create a checkout. It provides a charge object, which describes what products or services you want to bill, optional shipping and handling costs, discounts and tax information. It also links this checkout to a customer. null mandatory
.customerId string(12) Specifies the customer to which this charge relates to. Use the identifier as given by POST /customer. This links the charge to your customer, which helps with your accounting, provides more details in your transaction history and enables invoicing and status update emails to your customer. null optional
.billingCurrency string A currency code as given by GET /currencies. This is the customer facing billing currency quoted on the payment page in hosted checkouts and on invoices. Blockchain payment amounts are calculated against the billing currency and total amount specified in the charge. This is not the payment currency. Your customers will get to choose their preferred blockchain to make payment in their available asset regardless of the currency you specify here. null mandatory
.lineItems{} object An object providing payment amounts and details about the charged products or services. null mandatory
.description string The product or service description as plain text (Unicode). Maximum of 200 characters. null mandatory
.netAmount numeric The net cost for this item in the currency provided in charge.currency. null mandatory
.quantity numeric The quantity of this item. If you provide a quantity n then the resulting total amount charged will be n * netAmount 1 optional
.productId string An optional product id to link this item with a corresponding relation in your own database. Maximum of 20 characters. null optional
.discountItems{} object An optional object listing any potential discounts related to this payment request. null optional
.description string The discount description as plain text (Unicode). Maximum of 200 characters. null mandatory
.netAmount numeric The net amount for this discount in the currency provided in charge.currency. null mandatory
.shippingCostItems{} object An optional object listing any potential shipping and handling costs related to this payment request. null optional
.description string The shipping or handling cost description as plain text (Unicode), e.g. "Shipping Costs". Maximum of 200 characters. null mandatory
.netAmount numeric The net amount of this shipping cost in the currency provided in charge.currency. null mandatory
.taxable boolean Indicates whether this shipping cost is taxable. If set to true then tax calculation includes this item. false optional
.taxItems{} object An optional object listing any potential taxes related to this payment request. null optional
.name string The applied tax or tax identifier, e.g. "SALES TAX". null mandatory
.percent numeric The percentage of the applied tax in decimal notation, e.g. 0.0825 to represent a tax rate of 8.25% null mandatory
.settlementAsset string An asset id as given by GET /assets. Specifies the asset you will be credited in when the checkout completes. Set to ORIGIN to get credited in the asset your customer pays in without any type of currency conversion. ORIGIN optional
.checkoutLanguage string A language code as given by GET /languages. Use auto to automatically detect the customer's main browser language. Fallback language code is en.

Supported values are: auto en de pt es it tr pl fr
auto optional
.webhook string A webhook URL on your server that listens for related checkout events as specified in webhook concepts. null optional
.anchors{} object An advanced setting to declare preferred Stellar SEP-0006 anchors to use during the checkout process. An object containing key value pairs, with the key being a network id as given by GET /networks and the value being an anchored asset id as given by GET /assets. null optional
.pageSettings{} object An object containing display settings for the customer facing hosted checkout page. Values provided here override your global account settings (if any). null optional
.returnUrl string Specifies the url to which to redirect the customer when the payment completes successfully.

Do not rely on this url to capture completed payments. Always confirm payment status with a call to GET /checkout or implement webhooks for reliable payment notifications in your application.

The checkout id, as given in above response, is automatically appended as GET parameter checkoutId to facilitate mapping in your application. You can specify arbitrary additional GET parameters.
null optional
.cancelUrl string Specifies the url to which to redirect the customer when he cancels the checkout process.

This is typically the checkout page in your web application or a shopping cart view.

The checkout id, as given in above response, is automatically appended as GET parameter checkoutId to facilitate mapping in your application. You can specify arbitrary additional GET parameters.
null optional
.shopName string Your shop or company name, which is displayed in large, bold letters on top of customer facing hosted checkout pages. If no shop name is provided, your account default is used. null optional
.displayBuyerInfo boolean Configures whether to display the customer's billing address on customer facing hosted checkout pages. This field is only relevant if the checkout is associated with a customer. If this field is not provided, your account default is used. null optional
.displaySellerInfo boolean Configures whether you want to display your own mail address on customer facing hosted checkout pages. If this field is not provided, your account default is used. null optional
.meta object A custom object containing arbitrary information that you would like to associate with this checkout, if any. This object is included in associated webhook payloads and API responses whenever this checkout is referenced. true optional

Başarılı Yanıt application/json

{
   "id":"b5bcf27e5482",
   "url":"https://www.whalestack.com/en/checkout?id=b5bcf27e5482",
   "oracle":[
      {
         "assetCode":"BTC",
         "blockchain":"Bitcoin",
         "network":"BITCOIN",
         "relatedAssetId":"BTC:GBSY6HJZLWBUUNJHHDLDE3AIBSQCHI6UMIMWOLZ6GUWI3NPPLP6QNGI2",
         "paymentAmount":"0.0001807",
         "settlement":{
            "assetId":"BTC:GBSY6HJZLWBUUNJHHDLDE3AIBSQCHI6UMIMWOLZ6GUWI3NPPLP6QNGI2",
            "amount":"0.0001807",
            "netAmount":"0.0001798",
            "fee":"0.0000009"
         }
      },
      {
         "assetCode":"SAT",
         "blockchain":"Lightning",
         "network":"LIGHTNING",
         "relatedAssetId":"BTCLN:GDPKQ2TSNJOFSEE7XSUXPWRP27H6GFGLWD7JCHNEYYWQVGFA543EVBVT",
         "paymentAmount":"18074",
         "settlement":{
            "assetId":"BTCLN:GDPKQ2TSNJOFSEE7XSUXPWRP27H6GFGLWD7JCHNEYYWQVGFA543EVBVT",
            "amount":"18073.3779143",
            "netAmount":"17983.0110247",
            "fee":"90.3668896"
         }
      },
      {
         "assetCode":"LTC",
         "blockchain":"Litecoin",
         "network":"LITECOIN",
         "relatedAssetId":"LTC:GBSY6HJZLWBUUNJHHDLDE3AIBSQCHI6UMIMWOLZ6GUWI3NPPLP6QNGI2",
         "paymentAmount":"0.0548930",
         "settlement":{
            "assetId":"LTC:GBSY6HJZLWBUUNJHHDLDE3AIBSQCHI6UMIMWOLZ6GUWI3NPPLP6QNGI2",
            "amount":"0.054893",
            "netAmount":"0.0546185",
            "fee":"0.0002745"
         }
      },
      {
         "assetCode":"XLM",
         "blockchain":"Stellar",
         "network":"STELLAR",
         "relatedAssetId":"XLM:NATIVE",
         "paymentAmount":"56.0444605",
         "settlement":{
            "assetId":"XLM:NATIVE",
            "amount":"56.0444605",
            "netAmount":"55.7642382",
            "fee":"0.2802223"
         }
      }
   ]
}

Başarılı Yanıt Özellikleri

İsim Tür Açıklama Boş olabilen değer
.id string(12) The identifier of the hosted checkout. You should store this persistently to match payments against this checkout. false
.url string(12) The hosted checkout URL, which you display back to your customer to initiate payment. Upon visiting this URL your client is presented with a checkout interface where he completes the payment. When completed, your application is automatically notified via WEBHOOK checkout-completed. Alternatively you can poll GET /checkout using the id given in the above response to query information about the payment state. Returns branded URL if Brand Connect is enabled. false
.oracle[] array Contains a list of available payment methods for this checkout alongside indicative payment amounts and corresponding indicative settlement amounts. The given amounts are an estimation and and based on the current liquidity and market making situation on Whalestack's decentralized exchange provider. The payment amounts can deviate by the time the buyer initiates payment on the checkout page.

We recommend to apply your own sanity checks on the amounts given in this object and only display the checkout URL to the end user if you are satisfied with the quoted settlement and payment amount estimations.
false
.assetCode string The asset code of the payment currency, e.g. BTC. false
.blockchain string The payment blockchain name in plain text. false
.network string The payment network identifier as given by GET /networks. false
.relatedAssetId string An asset id as given by GET /assets. This asset identifies the Stellar SEP-6 anchor used for capturing the payment, if applicable. false
.paymentAmount string The required payment amount currently needed to fill your settlement amount. This amount can deviate on the customer facing payment page. false
.settlement{} object An object containing information on the settlement asset and amount to be credited to your account when the payment completes. false
.assetId string The asset credited to your account when the payment completes. Contains an asset id as given by GET /assets. false
.amount string The gross amount credited to your account when the payment completes. This amount can deviate upon completion of payment unless your billing and settlement currencies are equal. false
.netAmount string The net amount credited to your account when the payment completes. This amount is constituted by the amount minus fee. This amount can deviate upon completion of payment unless your billing and settlement currencies are equal. false
.fee string The settlement fee collected by Whalestack. false

Hata Yanıtı application/json

{
    "errors":[
        "invalid request (and more information explaining the error in plain text)"
    ]
}

Hata Yanıt Parametreleri

İsim Tür Açıklama Boş olabilen değer
errors[] string[ ] A list of strings explaining the error. false

GET/checkoutkorumalı

Belirli bir ödeme işlemi hakkında bilgi alır.

Bu uç noktanın yanıtı, bu ödeme işlemi ile ilişkilendirilen blok zinciri ödemeleri hakkında bilgileri, genel tamamlanma durumunu ve ek içerik bilgilerini içerir.

Bu uç nokta, belirtilen ödeme işlemi ile ilişkilendirilen ödeme olaylarını sorgulamak için uygundur. Daha verimli bir alternatif, sunucunuzda Web Kancası ödeme işlemi-tamamlandı kullanarak ödeme olaylarını dinlemektir.

Talep

curl 'https://www.whalestack.com/api/v1/checkout?id=xxx'

İstek Parametreleri

Anahtar Tür Açıklama Varsayılan Zorunlu
id string(12) Unique identifier as given by POST /checkout or POST /checkout/hosted. null mandatory

Başarılı Yanıt application/json

{
   "checkout":{
      "id":"a2d963a87d70",
      "timestamp":"2023-05-29T17:36:30+00:00",
      "state":"COMPLETED",
      "type":"HOSTED",
      "origin":"API",
      "settlementAssetId":"USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",
      "settlementAmountRequired":"117.8379738",
      "settlementAmountReceived":"117.8379738",
      "settlementAmountFeePaid":"0.0000000",
      "sourceAssetId":"BTC:GCQVEST7KIWV3KOSNDDUJKEPZLBFWKM7DUS4TCLW2VNVPCBGTDRVTEIT",
      "sourceAmountRequired":"0.0043193",
      "sourceAmountReceived":"0.0043193",
      "sourceNetwork":"BITCOIN",
      "sourceNetworkName":"Bitcoin",
      "depositAddress":"3Qg8rR28fPZXMiEbM2QB9RjQfM1MjuN9f8",
      "blockchainTransactions":[
         {
            "type":"CHECKOUT_ORIGIN",
            "typeDescription":"Blockchain payment transaction initiated by customer.",
            "network":"BITCOIN",
            "networkName":"Bitcoin",
            "timestamp":"2023-05-29T17:55:52+00:00",
            "tx":"27a3e9425ef73e80a2c2d97886a0e1f88662df9358150f773f39cfef7cb39621",
            "amount":"0.0043193",
            "amountAssetCode":"BTC",
            "exception":null
         },
         {
            "type":"CHECKOUT_BRIDGE",
            "typeDescription":"Fund transfer from native blockchain to Stellar Network.",
            "network":"STELLAR",
            "networkName":"Stellar",
            "timestamp":"2023-05-29T17:56:03+00:00",
            "tx":"f016f835249302f90b82237a9b9782bde09e912d924d6a27ee858e011db14825",
            "amount":"0.0043193",
            "amountAssetCode":"BTC",
            "exception":null
         },
         {
            "type":"CHECKOUT_SETTLEMENT",
            "typeDescription":"Stellar transaction crediting your Whalestack merchant account.",
            "network":"STELLAR",
            "networkName":"Stellar",
            "timestamp":"2023-05-29T17:56:03+00:00",
            "tx":"9e912d924d6a27ee858e011db14825f016f835249302f90b82237a9b9782bde0",
            "amount":"117.8379738",
            "amountAssetCode":"USDC",
            "exception":null
         }
      ],
      "payload":{
         "charge":{
            "customerId":"bb657e88a23d",
            "currency":"EUR",
            "lineItems":[
               {
                  "description":"Mobile Data Prepaid Credits",
                  "netAmount":"110.00000"
               }
            ],
            "shippingCostItems":[
               {
                  "description":"Instant Delivery",
                  "netAmount":0
               }
            ],
            "taxItems":[
               {
                  "name":"Hong Kong Sales Tax",
                  "percent":0
               }
            ]
         },
         "settlementAsset":"USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",
         "webhook":"https://www.my-server.com/api/?action=cq-webhook",
         "links":{
            "cancelUrl":"https://www.my-server.com/en/payments",
            "returnUrl":"https://www.my-server.com/en/invoice/57abff04a03d"
         }
      },
      "hostedCheckoutUrl":"https://www.whalestack.com/en/checkout/a2d963a87d70"
   }
}

Başarılı Yanıt Özellikleri

İsim Tür Açıklama Boş olabilen değer
.checkout{} array The checkout object. false
.id string(12) Unique identifier of the checkout. false
.timestamp timestamp W3C formatted time stamp with time zone (UTC) specifying when the checkout was created. false
.state string Indicates the current payment state associated with this checkout. A state of COMPLETED indicates this checkout has completed and the funds were credited to your account.

Possible payment states:

PENDING_CHARGE, NEW_CHARGE, IN_PROGRESS, COMPLETED, EXPIRED, UNRESOLVED_GENERIC, UNRESOLVED_UNDERPAID, REFUNDED, RESOLVED_REFUNDED, RESOLVED_OTHER.
false
.type string Indicates whether this is a hosted (HOSTED) or self-hosted (SELF-HOSTED) checkout. false
.origin string Indicates whether this checkout was originally created via UI or API. false
.settlementAssetId string The settlement asset used for this checkout. Indicates the asset as given by GET /assets that you are credited in when the checkout is complete. false
.settlementAmountRequired string Indicates the total gross amount credited to your account when the checkout is complete. This field is null if the checkout state is PENDING_CHARGE and the customer did not select a payment method yet. true
.settlementAmountReceived string The net amount credited to your account. These funds are instantly available for transfer. false
.settlementAmountFeePaid string The processing fee collected by Whalestack. false
.sourceAssetId string The Stellar representation of the source asset as given by GET /assets. Indicates the payment asset selected by your customer. This field is null if the checkout state is PENDING_CHARGE and the customer did not select a payment method yet. true
.sourceAmountRequired string Indicates the total amount payable by the customer to complete this checkout. This field is null if the checkout state is PENDING_CHARGE and the customer did not select a payment method yet. true
.sourceAmountReceived string The total amount paid by the customer so far. This field is null if the checkout state is PENDING_CHARGE and the customer did not select a payment method yet. true
.sourceNetwork string A payment network id as given by (GET /networks). Indicates the payment network selected by the customer in English plain text. This field is null if the checkout state is PENDING_CHARGE and the customer did not select a payment method yet. true
.sourceNetworkName string The selected network name in English plain text. true
.depositAddress string The deposit address associated with this checkout. This field is null for checkouts in PENDING_CHARGE state. For checkouts on Stellar this field combines the memo, memo type, and account in the following format:
{memo}:{memoType}@{stellarAccount}
true
.blockchainTransactions[] array A list of blockchain transactions associated with this checkout. false
.type string The type of blockchain transaction. Can be CHECKOUT_ORIGIN (blockchain payment transaction initiated by the sender, CHECKOUT_BRIDGE (fund transfer from native blockchain to Stellar Network), or CHECKOUT_SETTLEMENT (Stellar transaction crediting your Whalestack account). false
.typeDescription string An explanation of the above blockchain transaction type in English plain text. false
.network string The network id as given by GET /networks. Indicates where this transaction was executed. false
.networkName string The network name in English plain text. false
.timestamp string The timestamp at which this transaction was registered on Whalestack. false
.tx string The corresponding blockchain transaction id. false
.amount string The amount transferred during in this transaction. false
.amountAssetCode string The asset code of the amount transferred in this transaction. false
.exception string An exception identifier that is set when a processing error or other exception occurred when handling this transaction. This is field is typically null.

Possible exceptions:

EXCHANGE_FAILED, CHECKOUT_ALREADY_COMPLETED, GENERIC.
true
.payload{} object The checkout payload as originally submitted by you to POST /checkout or POST /checkout/hosted. false

Hata Yanıtı application/json

{
    "errors":[
        "invalid request (and more information explaining the error in plain text)"
    ]
}

Hata Yanıt Parametreleri

İsim Tür Açıklama Boş olabilen değer
errors[] string[ ] A list of strings explaining the error. false

GET/checkoutskorumalı

Mevduat öğelerinin bir listesini alır (en yeniden en eskiye doğru azalan sırada).

Talep

curl 'https://www.whalestack.com/api/v1/checkouts?limit=250&offset=0'

İstek Parametreleri

Anahtar Tür Açıklama Varsayılan Zorunlu
limit integer Maximum number of checkout objects to be retrieved. 250 optional
offset integer Specifies the pagination offset. 0 optional

Başarılı Yanıt application/json

{
   "count":67,
   "limit":1,
   "offset":0,
   "checkouts":[
      {
         "id":"a2d963a87d70",
         "timestamp":"2023-05-29T17:36:30+00:00",
         "state":"COMPLETED",
         "type":"HOSTED",
         "origin":"API",
         "settlementAssetId":"USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",
         "settlementAmountRequired":"117.8379738",
         "settlementAmountReceived":"117.8379738",
         "settlementAmountFeePaid":"0.0000000",
         "sourceAssetId":"BTC:GCQVEST7KIWV3KOSNDDUJKEPZLBFWKM7DUS4TCLW2VNVPCBGTDRVTEIT",
         "sourceAmountRequired":"0.0043193",
         "sourceAmountReceived":"0.0043193",
         "sourceNetwork":"BITCOIN",
         "sourceNetworkName":"Bitcoin",
         "depositAddress":"3Qg8rR28fPZXMiEbM2QB9RjQfM1MjuN9f8",
         "blockchainTransactions":[
            {
               "type":"CHECKOUT_ORIGIN",
               "typeDescription":"Blockchain payment transaction initiated by customer.",
               "network":"BITCOIN",
               "networkName":"Bitcoin",
               "timestamp":"2023-05-29T17:55:52+00:00",
               "tx":"27a3e9425ef73e80a2c2d97886a0e1f88662df9358150f773f39cfef7cb39621",
               "amount":"0.0043193",
               "amountAssetCode":"BTC",
               "exception":null
            },
            {
               "type":"CHECKOUT_BRIDGE",
               "typeDescription":"Fund transfer from native blockchain to Stellar Network.",
               "network":"STELLAR",
               "networkName":"Stellar",
               "timestamp":"2023-05-29T17:56:03+00:00",
               "tx":"f016f835249302f90b82237a9b9782bde09e912d924d6a27ee858e011db14825",
               "amount":"0.0043193",
               "amountAssetCode":"BTC",
               "exception":null
            },
            {
               "type":"CHECKOUT_SETTLEMENT",
               "typeDescription":"Stellar transaction crediting your Whalestack merchant account.",
               "network":"STELLAR",
               "networkName":"Stellar",
               "timestamp":"2023-05-29T17:56:03+00:00",
               "tx":"9e912d924d6a27ee858e011db14825f016f835249302f90b82237a9b9782bde0",
               "amount":"117.8379738",
               "amountAssetCode":"USDC",
               "exception":null
            }
         ],
         "payload":{
            "charge":{
               "customerId":"bb657e88a23d",
               "currency":"EUR",
               "lineItems":[
                  {
                     "description":"Mobile Data Prepaid Credits",
                     "netAmount":"110.00000"
                  }
               ],
               "shippingCostItems":[
                  {
                     "description":"Instant Delivery",
                     "netAmount":0
                  }
               ],
               "taxItems":[
                  {
                     "name":"Hong Kong Sales Tax",
                     "percent":0
                  }
               ]
            },
            "settlementAsset":"USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",
            "webhook":"https://www.my-server.com/api/?action=cq-webhook",
            "links":{
               "cancelUrl":"https://www.my-server.com/en/payments",
               "returnUrl":"https://www.my-server.com/en/invoice/57abff04a03d"
            }
         },
         "hostedCheckoutUrl":"https://www.whalestack.com/en/checkout/a2d963a87d70"
      }
   ]
}

Başarılı Yanıt Özellikleri

İsim Tür Açıklama Boş olabilen değer
.count integer The total number of checkout URLs in existence for this account. false
.limit integer The limit argument used in this request. false
.offset integer The pagination offset used in this request. false
.checkouts[] array A list of checkout objects. false
.id string(12) Unique identifier of the checkout. false
.timestamp timestamp W3C formatted time stamp with time zone (UTC) specifying when the checkout was created. false
.state string Indicates the current payment state associated with this checkout. A state of COMPLETED indicates this checkout has completed and the funds were credited to your account.

Possible payment states:

PENDING_CHARGE, NEW_CHARGE, IN_PROGRESS, COMPLETED, EXPIRED, UNRESOLVED_GENERIC, UNRESOLVED_UNDERPAID, REFUNDED, RESOLVED_REFUNDED, RESOLVED_OTHER.
false
.type string Indicates whether this is a hosted (HOSTED) or self-hosted (SELF-HOSTED) checkout. false
.origin string Indicates whether this checkout was originally created via UI or API. false
.settlementAssetId string The settlement asset used for this checkout. Indicates the asset as given by GET /assets that you are credited in when the checkout is complete. false
.settlementAmountRequired string Indicates the total gross amount credited to your account when the checkout is complete. This field is null if the checkout state is PENDING_CHARGE and the customer did not select a payment method yet. true
.settlementAmountReceived string The net amount credited to your account. These funds are instantly available for transfer. false
.settlementAmountFeePaid string The processing fee collected by Whalestack. false
.sourceAssetId string The Stellar representation of the source asset as given by GET /assets. Indicates the payment asset selected by your customer. This field is null if the checkout state is PENDING_CHARGE and the customer did not select a payment method yet. true
.sourceAmountRequired string Indicates the total amount payable by the customer to complete this checkout. This field is null if the checkout state is PENDING_CHARGE and the customer did not select a payment method yet. true
.sourceAmountReceived string The total amount paid by the customer so far. This field is null if the checkout state is PENDING_CHARGE and the customer did not select a payment method yet. true
.sourceNetwork string A payment network id as given by (GET /networks). Indicates the payment network selected by the customer in English plain text. This field is null if the checkout state is PENDING_CHARGE and the customer did not select a payment method yet. true
.sourceNetworkName string The selected network name in English plain text. true
.depositAddress string The deposit address associated with this checkout. This field is null for checkouts in PENDING_CHARGE state. For checkouts on Stellar this field combines the memo, memo type, and account in the following format:
{memo}:{memoType}@{stellarAccount}
true
.blockchainTransactions[] array A list of blockchain transactions associated with this checkout. false
.type string The type of blockchain transaction. Can be CHECKOUT_ORIGIN (blockchain payment transaction initiated by the sender, CHECKOUT_BRIDGE (fund transfer from native blockchain to Stellar Network), or CHECKOUT_SETTLEMENT (Stellar transaction crediting your Whalestack account). false
.typeDescription string An explanation of the above blockchain transaction type in English plain text. false
.network string The network id as given by GET /networks. Indicates where this transaction was executed. false
.networkName string The network name in English plain text. false
.timestamp string The timestamp at which this transaction was registered on Whalestack. false
.tx string The corresponding blockchain transaction id. false
.amount string The amount transferred during in this transaction. false
.amountAssetCode string The asset code of the amount transferred in this transaction. false
.exception string An exception identifier that is set when a processing error or other exception occurred when handling this transaction. This is field is typically null.

Possible exceptions:

EXCHANGE_FAILED, CHECKOUT_ALREADY_COMPLETED, GENERIC.
true
.payload{} object The checkout payload as originally submitted by you to POST /checkout or POST /checkout/hosted. false

Hata Yanıtı application/json

{
    "errors":[
        "invalid request (and more information explaining the error in plain text)"
    ]
}

Hata Yanıt Parametreleri

İsim Tür Açıklama Boş olabilen değer
errors[] string[ ] A list of strings explaining the error. false

GET/walletskorumalı

İlişkili varlık, bakiye, kullanılabilir ağlar ve para yatırma adresleri (varsa) hakkında bilgi içeren cüzdan öğelerinin bir listesini döndürür.

Talep

curl 'https://www.whalestack.com/api/v1/wallets'

Başarılı Yanıt application/json

{
   "wallet":{
      "asset":"USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",
      "balance":"0.7343414",
      "currencyCode":"USD",
      "networks":[
         {
            "network":"STELLAR",
            "depositAddress":{
               "fields":{
                  "asset":"USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",
                  "account":"GBDHWMSXQ24FA2LJTPUH3HNK3WR7BJW3DUUBLMSNSJ7ST4XZK7WJHPCQ",
                  "memo":"sd376139586edb",
                  "memoType":"text"
               },
               "fieldConfig":[
                  {
                     "key":"asset",
                     "label":"Stellar Asset",
                     "description":"The deposit asset identifier on the Stellar network. Consists of asset code and Stellar account."
                  },
                  {
                     "key":"account",
                     "label":"Stellar Account",
                     "description":"The deposit account on the Stellar network. Starting with G."
                  },
                  {
                     "key":"memo",
                     "label":"Memo",
                     "description":"The mandatory memo to be included in the transaction. Do not omit this or your deposit will be delayed."
                  },
                  {
                     "key":"memoType",
                     "label":"Memo Type",
                     "description":"The mandatory memo type to be included in the transaction."
                  }
               ],
               "minAmount":"0.0000001",
               "maxAmount":"1000000"
            }
         },
         {
            "network":"SWIFT",
            "depositAddress":{
               "fields":{
                  "reference":"EUR-BD-USDC-376139586eda",
                  "beneficiary":"Whalestack Sp. z o.o.",
                  "account":"LT293550020000022181",
                  "swiftCode":"UAPELT22XXX",
                  "bankName":"UAB Pervesk",
                  "bankAddress":"Gedimino pr. 5-3, LT-01103 Vilnius, Lithuania",
                  "correspondentBankSwift":"INCOCHZZXXX",
                  "correspondentBankName":"INCORE BANK AG",
                  "correspondentBankAddress":"Wiesenstrasse 17, Schlieren, Switzerland"
               },
               "fieldConfig":[
                  {
                     "key":"reference",
                     "label":"Payment Reference",
                     "description":"Add this reference to your SWIFT deposit. It is needed to map the deposit to your merchant account. Do not omit this or your deposit will be delayed."
                  },
                  {
                     "key":"beneficiary",
                     "label":"Beneficiary",
                     "description":"The beneficiary account name."
                  },
                  {
                     "key":"account",
                     "label":"Bank Account Number",
                     "description":"The bank account number."
                  },
                  {
                     "key":"swiftCode",
                     "label":"SWIFT\/BIC",
                     "description":"The 8-11 character SWIFT or BIC code identifying your bank or financial institution."
                  },
                  {
                     "key":"bankName",
                     "label":"Bank Name",
                     "description":"The beneficiary bank name."
                  },
                  {
                     "key":"bankAddress",
                     "label":"Bank Address",
                     "description":"The beneficiary bank address."
                  },
                  {
                     "key":"correspondentBankSwift",
                     "label":"Correspondent Bank SWIFT\/BIC",
                     "description":"Provide this SWIFT\/BIC code if your bank asks you for an intermediary or correspondent bank."
                  },
                  {
                     "key":"correspondentBankName",
                     "label":"Correspondent Bank Name",
                     "description":"The correspondent bank name. Provide this if your bank asks you for an intermediary or correspondent bank."
                  },
                  {
                     "key":"correspondentBankAddress",
                     "label":"Correspondent Bank Address",
                     "description":"The correspondent bank address."
                  }
               ],
               "minAmount":"250",
               "maxAmount":"1000000"
            }
         },
         {
            "network":"SEPA",
            "depositAddress":{
               "fields":{
                  "reference":"EUR-BD-USDC-376139586eda",
                  "beneficiary":"Whalestack Sp. z o.o.",
                  "iban":"LT293550020000022181",
                  "swiftCode":"UAPELT22XXX",
                  "bankName":"UAB Pervesk",
                  "bankAddress":"Gedimino pr. 5-3, LT-01103 Vilnius, Lithuania"
               },
               "fieldConfig":[
                  {
                     "key":"reference",
                     "label":"Payment Reference",
                     "description":"Add this reference to your SEPA deposit. It is needed to map the deposit to your merchant account. Do not omit this or your deposit will be delayed."
                  },
                  {
                     "key":"beneficiary",
                     "label":"Beneficiary",
                     "description":"The beneficiary account name."
                  },
                  {
                     "key":"iban",
                     "label":"IBAN",
                     "description":"The international bank account number (IBAN)."
                  },
                  {
                     "key":"swiftCode",
                     "label":"SWIFT\/BIC",
                     "description":"The 8-11 character SWIFT or BIC code identifying your bank or financial institution."
                  },
                  {
                     "key":"bankName",
                     "label":"Bank Name",
                     "description":"The beneficiary bank name."
                  },
                  {
                     "key":"bankAddress",
                     "label":"Bank Address",
                     "description":"The beneficiary bank address."
                  }
               ],
               "minAmount":"100",
               "maxAmount":"1000000"
            }
         }
      ]
   }
}

Başarılı Yanıt Özellikleri

İsim Tür Açıklama Boş olabilen değer
.wallets[] array A list objects, representing the wallets in your account. false
.asset string The asset identifier as given by GET /assets. false
.balance string The asset balance in your wallet. false
.currencyCode string The asset's normalized currency code as given by GET /currencies. false
.networks[] array A list of networks with your wallet deposit addresses. Network identifiers as given by GET /networks. This list also indicates to which networks the asset can be transferred to. false
.network string A network identifier as given by GET /networks. false
.depositAddress{} object An object containing the deposit address to which the payment was made. Consists of fields, fieldConfig, minAmount, and maxAmount as documented in POST /deposit-address. true

Hata Yanıtı application/json

{
    "errors":[
        "invalid request (and more information explaining the error in plain text)"
    ]
}

Hata Yanıt Parametreleri

İsim Tür Açıklama Boş olabilen değer
errors[] string[ ] A list of strings explaining the error. false

GET/walletkorumalı

İlgili varlık, bakiye, kullanılabilir ağlar ve mevduat adresleri (varsa) hakkında bilgi içeren bir cüzdan öğesini döndürür.

Talep

curl 'https://www.whalestack.com/api/v1/wallet?asset=XXX'

İstek Parametreleri

Anahtar Tür Açıklama Varsayılan Zorunlu
asset string An asset identifier as given by GET /assets or GET /wallets. - mandatory

Başarılı Yanıt application/json

{
   "wallet":{
      "asset":"BTC:GCQVEST7KIWV3KOSNDDUJKEPZLBFWKM7DUS4TCLW2VNVPCBGTDRVTEIT",
      "balance":"7.1403584",
      "currencyCode":"BTC",
      "networks":[
         {
            "network":"BITCOIN",
            "depositAddress":{
               "fields":{
                  "address":"3QdzvaD2pfKEkqguxAfXW274TUJMtiXqG5"
               },
               "fieldConfig":[
                  {
                     "key":"address",
                     "label":"Bitcoin Address",
                     "description":"The Bitcoin address. Can be in any format, i.e. native SegWit (bech32), SegWit (P2SH), or legacy (P2PKH)."
                  }
               ],
               "minAmount":"0.0000100",
               "maxAmount":"100.0000000"
            }
         },
         {
            "network":"STELLAR",
            "depositAddress":{
               "fields":{
                  "asset":"BTC:GCQVEST7KIWV3KOSNDDUJKEPZLBFWKM7DUS4TCLW2VNVPCBGTDRVTEIT",
                  "account":"GBDHWMSXQ24FA2LJTPUH3HNK3WR7BJW3DUUBLMSNSJ7ST4XZK7WJHPCQ",
                  "memo":"sd376139586edb",
                  "memoType":"text"
               },
               "fieldConfig":[
                  {
                     "key":"asset",
                     "label":"Stellar Asset",
                     "description":"The deposit asset identifier on the Stellar network. Consists of asset code and Stellar account."
                  },
                  {
                     "key":"account",
                     "label":"Stellar Account",
                     "description":"The deposit account on the Stellar network. Starting with G."
                  },
                  {
                     "key":"memo",
                     "label":"Memo",
                     "description":"The mandatory memo to be included in the transaction. Do not omit this or your deposit will be delayed."
                  },
                  {
                     "key":"memoType",
                     "label":"Memo Type",
                     "description":"The mandatory memo type to be included in the transaction."
                  }
               ],
               "minAmount":"0.0000001",
               "maxAmount":"1000000"
            }
         }
      ]
   }
}

Başarılı Yanıt Özellikleri

İsim Tür Açıklama Boş olabilen değer
.wallet{} array An object containing information about the wallet. false
.asset string The asset identifier as given by GET /assets. false
.balance string The asset balance in your wallet. false
.currencyCode string The asset's normalized currency code as given by GET /currencies. false
.networks[] array A list of networks with your wallet deposit addresses. Network identifiers as given by GET /networks. This list also indicates to which networks the asset can be transferred to. false
.network string A network identifier as given by GET /networks. false
.depositAddress{} object An object containing the deposit address to which the payment was made. Consists of fields, fieldConfig, minAmount, and maxAmount as documented in POST /deposit-address. true

Hata Yanıtı application/json

{
    "errors":[
        "invalid request (and more information explaining the error in plain text)"
    ]
}

Hata Yanıt Parametreleri

İsim Tür Açıklama Boş olabilen değer
errors[] string[ ] A list of strings explaining the error. false

POST/deposit-addresskorumalı

Belirli bir ağ ve varlık için blok zinciri veya banka mevduat adresinizi oluşturur.

Örnek Talep

curl -X POST https://www.whalestack.com/api/v1/deposit \
     -d "@payload.json"

Burada payload.json bir JSON nesnesidir.

Örnek Veri Yükleri

Yük, para yatırdığınız kaynak ağına bağlıdır. Aşağıdan seçim yapın.

{
    "network": "BITCOIN"
}
{
    "network": "LIGHTNING",
    "amount": "5000"
}
{
    "network": "LITECOIN"
}
{
    "network": "STELLAR",
    "asset": "USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN"
}
{
    "network": "SWIFT",
    "asset": "USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN"
}
{
    "network": "SEPA",
    "asset": "USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN"
}

İstek Parametreleri (POST)

Yük, para yatırdığınız kaynak ağına bağlıdır. Aşağıdan seçim yapın.

Anahtar Tür Açıklama Boş olabilen değer Zorunlu
.network string GET /networks tarafından verilen bir hedef ağ tanımlayıcısı, yani BITCOIN false mandatory
.webhook string URL on your server listening for deposits via WEBHOOK deposit-completed. Overwrites previously submitted URLs and overrides webhook URL API Settings in the UI (if any). false optional
Anahtar Tür Açıklama Boş olabilen değer Zorunlu
.network string GET /networks tarafından verilen bir hedef ağ tanımlayıcısı, yani LIGHTNING false mandatory
.amount string SAT cinsinden fatura tutarı. false mandatory
.webhook string URL on your server listening for deposits via WEBHOOK deposit-completed. Overwrites previously submitted URLs and overrides webhook URL API Settings in the UI (if any). false optional
Anahtar Tür Açıklama Boş olabilen değer Zorunlu
.network string GET /networks tarafından verilen bir hedef ağ tanımlayıcısı, yani LITECOIN false mandatory
.webhook string URL on your server listening for deposits via WEBHOOK deposit-completed. Overwrites previously submitted URLs and overrides webhook URL API Settings in the UI (if any). false optional
Anahtar Tür Açıklama Boş olabilen değer Zorunlu
.network string GET /networks tarafından verilen bir hedef ağ tanımlayıcısı, yani STELLAR false mandatory
.asset string Stellar ağındaki mevduat varlık tanımlayıcısı. Varlık kodu ve düzenleyiciden oluşur. false mandatory
.webhook string URL on your server listening for deposits via WEBHOOK deposit-completed. Overwrites previously submitted URLs and overrides webhook URL API Settings in the UI (if any). false optional
Anahtar Tür Açıklama Boş olabilen değer Zorunlu
.network string GET /networks tarafından verilen bir hedef ağ tanımlayıcısı, yani SWIFT false mandatory
.asset string Para yatırma işleminiz tamamlandığında hesabınıza yatırılan varlığı belirtir. USDC veya EURC'ye referans verir. GET /assets tarafından verilen bir varlık tanımlayıcısı. false mandatory
.webhook string URL on your server listening for deposits via WEBHOOK deposit-completed. Overwrites previously submitted URLs and overrides webhook URL API Settings in the UI (if any). false optional
Anahtar Tür Açıklama Boş olabilen değer Zorunlu
.network string GET /networks tarafından verilen bir hedef ağ tanımlayıcısı, yani SEPA false mandatory
.asset string Para yatırma işleminiz tamamlandığında hesabınıza yatırılan varlığı belirtir. USDC veya EURC'ye referans verir. GET /assets tarafından verilen bir varlık tanımlayıcısı. false mandatory
.webhook string URL on your server listening for deposits via WEBHOOK deposit-completed. Overwrites previously submitted URLs and overrides webhook URL API Settings in the UI (if any). false optional

Başarılı Yanıt application/json

Yük, para yatırdığınız kaynak ağına bağlıdır. Aşağıdan seçim yapın.

{
    "depositAddress": {
        "network": "BITCOIN",
        "fields": {
            "address": "bc1qj633nx575jm28smgcp3mx6n3gh0zg6ndr0ew24"
        },
        "fieldConfig": [
            {
                "key": "address",
                "label": "Bitcoin Adres",
                "description": "Bitcoin adresi. Herhangi bir formatta olabilir, yani yerel SegWit (bech32), SegWit (P2SH) veya eski (P2PKH)."
            }
        ],
        "minAmount": "0.0000100",
        "maxAmount": "100.0000000"
    }
}

Başarılı Yanıt Özellikleri

İsim Tür Açıklama Boş olabilen değer
.depositAddress{} object An object containing deposit information. false
.network string A network identifier as given by GET /networks, e.g. BITCOIN. false
.fields object A set of fields (all strings) specifying the deposit account. false
.address string Bitcoin adresi. Herhangi bir formatta olabilir, yani yerel SegWit (bech32), SegWit (P2SH) veya eski (P2PKH). false
.fieldConfig array A list of objects describing the keys and values received in the fields attribute. false
.key string A string indicating an attribute in the fields object. false
.label string A label for the field associated with the key. false
.description string A description of the field associated with the key. false
.minAmount string The minimum deposit amount. false
.maxAmount string The maximum deposit amount. false
{
    "depositAddress": {
        "network": "LIGHTNING",
        "fields": {
            "invoice": "lnbc15u1p3xnhl2pp5jptserfk3zk4qy42tlucycrfwxhydvlemu9pqr93tuzlv9c...",
            "amount": "5000"
        },
        "fieldConfig": [
            {
                "key": "invoice",
                "label": "Lightning Fatura",
                "description": "Tutaru0131 kodlanmu0131u015f bir BOLT 11 Lightning faturasu0131"
            },
            {
                "key": "amount",
                "label": "Fatura Tutaru0131",
                "description": "SAT cinsinden fatura tutaru0131."
            }
        ],
        "minAmount": "4000.0000000",
        "maxAmount": "507059.0000000"
    }
}

Başarılı Yanıt Özellikleri

İsim Tür Açıklama Boş olabilen değer
.depositAddress{} object An object containing deposit information. false
.network string A network identifier as given by GET /networks, e.g. LIGHTNING. false
.fields object A set of fields (all strings) specifying the deposit account. false
.invoice string Tutarı kodlanmış bir BOLT 11 Lightning faturası false
.amount string SAT cinsinden fatura tutarı. false
.fieldConfig array A list of objects describing the keys and values received in the fields attribute. false
.key string A string indicating an attribute in the fields object. false
.label string A label for the field associated with the key. false
.description string A description of the field associated with the key. false
.minAmount string The minimum deposit amount. false
.maxAmount string The maximum deposit amount. false
{
    "depositAddress": {
        "network": "LITECOIN",
        "fields": {
            "address": "LgVQ2XamTCjBa3tnUpWQ1H4hgzMddWCPdf"
        },
        "fieldConfig": [
            {
                "key": "address",
                "label": "Litecoin Adres",
                "description": "Litecoin adresi. Herhangi bir formatta olabilir, yani yerel SegWit (bech32), SegWit (P2SH) veya eski (P2PKH)."
            }
        ],
        "minAmount": "0.0000100",
        "maxAmount": "10000.0000000"
    }
}

Başarılı Yanıt Özellikleri

İsim Tür Açıklama Boş olabilen değer
.depositAddress{} object An object containing deposit information. false
.network string A network identifier as given by GET /networks, e.g. LITECOIN. false
.fields object A set of fields (all strings) specifying the deposit account. false
.address string Litecoin adresi. Herhangi bir formatta olabilir, yani yerel SegWit (bech32), SegWit (P2SH) veya eski (P2PKH). false
.fieldConfig array A list of objects describing the keys and values received in the fields attribute. false
.key string A string indicating an attribute in the fields object. false
.label string A label for the field associated with the key. false
.description string A description of the field associated with the key. false
.minAmount string The minimum deposit amount. false
.maxAmount string The maximum deposit amount. false
{
    "depositAddress": {
        "network": "STELLAR",
        "fields": {
            "asset": "USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",
            "account": "GDONUHZKLSYLDOZWR2TDW25GFXOBWCCKTPK34DLUVSOMFHLGURX6FNU7",
            "memo": "sda3195ad7ed65",
            "memoType": "text"
        },
        "fieldConfig": [
            {
                "key": "asset",
                "label": "Stellar Varlu0131k",
                "description": "Stellar au011fu0131ndaki mevduat varlu0131k tanu0131mlayu0131cu0131su0131. Varlu0131k kodu ve du00fczenleyiciden oluu015fur."
            },
            {
                "key": "account",
                "label": "Stellar Hesabu0131",
                "description": "Stellar au011fu0131ndaki para yatu0131rma hesabu0131. G ile bau015flu0131yor."
            },
            {
                "key": "memo",
                "label": "Not",
                "description": "u0130u015fleme dahil edilmesi gereken zorunlu not. Bunu atlamayu0131n, aksi takdirde para yatu0131rma iu015fleminiz gecikecektir."
            },
            {
                "key": "memoType",
                "label": "Not Tu00fcru00fc",
                "description": "u0130u015fleme dahil edilecek zorunlu memo tu00fcru00fc."
            }
        ],
        "minAmount": "0.0000001",
        "maxAmount": "1000000"
    }
}

Başarılı Yanıt Özellikleri

İsim Tür Açıklama Boş olabilen değer
.depositAddress{} object An object containing deposit information. false
.network string A network identifier as given by GET /networks, e.g. STELLAR. false
.fields object A set of fields (all strings) specifying the deposit account. false
.asset string Stellar ağındaki mevduat varlık tanımlayıcısı. Varlık kodu ve düzenleyiciden oluşur. false
.account string Stellar ağındaki para yatırma hesabı. G ile başlıyor. false
.memo string İşleme dahil edilmesi gereken zorunlu not. Bunu atlamayın, aksi takdirde para yatırma işleminiz gecikecektir. false
.memoType string İşleme dahil edilecek zorunlu memo türü. false
.fieldConfig array A list of objects describing the keys and values received in the fields attribute. false
.key string A string indicating an attribute in the fields object. false
.label string A label for the field associated with the key. false
.description string A description of the field associated with the key. false
.minAmount string The minimum deposit amount. false
.maxAmount string The maximum deposit amount. false
{
    "depositAddress": {
        "network": "SWIFT",
        "fields": {
            "reference": "EUR-BD-USDC-1a2b3c4d5e6f",
            "beneficiary": "Whalestack Sp. z o.o.",
            "account": "LT293550020000047621",
            "swiftCode": "UAPELT22XXX",
            "bankName": "UAB Pervesk",
            "bankAddress": "Vilnius, Lithuania",
            "correspondentBankSwift": "INCOCHZZXXX",
            "correspondentBankName": "INCORE BANK AG",
            "correspondentBankAddress": "Schlieren, Switzerland"
        },
        "fieldConfig": [
            {
                "key": "reference",
                "label": "u00d6deme Referansu0131",
                "description": "Bu referansu0131 SWIFT para yatu0131rma iu015fleminize ekleyin. Para yatu0131rma iu015flemini satu0131cu0131 hesabu0131nu0131zla eu015fleu015ftirmek iu00e7in gereklidir. Bunu atlamayu0131n, aksi takdirde para yatu0131rma iu015fleminiz gecikecektir."
            },
            {
                "key": "beneficiary",
                "label": "Yararlanu0131cu0131",
                "description": "Yararlanu0131cu0131 hesap adu0131."
            },
            {
                "key": "account",
                "label": "Banka Hesap Numarasu0131",
                "description": "Banka hesap numarasu0131."
            },
            {
                "key": "swiftCode",
                "label": "SWIFT/BIC",
                "description": "Bankanu0131zu0131 veya finans kurumunuzu tanu0131mlayan 8-11 karakterli SWIFT veya BIC kodu."
            },
            {
                "key": "bankName",
                "label": "Banka Adu0131",
                "description": "Yararlanu0131cu0131 banka adu0131."
            },
            {
                "key": "bankAddress",
                "label": "Banka Adresi",
                "description": "Yararlanu0131cu0131 banka adu0131."
            },
            {
                "key": "correspondentBankSwift",
                "label": "Muhabir Banka SWIFT/BIC",
                "description": "Bankanu0131z sizden bir aracu0131 veya muhabir banka isterse bu SWIFT/BIC kodunu belirtin."
            },
            {
                "key": "correspondentBankName",
                "label": "Muhabir Banka Adu0131",
                "description": "Muhabir banka adu0131. Bankanu0131z sizden bir aracu0131 veya muhabir banka isterse bunu belirtin."
            },
            {
                "key": "correspondentBankAddress",
                "label": "Muhabir Banka Adresi",
                "description": "Muhabir banka adresi. Bankanu0131z sizden bir aracu0131 veya muhabir banka isterse bunu belirtin."
            }
        ],
        "minAmount": 250,
        "maxAmount": 500000
    }
}

Ödemeyi Euro Olarak Gönderin

Ödemeyi EUR cinsinden gönderin.

Başarılı Yanıt Özellikleri

İsim Tür Açıklama Boş olabilen değer
.depositAddress{} object An object containing deposit information. false
.network string A network identifier as given by GET /networks, e.g. SWIFT. false
.fields object A set of fields (all strings) specifying the deposit account. false
.reference string Bu referansı SWIFT para yatırma işleminize ekleyin. Para yatırma işlemini satıcı hesabınızla eşleştirmek için gereklidir. Bunu atlamayın, aksi takdirde para yatırma işleminiz gecikecektir. false
.beneficiary string Yararlanıcı hesap adı. false
.account string Banka hesap numarası. false
.swiftCode string Bankanızı veya finans kurumunuzu tanımlayan 8-11 karakterli SWIFT veya BIC kodu. false
.bankName string Yararlanıcı banka adı. false
.bankAddress string Yararlanıcı banka adı. false
.correspondentBankSwift string Bankanız sizden bir aracı veya muhabir banka isterse bu SWIFT/BIC kodunu belirtin. false
.correspondentBankName string Muhabir banka adı. Bankanız sizden bir aracı veya muhabir banka isterse bunu belirtin. false
.correspondentBankAddress string Muhabir banka adresi. Bankanız sizden bir aracı veya muhabir banka isterse bunu belirtin. false
.fieldConfig array A list of objects describing the keys and values received in the fields attribute. false
.key string A string indicating an attribute in the fields object. false
.label string A label for the field associated with the key. false
.description string A description of the field associated with the key. false
.minAmount string The minimum deposit amount. false
.maxAmount string The maximum deposit amount. false
{
    "depositAddress": {
        "network": "SEPA",
        "fields": {
            "reference": "EUR-BD-USDC-1a2b3c4d5e6f",
            "beneficiary": "Whalestack Sp. z o.o.",
            "iban": "LT293550020000047621",
            "swiftCode": "UAPELT22XXX",
            "bankName": "UAB Pervesk",
            "bankAddress": "Vilnius, Lithuania"
        },
        "fieldConfig": [
            {
                "key": "reference",
                "label": "u00d6deme Referansu0131",
                "description": "Bu referansu0131 SEPA yatu0131rmanu0131za ekleyin. Mevduatu0131 ticari hesabu0131nu0131zla eu015fleu015ftirmek iu00e7in gereklidir. Bunu atlamayu0131n, aksi takdirde para yatu0131rma iu015fleminiz gecikecektir."
            },
            {
                "key": "beneficiary",
                "label": "Yararlanu0131cu0131",
                "description": "Yararlanu0131cu0131 hesap adu0131."
            },
            {
                "key": "iban",
                "label": "IBAN",
                "description": "Uluslararasu0131 banka hesap numarasu0131 (IBAN)."
            },
            {
                "key": "swiftCode",
                "label": "SWIFT/BIC",
                "description": "Bankanu0131zu0131 veya finans kurumunuzu tanu0131mlayan 8-11 karakterli SWIFT veya BIC kodu."
            },
            {
                "key": "bankName",
                "label": "Banka Adu0131",
                "description": "Yararlanu0131cu0131 banka adu0131."
            },
            {
                "key": "bankAddress",
                "label": "Banka Adresi",
                "description": "Yararlanu0131cu0131 banka adu0131."
            }
        ],
        "minAmount": 50,
        "maxAmount": 500000
    }
}

Ödemeyi Euro Olarak Gönderin

Ödemeyi EUR cinsinden gönderin.

Başarılı Yanıt Özellikleri

İsim Tür Açıklama Boş olabilen değer
.depositAddress{} object An object containing deposit information. false
.network string A network identifier as given by GET /networks, e.g. SEPA. false
.fields object A set of fields (all strings) specifying the deposit account. false
.reference string Bu referansı SEPA yatırmanıza ekleyin. Mevduatı ticari hesabınızla eşleştirmek için gereklidir. Bunu atlamayın, aksi takdirde para yatırma işleminiz gecikecektir. false
.beneficiary string Yararlanıcı hesap adı. false
.iban string Uluslararası banka hesap numarası (IBAN). false
.swiftCode string Bankanızı veya finans kurumunuzu tanımlayan 8-11 karakterli SWIFT veya BIC kodu. false
.bankName string Yararlanıcı banka adı. false
.bankAddress string Yararlanıcı banka adı. false
.fieldConfig array A list of objects describing the keys and values received in the fields attribute. false
.key string A string indicating an attribute in the fields object. false
.label string A label for the field associated with the key. false
.description string A description of the field associated with the key. false
.minAmount string The minimum deposit amount. false
.maxAmount string The maximum deposit amount. false

Hata Yanıtı application/json

{
    "errors":[
        "invalid request (and more information explaining the error in plain text)"
    ]
}

Hata Yanıt Parametreleri

İsim Tür Açıklama Boş olabilen değer
errors[] string[ ] A list of strings explaining the error. false

GET/depositkorumalı

Belirli bir mevduatın ayrıntılarını alır.

Talep

curl 'https://www.whalestack.com/api/v1/deposit?id=xxx'

İstek Parametreleri

Anahtar Tür Açıklama Varsayılan Zorunlu
id string(12) Blockchain transaction id of your deposit or unique identifier as given by GET /deposits. null mandatory

Başarılı Yanıt application/json

{
   "deposit":{
      "id":"eb3729168fb2",
      "state":"COMPLETED",
      "timestamp":"2022-10-14T19:49:51+00:00",
      "network":"BITCOIN",
      "networkName":"Bitcoin",
      "asset":"BTC:GCQVEST7KIWV3KOSNDDUJKEPZLBFWKM7DUS4TCLW2VNVPCBGTDRVTEIT",
      "currencyCode":"BTC",
      "amountGross":"7.1479281",
      "amountNet":"7.1479281",
      "amountFees":"0.0000000",
      "webhook":"https://www.your-server.com/path/to/webhook",
      "blockchainTransactions":[
         {
            "type":"DEPOSIT_ORIGIN",
            "typeDescription":"Blockchain transaction on the source network.",
            "network":"BITCOIN",
            "networkName":"Bitcoin",
            "timestamp":"2022-10-14T20:00:17+00:00",
            "tx":"77ddc93467f12fc79d73a936f09044689eebb1e045c1f81b5c14a91396147fed",
            "amount":"7.1479281",
            "amountAssetCode":"BTC"
         },
         {
            "type":"DEPOSIT_SETTLEMENT",
            "typeDescription":"Stellar transaction crediting your Whalestack merchant account.",
            "network":"STELLAR",
            "networkName":"Stellar",
            "timestamp":"2022-10-14T20:00:17+00:00",
            "tx":"24c69c410e48ab3f7dd264429ec090e954b3b8b3b9860a5dd6c130f2926e0857",
            "amount":"7.1479281",
            "amountAssetCode":"BTC"
         }
      ],
      "depositAddress":{
         "fields":{
            "address":"bc1qj633nx575jm28smgcp3mx6n3gh0zg6ndr0ew24"
         },
         "fieldConfig":[
            {
               "key":"address",
               "label":"Bitcoin Address",
               "description":"The Bitcoin address. Can be in any format, i.e. native SegWit (bech32), SegWit (P2SH), or legacy (P2PKH)."
            }
         ]
      },
      "bankTransactions":null
   }
}

Başarılı Yanıt Özellikleri

İsim Tür Açıklama Boş olabilen değer
.deposit{} object An object containing deposit information. false
.id string(12) Unique identifier of this deposit. false
.state string The deposit state. Possible values:
COMPLETED, FAILED, PROCESSING, PENDING_EXTERNAL
false
.timestamp timestamp W3C formatted time stamp with time zone (UTC) specifying when the deposit was first detected. false
.network string A payment network id as given by GET /networks. Indicates the payment network on which the deposit was made. false
.networkName string The payment network name in English plain text. false
.asset string The Stellar representation of the asset credited to your account as given by GET /assets. false
.currencyCode string The deposit currency code as given by GET /currencies. false
.amountGross string The gross amount credited to your account. false
.amountNet string The net amount credited to your account. These funds are instantly available for transfer. false
.amountFees string The paid fees, if any. false
.webhook string The webhook URL on your server to which Whalestack posts callback notifications during events related to this deposit (as specified in webhook concepts). true
.blockchainTransactions[] array A list of blockchain transactions associated with this deposit. false
.type string The type of blockchain transaction. Can be DEPOSIT_ORIGIN (blockchain payment transaction initiated by the sender) or DEPOSIT_SETTLEMENT (Stellar transaction crediting your Whalestack account). false
.typeDescription string An explanation of the above blockchain transaction type in English plain text. false
.network string The network id as given by GET /networks. Indicates where this transaction was executed. false
.networkName string The network name in English plain text. false
.timestamp string The timestamp at which this transaction was registered on Whalestack. false
.tx string The corresponding blockchain transaction id. false
.amount string The amount transferred during in this transaction. false
.amountAssetCode string The asset code of the amount transferred in this transaction. false
.depositAddress{} object An object containing the deposit address to which the payment was made. Consists of fields and fieldConfig as documented in POST /deposit-address. true
.bankTransactions[] array A list of bank transactions associated with this deposit, if any. true
.id string(12) A string identifying the bank transaction on Whalestack. false
.network string The bank network id as given by GET /networks. Indicates where this transaction was executed. false
.networkName string The bank network name in English plain text. false
.grossAmount string The gross amount received by Whalestack in the bank transaction. false
.amountCurrency string(3) The source currency as given by GET /currencies. false
.bankFee string The fees collected by the bank(s) for processing the payment. false
.bankFeeCurrency string(3) The fee currency as given by GET /currencies. false
.netAmount string The net amount used for minting the deposit asset on Whalestack. false
.reference string The reference line used in the bank payment. false
.sender string The name of the sender of the originating bank account. true
.sourceAccount string The bank account number of the sender. true
.sourceBank string A BIC/SWIFT code identifying the sending bank. true

Hata Yanıtı application/json

{
    "errors":[
        "invalid request (and more information explaining the error in plain text)"
    ]
}

Hata Yanıt Parametreleri

İsim Tür Açıklama Boş olabilen değer
errors[] string[ ] A list of strings explaining the error. false

GET/depositskorumalı

Mevduatlarınızın bir listesini alır (en yeniden en eskiye doğru azalan sırada).

Talep

curl 'https://www.whalestack.com/api/v1/deposits?limit=250&offset=0'

İstek Parametreleri

Anahtar Tür Açıklama Varsayılan Zorunlu
limit integer Maximum number of deposit objects to be retrieved. 250 optional
offset integer Specifies the pagination offset. 0 optional

Başarılı Yanıt application/json

{
   "count":1,
   "limit":10,
   "offset":0,
   "deposits":[
      {
         "id":"eb3729168fb2",
         "state":"COMPLETED",
         "timestamp":"2022-10-14T19:49:51+00:00",
         "network":"BITCOIN",
         "networkName":"Bitcoin",
         "asset":"BTC:GCQVEST7KIWV3KOSNDDUJKEPZLBFWKM7DUS4TCLW2VNVPCBGTDRVTEIT",
         "currencyCode":"BTC",
         "amountGross":"7.1479281",
         "amountNet":"7.1479281",
         "amountFees":"0.0000000",
         "webhook":"https://www.your-server.com/path/to/webhook",
         "blockchainTransactions":[
            {
               "type":"DEPOSIT_ORIGIN",
               "typeDescription":"Blockchain transaction on the source network.",
               "network":"BITCOIN",
               "networkName":"Bitcoin",
               "timestamp":"2022-10-14T20:00:17+00:00",
               "tx":"77ddc93467f12fc79d73a936f09044689eebb1e045c1f81b5c14a91396147fed",
               "amount":"7.1479281",
               "amountAssetCode":"BTC"
            },
            {
               "type":"DEPOSIT_SETTLEMENT",
               "typeDescription":"Stellar transaction crediting your Whalestack merchant account.",
               "network":"STELLAR",
               "networkName":"Stellar",
               "timestamp":"2022-10-14T20:00:17+00:00",
               "tx":"24c69c410e48ab3f7dd264429ec090e954b3b8b3b9860a5dd6c130f2926e0857",
               "amount":"7.1479281",
               "amountAssetCode":"BTC"
            }
         ],
         "depositAddress":{
            "fields":{
               "address":"bc1qj633nx575jm28smgcp3mx6n3gh0zg6ndr0ew24"
            },
            "fieldConfig":[
               {
                  "key":"address",
                  "label":"Bitcoin Address",
                  "description":"The Bitcoin address. Can be in any format, i.e. native SegWit (bech32), SegWit (P2SH), or legacy (P2PKH)."
               }
            ]
         },
         "bankTransactions":null
      }
   ]
}

Başarılı Yanıt Özellikleri

İsim Tür Açıklama Boş olabilen değer
.count integer The total number of deposits initiated in this account. false
.limit integer The limit argument used in this request. false
.offset integer The pagination offset used in this request. false
.deposits[] array A list of deposit objects. false
.id string(12) Unique identifier of this deposit. false
.state string The deposit state. Possible values:
COMPLETED, FAILED, PROCESSING, PENDING_EXTERNAL
false
.timestamp timestamp W3C formatted time stamp with time zone (UTC) specifying when the deposit was first detected. false
.network string A payment network id as given by GET /networks. Indicates the payment network on which the deposit was made. false
.networkName string The payment network name in English plain text. false
.asset string The Stellar representation of the asset credited to your account as given by GET /assets. false
.currencyCode string The deposit currency code as given by GET /currencies. false
.amountGross string The gross amount credited to your account. false
.amountNet string The net amount credited to your account. These funds are instantly available for transfer. false
.amountFees string The paid fees, if any. false
.webhook string The webhook URL on your server to which Whalestack posts callback notifications during events related to this deposit (as specified in webhook concepts). true
.blockchainTransactions[] array A list of blockchain transactions associated with this deposit. false
.type string The type of blockchain transaction. Can be DEPOSIT_ORIGIN (blockchain payment transaction initiated by the sender) or DEPOSIT_SETTLEMENT (Stellar transaction crediting your Whalestack account). false
.typeDescription string An explanation of the above blockchain transaction type in English plain text. false
.network string The network id as given by GET /networks. Indicates where this transaction was executed. false
.networkName string The network name in English plain text. false
.timestamp string The timestamp at which this transaction was registered on Whalestack. false
.tx string The corresponding blockchain transaction id. false
.amount string The amount transferred during in this transaction. false
.amountAssetCode string The asset code of the amount transferred in this transaction. false
.depositAddress{} object An object containing the deposit address to which the payment was made. Consists of fields and fieldConfig as documented in POST /deposit-address. true
.bankTransactions[] array A list of bank transactions associated with this deposit, if any. true
.id string(12) A string identifying the bank transaction on Whalestack. false
.network string The bank network id as given by GET /networks. Indicates where this transaction was executed. false
.networkName string The bank network name in English plain text. false
.grossAmount string The gross amount received by Whalestack in the bank transaction. false
.amountCurrency string(3) The source currency as given by GET /currencies. false
.bankFee string The fees collected by the bank(s) for processing the payment. false
.bankFeeCurrency string(3) The fee currency as given by GET /currencies. false
.netAmount string The net amount used for minting the deposit asset on Whalestack. false
.reference string The reference line used in the bank payment. false
.sender string The name of the sender of the originating bank account. true
.sourceAccount string The bank account number of the sender. true
.sourceBank string A BIC/SWIFT code identifying the sending bank. true

Hata Yanıtı application/json

{
    "errors":[
        "invalid request (and more information explaining the error in plain text)"
    ]
}

Hata Yanıt Parametreleri

İsim Tür Açıklama Boş olabilen değer
errors[] string[ ] A list of strings explaining the error. false

POST/swapkorumalı

Hesabınızda bir varlık değişimi başlatır ve PENDING_API_COMMIT durumunda bir değişim öğesi döndürür. Öğe, kaynak ve hedef tutarları içeren bir fiyat teklifi içerir. Teklifi kabul etmek için POST /swap/commit öğesini çağırarak değişimi onaylayın.

Talep

curl -X POST https://www.whalestack.com/api/v1/swap \
     -d "@payload.json"

Burada payload.json bir JSON nesnesidir.

Örnek: 100 Amerikan Doları'nı BTC ile takas edin

{
   "sourceAsset":"USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",
   "sourceAmount":100,
   "targetAsset":"BTC:GCQVEST7KIWV3KOSNDDUJKEPZLBFWKM7DUS4TCLW2VNVPCBGTDRVTEIT"
}

Örnek: Bitcoin'i 100 XLM ile değiştirin

{
   "sourceAsset":"BTC:GCQVEST7KIWV3KOSNDDUJKEPZLBFWKM7DUS4TCLW2VNVPCBGTDRVTEIT",
   "targetAsset":"XLM:NATIVE",
   "targetAmount":100
}

İstek Parametreleri (POST)

Anahtar Tür Açıklama Varsayılan Zorunlu
sourceAsset string An asset identifier as given by GET /assets or GET /wallets. Specifies the source asset in the swap. null mandatory
sourceAmount numeric Specifies the amount of sourceAsset you wish to debit from your account to make the swap.

The API response contains the calculated target amount, which you can inspect and confirm by invoking a subsequent request to POST /swap/commit.

If you would like to specify the exact target amount instead, please use the targetAmount attribute and don't specify a sourceAmount.
null optional
targetAsset string An asset identifier as given by GET /assets or GET /wallets. Specifies the target asset in the swap. null mandatory
targetAmount numeric Specifies the amount of targetAsset you wish to credit to your account when the swap completes.

The API response contains the required source amount, which you can inspect and confirm by invoking a subsequent request to POST /swap/commit.

If you would like to specify the exact source amount instead, please use the sourceAmount attribute and don't specify a targetAmount.
null optional
webhook string URL on your server listening for swap state changes as specified in webhook concepts. Overwrites webhook URL API Settings in the UI (if any). null optional

Başarılı Yanıt application/json

{
   "swap":{
      "id":"5074f4ee055d",
      "state":"PENDING_API_COMMIT",
      "type":"SOURCE_SPECIFIED",
      "origin":"API",
      "createTime":"2021-05-06T22:15:37+00:00",
      "completeTime":null,
      "expireTime":"2021-05-06T23:15:37+00:00",
      "sourceAssetId":"USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",
      "sourceAmount":"100.0000000",
      "targetAssetId":"XLM:NATIVE",
      "targetAmount":"243.3928192",
      "blockchainTransactions":[],
      "webhook":"https://www.your-server.com/path/to/webhook"
   }
}

Başarılı Yanıt Özellikleri

İsim Tür Açıklama Boş olabilen değer
.swap{} object An object with swap information. false
.id string(12) Unique identifier of this swap. false
.state string The swap state. The list of possible values is COMPLETED , PENDING_API_COMMIT, PROCESSING, and FAILED. false
.type string The swap type. SOURCE_SPECIFIED indicates that you specified the source amount. TARGET_SPECIFIED indicates that you specified the target amount. false
.origin string Indicates how the swap was initiated, either UI or API. false
.createTime timestamp W3C formatted time stamp with time zone (UTC) specifying when the swap was created. false
.completeTime timestamp W3C formatted time stamp with time zone (UTC) specifying when the swap was completed. This value is set when the swap state is COMPLETED and otherwise it is null. true
.expireTime timestamp W3C formatted time stamp with time zone (UTC) specifying when the guaranteed conversion rate expires. Please send the API commit before the expiration time to ensure swap execution. true
.sourceAssetId string The source asset in the swap. An asset id as given by GET /assets. false
.sourceAmount string A numeric string indicating the total amount of sourceAsset debited from your account on swap completion. false
.targetAssetId string The target asset in the swap. An asset id as given by GET /assets. false
.targetAmount string A numeric string indicating the total amount of targetAsset credited to your account on swap completion. false
.targetAmount string A numeric string indicating the total amount of targetAsset credited to your account on swap completion. false
.blockchainTransactions[] array A list of blockchain transactions associated with this swap. false
.type string The type of blockchain transaction, i.e. SWAP. false
.typeDescription string An explanation of the above blockchain transaction type in English plain text. false
.network string The network id as given by GET /networks. Indicates where this transaction was executed. false
.networkName string The network name in English plain text. false
.timestamp string The timestamp at which this transaction was registered on Whalestack. false
.tx string The corresponding blockchain transaction id. false
.amount string The amount transferred during in this transaction. false
.amountAssetCode string The asset code of the amount transferred in this transaction. false
.webhook string The webhook URL on your server to which Whalestack posts callback notifications during events related to this swap (as specified in webhook concepts). true

Hata Yanıtı application/json

{
    "errors":[
        "invalid request (and more information explaining the error in plain text)"
    ]
}

Hata Yanıt Parametreleri

İsim Tür Açıklama Boş olabilen değer
errors[] string[ ] A list of strings explaining the error. false

POST/swap/commitkorumalı

Daha önce POST /swap ile başlatılan PENDING_API_COMMIT durumundaki bir değişimi taahhüt eder ve yürütür

Son olmayan PROCESSING durumundaki bir değişim objesi döndürür. COMPLETED veya FAILED son durumu webhook tarafından gönderilir ve alternatif olarak GET /swap kullanılarak sorgulanabilir.

Talep

curl -X POST 'https://www.whalestack.com/api/v1/swap/commit'
    -d "@payload.json"

Burada payload.json bir JSON nesnesidir.

Örnek Veri

{
  "swapId":"12d72c3c8145"
}

İstek Parametreleri

Anahtar Tür Açıklama Varsayılan Zorunlu
swapId string(12) Unique identifier as given by POST /swap. null mandatory

Başarılı Yanıt application/json

{
   "swap":{
      "id":"5074f4ee055d",
      "state":"PROCESSING",
      "type":"SOURCE_SPECIFIED",
      "origin":"API",
      "createTime":"2021-05-06T22:15:37+00:00",
      "completeTime":"2021-05-06T22:16:01+00:00",
      "expireTime":"2021-05-06T23:15:37+00:00",
      "sourceAssetIssuer":"USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",
      "sourceAmount":"100.0000000",
      "targetAssetIssuer":"XLM:NATIVE",
      "targetAmount":"243.3928192",
      "blockchainTransactions":[],
      "webhook":"https://www.your-server.com/path/to/webhook"
   }
}

Başarılı Yanıt Özellikleri

İsim Tür Açıklama Boş olabilen değer
.swap{} object An object containing swap information. false
.id string(12) Unique identifier of this swap. false
.state string The swap state. The list of possible values is COMPLETED , PENDING_API_COMMIT, PROCESSING, and FAILED. false
.type string The swap type. SOURCE_SPECIFIED indicates that you specified the source amount. TARGET_SPECIFIED indicates that you specified the target amount. false
.origin string Indicates how the swap was initiated, either UI or API. false
.createTime timestamp W3C formatted time stamp with time zone (UTC) specifying when the swap was created. false
.completeTime timestamp W3C formatted time stamp with time zone (UTC) specifying when the swap was completed. This value is set when the swap state is COMPLETED and otherwise it is null. true
.expireTime timestamp W3C formatted time stamp with time zone (UTC) specifying when the guaranteed conversion rate expires. Please send the API commit before the expiration time to ensure swap execution. true
.sourceAssetId string The source asset in the swap. An asset id as given by GET /assets. false
.sourceAmount string A numeric string indicating the total amount of sourceAsset debited from your account on swap completion. false
.targetAssetId string The target asset in the swap. An asset id as given by GET /assets. false
.targetAmount string A numeric string indicating the total amount of targetAsset credited to your account on swap completion. false
.targetAmount string A numeric string indicating the total amount of targetAsset credited to your account on swap completion. false
.blockchainTransactions[] array A list of blockchain transactions associated with this swap. false
.type string The type of blockchain transaction, i.e. SWAP. false
.typeDescription string An explanation of the above blockchain transaction type in English plain text. false
.network string The network id as given by GET /networks. Indicates where this transaction was executed. false
.networkName string The network name in English plain text. false
.timestamp string The timestamp at which this transaction was registered on Whalestack. false
.tx string The corresponding blockchain transaction id. false
.amount string The amount transferred during in this transaction. false
.amountAssetCode string The asset code of the amount transferred in this transaction. false
.webhook string The webhook URL on your server to which Whalestack posts callback notifications during events related to this swap (as specified in webhook concepts). true

Hata Yanıtı application/json

{
    "errors":[
        "invalid request (and more information explaining the error in plain text)"
    ]
}

Hata Yanıt Parametreleri

İsim Tür Açıklama Boş olabilen değer
errors[] string[ ] A list of strings explaining the error. false

GET/swapkorumalı

Belirli bir değişimin ayrıntılarını alır.

Talep

curl 'https://www.whalestack.com/api/v1/swap?id=xxx'

İstek Parametreleri

Anahtar Tür Açıklama Varsayılan Zorunlu
id string(12) Unique identifier as given by GET /swaps or POST /swap. null mandatory

Başarılı Yanıt application/json

{
   "swap":{
      "id":"5074f4ee055d",
      "state":"COMPLETED",
      "type":"SOURCE_SPECIFIED",
      "origin":"API",
      "createTime":"2021-05-06T22:15:37+00:00",
      "completeTime":"2021-05-06T22:16:01+00:00",
      "expireTime":"2021-05-06T23:15:37+00:00",
      "sourceAssetId":"USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",
      "sourceAmount":"100.0000000",
      "targetAssetId":"XLM:NATIVE",
      "targetAmount":"243.3928192",
      "blockchainTransactions":[
        {
           "type":"SWAP",
           "typeDescription":"Blockchain transaction executed during the swap on the Stellar Network.",
           "network": "STELLAR",
           "networkName": "Stellar",
           "timestamp": "2021-05-06T22:16:01+00:00",
           "tx":"ac8f8554b273c8a0191309154bd108346c333b7f9dc3ada8f080c7efaab614a7",
           "amount":"243.3928192",
           "amountAssetCode":"XLM"
        }
      ],
      "webhook":"https://www.your-server.com/path/to/webhook"
   }
}

Başarılı Yanıt Özellikleri

İsim Tür Açıklama Boş olabilen değer
.swap{} object An object containing swap information. false
.id string(12) Unique identifier of this swap. false
.state string The swap state. The list of possible values is COMPLETED , PENDING_API_COMMIT, PROCESSING, and FAILED. false
.type string The swap type. SOURCE_SPECIFIED indicates that you specified the source amount. TARGET_SPECIFIED indicates that you specified the target amount. false
.origin string Indicates how the swap was initiated, either UI or API. false
.createTime timestamp W3C formatted time stamp with time zone (UTC) specifying when the swap was created. false
.completeTime timestamp W3C formatted time stamp with time zone (UTC) specifying when the swap was completed. This value is set when the swap state is COMPLETED and otherwise it is null. true
.expireTime timestamp W3C formatted time stamp with time zone (UTC) specifying when the guaranteed conversion rate expires. Please send the API commit before the expiration time to ensure swap execution. true
.sourceAssetId string The source asset in the swap. An asset id as given by GET /assets. false
.sourceAmount string A numeric string indicating the total amount of sourceAsset debited from your account on swap completion. false
.targetAssetId string The target asset in the swap. An asset id as given by GET /assets. false
.targetAmount string A numeric string indicating the total amount of targetAsset credited to your account on swap completion. false
.targetAmount string A numeric string indicating the total amount of targetAsset credited to your account on swap completion. false
.blockchainTransactions[] array A list of blockchain transactions associated with this swap. false
.type string The type of blockchain transaction, i.e. SWAP. false
.typeDescription string An explanation of the above blockchain transaction type in English plain text. false
.network string The network id as given by GET /networks. Indicates where this transaction was executed. false
.networkName string The network name in English plain text. false
.timestamp string The timestamp at which this transaction was registered on Whalestack. false
.tx string The corresponding blockchain transaction id. false
.amount string The amount transferred during in this transaction. false
.amountAssetCode string The asset code of the amount transferred in this transaction. false
.webhook string The webhook URL on your server to which Whalestack posts callback notifications during events related to this swap (as specified in webhook concepts). true

Hata Yanıtı application/json

{
    "errors":[
        "invalid request (and more information explaining the error in plain text)"
    ]
}

Hata Yanıt Parametreleri

İsim Tür Açıklama Boş olabilen değer
errors[] string[ ] A list of strings explaining the error. false

GET/swapskorumalı

Değişimlerinizin bir listesini alır (en yeniden en eskiye doğru azalan sırada).

Talep

curl 'https://www.whalestack.com/api/v1/swaps?limit=250&offset=0'

İstek Parametreleri

Anahtar Tür Açıklama Varsayılan Zorunlu
limit integer Maximum number of swap objects to be retrieved. 250 optional
offset integer Specifies the pagination offset. 0 optional

Başarılı Yanıt application/json

{
   "count":2,
   "limit":10,
   "offset":0,
   "swaps":[
      {
         "id":"23b4f4ee055d",
         "state":"PENDING_API_COMMIT",
         "type":"SOURCE_SPECIFIED",
         "origin":"API",
         "createTime":"2021-05-06T22:15:37+00:00",
         "completeTime":null,
         "expireTime":"2021-05-06T23:15:37+00:00",
         "sourceAssetId":"USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",
         "sourceAmount":"10.0000000",
         "targetAssetId":"XLM:NATIVE",
         "targetAmount":"24.1392819",
         "blockchainTransactions":[

         ],
         "webhook":"https://www.your-server.com/path/to/webhook"
      },
      {
         "id":"5074f4ee055d",
         "state":"COMPLETED",
         "type":"SOURCE_SPECIFIED",
         "origin":"API",
         "createTime":"2021-05-06T22:15:37+00:00",
         "completeTime":"2021-05-06T22:16:01+00:00",
         "expireTime":"2021-05-06T23:15:37+00:00",
         "sourceAssetId":"USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",
         "sourceAmount":"100.0000000",
         "targetAssetId":"XLM:NATIVE",
         "targetAmount":"243.3928192",
         "blockchainTransactions":[
            {
               "type":"SWAP",
               "typeDescription":"Blockchain transaction executed during the swap on the Stellar Network.",
               "network":"STELLAR",
               "networkName":"Stellar",
               "timestamp":"2021-05-06T22:16:01+00:00",
               "tx":"ac8f8554b273c8a0191309154bd108346c333b7f9dc3ada8f080c7efaab614a7",
               "amount":"243.3928192",
               "amountAssetCode":"XLM"
            }
         ],
         "webhook":"https://www.your-server.com/path/to/webhook"
      }
   ]
}

Başarılı Yanıt Özellikleri

İsim Tür Açıklama Boş olabilen değer
.count integer The total number of swaps initiated in this account. false
.limit integer The limit argument used in this request. false
.offset integer The pagination offset used in this request. false
.swaps[] array A list of swap objects. false
.id string(12) Unique identifier of this swap. false
.state string The swap state. The list of possible values is COMPLETED , PENDING_API_COMMIT, PROCESSING, and FAILED. false
.type string The swap type. SOURCE_SPECIFIED indicates that you specified the source amount. TARGET_SPECIFIED indicates that you specified the target amount. false
.origin string Indicates how the swap was initiated, either UI or API. false
.createTime timestamp W3C formatted time stamp with time zone (UTC) specifying when the swap was created. false
.completeTime timestamp W3C formatted time stamp with time zone (UTC) specifying when the swap was completed. This value is set when the swap state is COMPLETED and otherwise it is null. true
.expireTime timestamp W3C formatted time stamp with time zone (UTC) specifying when the guaranteed conversion rate expires. Please send the API commit before the expiration time to ensure swap execution. true
.sourceAssetId string The source asset in the swap. An asset id as given by GET /assets. false
.sourceAmount string A numeric string indicating the total amount of sourceAsset debited from your account on swap completion. false
.targetAssetId string The target asset in the swap. An asset id as given by GET /assets. false
.targetAmount string A numeric string indicating the total amount of targetAsset credited to your account on swap completion. false
.targetAmount string A numeric string indicating the total amount of targetAsset credited to your account on swap completion. false
.blockchainTransactions[] array A list of blockchain transactions associated with this swap. false
.type string The type of blockchain transaction, i.e. SWAP. false
.typeDescription string An explanation of the above blockchain transaction type in English plain text. false
.network string The network id as given by GET /networks. Indicates where this transaction was executed. false
.networkName string The network name in English plain text. false
.timestamp string The timestamp at which this transaction was registered on Whalestack. false
.tx string The corresponding blockchain transaction id. false
.amount string The amount transferred during in this transaction. false
.amountAssetCode string The asset code of the amount transferred in this transaction. false
.webhook string The webhook URL on your server to which Whalestack posts callback notifications during events related to this swap (as specified in webhook concepts). true

Hata Yanıtı application/json

{
    "errors":[
        "invalid request (and more information explaining the error in plain text)"
    ]
}

Hata Yanıt Parametreleri

İsim Tür Açıklama Boş olabilen değer
errors[] string[ ] A list of strings explaining the error. false

GET/target-accountskorumalı

Hedef hesap öğelerinin bir listesini döndürür (en yeniden en eskiye doğru azalan sırada).

Talep

curl 'https://www.whalestack.com/api/v1/target-accounts?limit=250&offset=0'

İstek Parametreleri

Anahtar Tür Açıklama Varsayılan Zorunlu
limit integer Maximum number of target account objects to be retrieved. 250 optional
offset integer Specifies the pagination offset. 0 optional

Başarılı Yanıt application/json

Her nesnenin veri hedef ağına göre değişiklik gösterir. Aşağıdan seçin.

{
    "count": 1,
    "limit": 10,
    "offset": 0,
    "targetAccounts": [
        {
            "network": "BITCOIN",
            "label": "Ledger Nano on Bitcoin",
            "fields": {
                "address": "bc1qj633nx575jm28smgcp3mx6n3gh0zg6ndr0ew23"
            },
            "fieldConfig": [
                {
                    "key": "address",
                    "label": "Bitcoin Adres",
                    "description": "Bitcoin adresi. Herhangi bir formatta olabilir, yani yerel SegWit (bech32), SegWit (P2SH) veya eski (P2PKH)."
                }
            ],
            "state": "ACTIVE",
            "timestamp": "2023-04-16T21:34:28+00:00",
            "beneficiaryId": "b5bcf27e5482"
        }
    ]
}
{
    "count": 1,
    "limit": 10,
    "offset": 0,
    "targetAccounts": [
        {
            "network": "ETHEREUM",
            "label": "Ledger Nano on Ethereum",
            "fields": {
                "account": "0xA2Bf179E09C503262E418FC72261837726f68F36"
            },
            "fieldConfig": [
                {
                    "key": "account",
                    "label": "Ethereum Hesab\u0131",
                    "description": "Ethereum a\u011f\u0131nda bir hesap. 0x ile ba\u015flar."
                }
            ],
            "state": "ACTIVE",
            "timestamp": "2023-04-16T21:34:28+00:00",
            "beneficiaryId": "b5bcf27e5482"
        }
    ]
}
{
    "count": 1,
    "limit": 10,
    "offset": 0,
    "targetAccounts": [
        {
            "network": "LITECOIN",
            "label": "Ledger Nano on Litecoin",
            "fields": {
                "address": "LgVQ2XamTCjBa3tnUpWQ1H4hgzMddWCPdn"
            },
            "fieldConfig": [
                {
                    "key": "address",
                    "label": "Litecoin Adres",
                    "description": "Litecoin adresi. Herhangi bir formatta olabilir, yani yerel SegWit (bech32), SegWit (P2SH) veya eski (P2PKH)."
                }
            ],
            "state": "ACTIVE",
            "timestamp": "2023-04-16T21:34:28+00:00",
            "beneficiaryId": "b5bcf27e5482"
        }
    ]
}
{
    "count": 1,
    "limit": 10,
    "offset": 0,
    "targetAccounts": [
        {
            "network": "STELLAR",
            "label": "Ledger Nano on Stellar",
            "fields": {
                "account": "GDONUHZKLSYLDOZWR2TDW25GFXOBWCCKTPK34DLUVSOMFHLGURX6FNU6",
                "memo": "EXODUS",
                "memoType": "text"
            },
            "fieldConfig": [
                {
                    "key": "account",
                    "label": "Stellar Hesab\u0131",
                    "description": "Stellar a\u011f\u0131nda bir hesap. G ile ba\u015flayan."
                },
                {
                    "key": "memo",
                    "label": "Not",
                    "description": "Al\u0131c\u0131y\u0131 veya \u00f6deme amac\u0131n\u0131 tan\u0131mlar. Bir not genellikle borsalar ve c\u00fczdanlar taraf\u0131ndan istenir. Gerekti\u011finde bir tane sa\u011flad\u0131\u011f\u0131n\u0131zdan emin olun."
                },
                {
                    "key": "memoType",
                    "label": "Not T\u00fcr\u00fc",
                    "description": "Not t\u00fcr\u00fcn\u00fc tan\u0131mlayan ek bir bayrak. Bu genellikle `metin`dir."
                }
            ],
            "state": "ACTIVE",
            "timestamp": "2023-04-16T21:34:28+00:00",
            "beneficiaryId": "b5bcf27e5482"
        }
    ]
}
{
    "count": 1,
    "limit": 10,
    "offset": 0,
    "targetAccounts": [
        {
            "network": "SWIFT",
            "label": "My Bank Account on SWIFT",
            "fields": {
                "account": "DE12334567890",
                "bic": "NTSBDEB1XXX",
                "bankName": "N26",
                "bankAddress": "Berlin, Germany"
            },
            "fieldConfig": [
                {
                    "key": "account",
                    "label": "Banka Hesap Numaras\u0131",
                    "description": "Banka hesap numaras\u0131."
                },
                {
                    "key": "bic",
                    "label": "SWIFT\/BIC",
                    "description": "Bankan\u0131z\u0131 veya finans kurumunuzu tan\u0131mlayan 8-11 karakterli SWIFT veya BIC kodu."
                },
                {
                    "key": "bankName",
                    "label": "Banka Ad\u0131",
                    "description": "Yararlan\u0131c\u0131 banka ad\u0131."
                },
                {
                    "key": "bankAddress",
                    "label": "Banka Adresi",
                    "description": "Yararlan\u0131c\u0131 banka ad\u0131."
                }
            ],
            "state": "ACTIVE",
            "timestamp": "2023-04-16T21:34:28+00:00",
            "beneficiaryId": null
        }
    ]
}
{
    "count": 1,
    "limit": 10,
    "offset": 0,
    "targetAccounts": [
        {
            "network": "SEPA",
            "label": "My Bank Account on SEPA",
            "fields": {
                "iban": "DE23100110012624331586",
                "bic": "NTSBDEB1XXX",
                "bankName": "N26",
                "bankAddress": "Berlin, Germany"
            },
            "fieldConfig": [
                {
                    "key": "iban",
                    "label": "IBAN",
                    "description": "Uluslararas\u0131 banka hesap numaras\u0131 (IBAN)."
                },
                {
                    "key": "bic",
                    "label": "SWIFT\/BIC",
                    "description": "Bankan\u0131z\u0131 veya finans kurumunuzu tan\u0131mlayan 8-11 karakterli SWIFT veya BIC kodu."
                },
                {
                    "key": "bankName",
                    "label": "Banka Ad\u0131",
                    "description": "Yararlan\u0131c\u0131 banka ad\u0131."
                },
                {
                    "key": "bankAddress",
                    "label": "Banka Adresi",
                    "description": "Yararlan\u0131c\u0131 banka ad\u0131."
                }
            ],
            "state": "ACTIVE",
            "timestamp": "2023-04-16T21:34:28+00:00",
            "beneficiaryId": null
        }
    ]
}
{
    "count": 1,
    "limit": 10,
    "offset": 0,
    "targetAccounts": [
        {
            "network": "PIX",
            "label": "My Bank Account on Brazilian PIX",
            "fields": {
                "pixKey": "34.773.171\/0001-75",
                "taxId": "34.773.171\/0001-75"
            },
            "fieldConfig": [
                {
                    "key": "pixKey",
                    "label": "PIX Anahtar\u0131",
                    "description": "Al\u0131c\u0131 banka hesab\u0131yla ili\u015fkili PIX anahtar\u0131. Tipik olarak bir telefon numaras\u0131, CPF, e-posta adresi veya rastgele anahtar."
                },
                {
                    "key": "taxId",
                    "label": "Vergi numaras\u0131",
                    "description": "Al\u0131c\u0131 vergi kimli\u011fi. Kurumsal kimlikler i\u00e7in CNPJ format\u0131 (00.000.000\/0000-00) veya bireyler i\u00e7in CPF format\u0131 (000.000.000-00)."
                }
            ],
            "state": "ACTIVE",
            "timestamp": "2023-04-16T21:34:28+00:00",
            "beneficiaryId": null
        }
    ]
}

Başarılı Yanıt Özellikleri

İsim Tür Açıklama Boş olabilen değer
.count integer The total number of target accounts in this account. false
.limit integer The limit parameter used in this request. false
.offset integer The pagination offset used in this request. false
.targetAccounts[] array An list of objects with target account information. false
.network string A network identifier as given by GET /networks, e.g. BITCOIN, LITECOIN, SWIFT, or SEPA. false
.label string An arbitrary account name given by you when creating the target account. This is a unique identifier which you use this to reference this target account in other API requests, such as POST /transfer. false
.fields object A set of fields (all strings) specifying the account on the target network. Conforms to the field specification used when invoking POST /target-account. Inspect the fieldConfig attribute for an explanation of each field. false
.fieldConfig array A list of objects describing the keys and values received in the fields attribute. false
.key string A string indicating an attribute in the fields object. false
.label string A label for the field associated with the key. false
.description string A description of the field associated with the key. false
.state string The target account state. Possible values:
ACTIVE, PENDING_CONFIRMATION , TRANSIENT
true
timestamp string W3C formatted time stamp with time zone (UTC) indicating when the target account was added. true
.beneficiaryId string(12) An identifier referencing the beneficiary associated this target account with, if any. As given by GET /beneficiaries or other beneficiary related endpoints. true

Hata Yanıtı application/json

{
    "errors":[
        "invalid request (and more information explaining the error in plain text)"
    ]
}

Hata Yanıt Parametreleri

İsim Tür Açıklama Boş olabilen değer
errors[] string[ ] A list of strings explaining the error. false

POST/transferkorumalı

Cüzdanınızdan harici bankanıza veya blok zinciri hesabınıza bir fon transferi başlatır. PENDING_API_COMMIT durumundaki bir transfer öğesi döndürür. Nesne, kaynak, hedef ve ağ ücreti tutarlarını (varsa) içeren bir fiyat teklifi içerir. Teklifi kabul etmek için POST /transfer/commit öğesini çağırarak transferi onaylayın.

Transferler için harici hesapları bağlayan POST /target-account'e yapılan önceki çağrılara bağlıdır.

Talep

curl -X POST https://www.whalestack.com/api/v1/transfer \
     -d "@payload.json"

Burada payload.json bir JSON nesnesidir.

Örnek: SEPA hesabınıza 5.000 USDC transfer edin (EUR olarak)

{
   "network":"SEPA",
   "asset":"USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",
   "amount":5000,
   "targetAccount":"A unique SEPA account label as previously specified in POST /target-account"
}

Örnek: Net hedef miktarı 0,5 BTC olan BTC transferi yapın

{
   "network":"BITCOIN",
   "asset":"BTC:GCQVEST7KIWV3KOSNDDUJKEPZLBFWKM7DUS4TCLW2VNVPCBGTDRVTEIT",
   "amount":0.5,
   "amountType":"target",
   "targetAccount":"A unique Bitcoin address label as previously specified in POST /target-account"
}

Örnek: Bir BOLT 11 Bitcoin Lightning Faturasına doğru transfer yapın

{
   "network":"LIGHTNING",
   "asset":"BTCLN:GDPKQ2TSNJOFSEE7XSUXPWRP27H6GFGLWD7JCHNEYYWQVGFA543EVBVT",
   "invoice":"lnbc138200n1p3mxqgwpp53800g24ftkeevp82sfvkm20ygw34f4cst99fq9ar..."
}

Örnek: Bir Stellar hesabına 5.000 USDC transfer yapın

{
   "network":"STELLAR",
   "asset":"USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",
   "amount":5000,
   "targetAccount":"A unique Stellar account label as previously specified in POST /target-account"
}

Örnek: Bir Ethereum hesabına 5.000 USDC transfer yapın

{
   "network":"ETHEREUM",
   "asset":"USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",
   "amount":5000,
   "targetAccount":"A unique Ethereum account label as previously specified in POST /target-account"
}

İstek Parametreleri (POST)

Anahtar Tür Açıklama Varsayılan Zorunlu
network string A network identifier as given by GET /networks or GET /wallets. Specifies the target network for the transfer. null mandatory
asset string An asset identifier as given by GET /assets or GET /wallets. Specifies the source asset in the transfer. null mandatory
amount numeric Specifies the amount of asset you wish to send.

By default, this amount is debited from your account and the beneficiary is credited the same amount net of network fees, if any.

If you wish to specify the exact target amount and carry the network fees on your side, please set target on the amountType parameter and specify the desired net target amount in this field.
null mandatory
amountType string Can be source (default) or target.

If set to source then the amount field specifies the exact amount debited from your account. Beneficiary receives the same amount net of fees. Obtain fee and target amount details from the response.

If set to target then the amount field specifies the exact target amount received by the beneficiary. Fees are carried by the sender and included in the amount debited from your account. Obtain fee and source amount details from the response.
source optional
targetAccount string The target account to which the transfer is sent. Referenced by the unique label originally specified in POST /target-account. Must match the network of the given asset. null mandatory
invoice string This field is only relevant when sending transfers towards the Bitcoin LIGHTNING network. It is also the only required field besides network and asset in that case. Should include a BOLT 11 Lightning invoice with encoded amount. Ignore this field when transferring to other networks. null optional
note string An arbitrary note in plain text providing you with additional context for this transfer. null optional
webhook string URL on your server listening for transfer state changes via WEBHOOK transfer-completed or WEBHOOK transfer-failed. Overwrites webhook URL API Settings in the UI (if any). null optional

Başarılı Yanıt application/json

{
   "transfer":{
      "id":"8947deb6a087",
      "type":"TRANSFER",
      "state":"PENDING_API_COMMIT",
      "origin":"API",
      "network":"BITCOIN",
      "timestamp":"2023-05-22 03:06:34+03:00",
      "note":null,
      "sourceAmountGross":"0.5000000",
      "sourceAsset":"BTC:GCQVEST7KIWV3KOSNDDUJKEPZLBFWKM7DUS4TCLW2VNVPCBGTDRVTEIT",
      "networkFeeAmount":"0.0002010",
      "networkFeeAsset":"BTC:GCQVEST7KIWV3KOSNDDUJKEPZLBFWKM7DUS4TCLW2VNVPCBGTDRVTEIT",
      "targetAmountNet":"0.4997990",
      "targetAsset":"BTC:GCQVEST7KIWV3KOSNDDUJKEPZLBFWKM7DUS4TCLW2VNVPCBGTDRVTEIT",
      "blockchainTransactions":[],
      "targetAccount":{
         "network":"BITCOIN",
         "label":"Bitcoin (bc1qj)",
         "fields":{
            "address":"bc1qj633nx575jm28smgcp3mx6n3gh0zg6ndr0ew24"
         },
         "fieldConfig":[
            {
               "key":"address",
               "label":"Bitcoin Address",
               "description":"The Bitcoin address. Can be in any format, i.e. native SegWit (bech32), SegWit (P2SH), or legacy (P2PKH)."
            }
         ],
         "state":"ACTIVE",
         "timestamp":"2023-05-21T21:00:26+00:00",
         "beneficiaryId":null
      },
      "webhook":"https://www.your-server.com/path/to/webhook"
   }
}

Başarılı Yanıt Özellikleri

İsim Tür Açıklama Boş olabilen değer
.transfer{} object An object with transfer information. false
.id string(12) Unique identifier of this transfer. false
.type string The transfer type, i.e. TRANSFER false
.state string The transfer state. The list of possible values is COMPLETED , PENDING_API_COMMIT, PROCESSING, and FAILED. false
.origin string Indicates how the transfer was initiated, either UI or API. false
.timestamp timestamp W3C formatted time stamp with time zone (UTC) specifying when the transfer was created. false
.note note An arbitrary text submitted when invoking POST /transfer. true
.sourceAmountGross string A numeric string indicating the total amount of sourceAsset debited from your account during the transfer. false
.sourceAsset string The source asset. An asset id as given by GET /assets. false
.networkFeeAmount string A numeric string indicating the total amount of networkFeeAsset used during the transfer. false
.networkFeeAsset string The network fee asset. An asset id as given by GET /assets. false
.targetAmountNet string A numeric string indicating the total amount of targetAsset received by the beneficiary. false
.targetAsset string The target asset. An asset id as given by GET /assets. false
.blockchainTransactions[] array A list of blockchain transactions associated with this checkout. false
.type string The type of blockchain transaction, i.e. TRANSFER_PAYOUT. false
.typeDescription string An explanation of the above blockchain transaction type in English plain text. false
.network string The network id as given by GET /networks. Indicates where this transaction was executed. false
.networkName string The network name in English plain text. false
.timestamp string The timestamp at which this transaction was registered on Whalestack. false
.tx string The corresponding blockchain transaction id. false
.amount string The amount transferred during in this transaction. false
.amountAssetCode string The asset code of the amount transferred in this transaction. false
.targetAccount object An object specifying the target account for this transfer, as documented here: GET /target-account. true
.webhook string The webhook URL on your server to which Whalestack posts callback notifications during events related to this transfer (as specified in webhook concepts). true

Hata Yanıtı application/json

{
    "errors":[
        "invalid request (and more information explaining the error in plain text)"
    ]
}

Hata Yanıt Parametreleri

İsim Tür Açıklama Boş olabilen değer
errors[] string[ ] A list of strings explaining the error. false

POST/transfer/commitkorumalı

Daha önce POST /transfer ile başlatılan PENDING_API_COMMIT durumundaki bir fon transferini işleme koyar ve yürütür.

Final olmayan PROCESSING durumundaki bir transfer öğesini döndürür. COMPLETED veya FAILED son durumu webhook tarafından gönderilir ve alternatif olarak GET /transfer kullanılarak sorgulanabilir.

Talep

curl -X POST 'https://www.whalestack.com/api/v1/transfer/commit'
     -d "@payload.json"

Burada payload.json bir JSON nesnesidir.

Örnek Veri

{
  "transferId":"12d72c3c8145"
}

İstek Parametreleri

Anahtar Tür Açıklama Varsayılan Zorunlu
transferId string(12) Unique identifier as given by POST /transfer. null mandatory

Başarılı Yanıt application/json

{
   "transfer":{
      "id":"8947deb6a087",
      "type":"TRANSFER",
      "state":"PROCESSING",
      "origin":"API",
      "network":"BITCOIN",
      "timestamp":"2023-05-22 03:06:34+03:00",
      "note":null,
      "sourceAmountGross":"0.5000000",
      "sourceAsset":"BTC:GCQVEST7KIWV3KOSNDDUJKEPZLBFWKM7DUS4TCLW2VNVPCBGTDRVTEIT",
      "networkFeeAmount":"0.0002010",
      "networkFeeAsset":"BTC:GCQVEST7KIWV3KOSNDDUJKEPZLBFWKM7DUS4TCLW2VNVPCBGTDRVTEIT",
      "targetAmountNet":"0.4997990",
      "targetAsset":"BTC:GCQVEST7KIWV3KOSNDDUJKEPZLBFWKM7DUS4TCLW2VNVPCBGTDRVTEIT",
      "blockchainTransactions":[],
      "targetAccount":{
         "network":"BITCOIN",
         "label":"Bitcoin (bc1qj)",
         "fields":{
            "address":"bc1qj633nx575jm28smgcp3mx6n3gh0zg6ndr0ew24"
         },
         "fieldConfig":[
            {
               "key":"address",
               "label":"Bitcoin Address",
               "description":"The Bitcoin address. Can be in any format, i.e. native SegWit (bech32), SegWit (P2SH), or legacy (P2PKH)."
            }
         ],
         "state":"ACTIVE",
         "timestamp":"2023-05-21T21:00:26+00:00",
         "beneficiaryId":null
      },
      "webhook":"https://www.your-server.com/path/to/webhook"
   }
}

Başarılı Yanıt Özellikleri

İsim Tür Açıklama Boş olabilen değer
.transfer{} object An object containing transfer information. false
.id string(12) Unique identifier of this transfer. false
.type string The transfer type, i.e. TRANSFER false
.state string The transfer state. The list of possible values is COMPLETED , PENDING_API_COMMIT, PROCESSING, and FAILED. false
.origin string Indicates how the transfer was initiated, either UI or API. false
.timestamp timestamp W3C formatted time stamp with time zone (UTC) specifying when the transfer was created. false
.note note An arbitrary text submitted when invoking POST /transfer. true
.sourceAmountGross string A numeric string indicating the total amount of sourceAsset debited from your account during the transfer. false
.sourceAsset string The source asset. An asset id as given by GET /assets. false
.networkFeeAmount string A numeric string indicating the total amount of networkFeeAsset used during the transfer. false
.networkFeeAsset string The network fee asset. An asset id as given by GET /assets. false
.targetAmountNet string A numeric string indicating the total amount of targetAsset received by the beneficiary. false
.targetAsset string The target asset. An asset id as given by GET /assets. false
.blockchainTransactions[] array A list of blockchain transactions associated with this checkout. false
.type string The type of blockchain transaction, i.e. TRANSFER_PAYOUT. false
.typeDescription string An explanation of the above blockchain transaction type in English plain text. false
.network string The network id as given by GET /networks. Indicates where this transaction was executed. false
.networkName string The network name in English plain text. false
.timestamp string The timestamp at which this transaction was registered on Whalestack. false
.tx string The corresponding blockchain transaction id. false
.amount string The amount transferred during in this transaction. false
.amountAssetCode string The asset code of the amount transferred in this transaction. false
.targetAccount object An object specifying the target account for this transfer, as documented here: GET /target-account. true
.webhook string The webhook URL on your server to which Whalestack posts callback notifications during events related to this transfer (as specified in webhook concepts). true

Hata Yanıtı application/json

{
    "errors":[
        "invalid request (and more information explaining the error in plain text)"
    ]
}

Hata Yanıt Parametreleri

İsim Tür Açıklama Boş olabilen değer
errors[] string[ ] A list of strings explaining the error. false

GET/transferkorumalı

Verilen bir transferin ayrıntılarını alır.

Talep

curl 'https://www.whalestack.com/api/v1/transfer?id=xxx'

İstek Parametreleri

Anahtar Tür Açıklama Varsayılan Zorunlu
id string(12) Unique identifier as given by GET /transfers or POST /transfer. null mandatory

Başarılı Yanıt application/json

{
   "transfer":{
      "id":"8947deb6a087",
      "type":"TRANSFER",
      "state":"COMPLETED",
      "origin":"API",
      "network":"BITCOIN",
      "timestamp":"2023-05-22 03:06:34+03:00",
      "note":null,
      "sourceAmountGross":"0.5000000",
      "sourceAsset":"BTC:GCQVEST7KIWV3KOSNDDUJKEPZLBFWKM7DUS4TCLW2VNVPCBGTDRVTEIT",
      "networkFeeAmount":"0.0002010",
      "networkFeeAsset":"BTC:GCQVEST7KIWV3KOSNDDUJKEPZLBFWKM7DUS4TCLW2VNVPCBGTDRVTEIT",
      "targetAmountNet":"0.4997990",
      "targetAsset":"BTC:GCQVEST7KIWV3KOSNDDUJKEPZLBFWKM7DUS4TCLW2VNVPCBGTDRVTEIT",
      "blockchainTransactions":[
         {
            "type":"TRANSFER_PAYOUT",
            "typeDescription":"Transaction transferring funds from Whalestack to target account.",
            "network":"STELLAR",
            "networkName":"Stellar",
            "timestamp":"2022-10-14T20:06:34+00:00",
            "tx":"9be365f2a550ef83cb0bdab6a606e9a892a896e69a44393e177b7537872d4688",
            "amount":"0.5000000",
            "amountAssetCode":"BTC"
         },
         {
            "type":"TRANSFER_PAYOUT",
            "typeDescription":"Transaction transferring funds from Whalestack to target account.",
            "network":"BITCOIN",
            "networkName":"Bitcoin",
            "timestamp":"2022-10-14T20:06:39+00:00",
            "tx":"f0ddcd0cc9f989c75ce5141f5b85a81d762fb7a8754243e6de977cfa91dd7cb6",
            "amount":"0.4997990",
            "amountAssetCode":"BTC"
         }
      ],
      "targetAccount":{
         "network":"BITCOIN",
         "label":"Bitcoin (bc1qj)",
         "fields":{
            "address":"bc1qj633nx575jm28smgcp3mx6n3gh0zg6ndr0ew24"
         },
         "fieldConfig":[
            {
               "key":"address",
               "label":"Bitcoin Address",
               "description":"The Bitcoin address. Can be in any format, i.e. native SegWit (bech32), SegWit (P2SH), or legacy (P2PKH)."
            }
         ],
         "state":"ACTIVE",
         "timestamp":"2023-05-21T21:00:26+00:00",
         "beneficiaryId":null
      },
      "webhook":"https://www.your-server.com/path/to/webhook"
   }
}

Başarılı Yanıt Özellikleri

İsim Tür Açıklama Boş olabilen değer
.transfer{} object An object containing transfer information. false
.id string(12) Unique identifier of this transfer. false
.type string The transfer type, i.e. TRANSFER false
.state string The transfer state. The list of possible values is COMPLETED , PENDING_API_COMMIT, PROCESSING, and FAILED. false
.origin string Indicates how the transfer was initiated, either UI or API. false
.timestamp timestamp W3C formatted time stamp with time zone (UTC) specifying when the transfer was created. false
.note note An arbitrary text submitted when invoking POST /transfer. true
.sourceAmountGross string A numeric string indicating the total amount of sourceAsset debited from your account during the transfer. false
.sourceAsset string The source asset. An asset id as given by GET /assets. false
.networkFeeAmount string A numeric string indicating the total amount of networkFeeAsset used during the transfer. false
.networkFeeAsset string The network fee asset. An asset id as given by GET /assets. false
.targetAmountNet string A numeric string indicating the total amount of targetAsset received by the beneficiary. false
.targetAsset string The target asset. An asset id as given by GET /assets. false
.blockchainTransactions[] array A list of blockchain transactions associated with this checkout. false
.type string The type of blockchain transaction, i.e. TRANSFER_PAYOUT. false
.typeDescription string An explanation of the above blockchain transaction type in English plain text. false
.network string The network id as given by GET /networks. Indicates where this transaction was executed. false
.networkName string The network name in English plain text. false
.timestamp string The timestamp at which this transaction was registered on Whalestack. false
.tx string The corresponding blockchain transaction id. false
.amount string The amount transferred during in this transaction. false
.amountAssetCode string The asset code of the amount transferred in this transaction. false
.targetAccount object An object specifying the target account for this transfer, as documented here: GET /target-account. true
.webhook string The webhook URL on your server to which Whalestack posts callback notifications during events related to this transfer (as specified in webhook concepts). true

Hata Yanıtı application/json

{
    "errors":[
        "invalid request (and more information explaining the error in plain text)"
    ]
}

Hata Yanıt Parametreleri

İsim Tür Açıklama Boş olabilen değer
errors[] string[ ] A list of strings explaining the error. false

GET/transferskorumalı

Transferlerinizin listesini alır (en yeniden en eskiye doğru azalan sırada).

Talep

curl 'https://www.whalestack.com/api/v1/transfers?limit=250&offset=0'

İstek Parametreleri

Anahtar Tür Açıklama Varsayılan Zorunlu
limit integer Maximum number of transfer objects to be retrieved. 250 optional
offset integer Specifies the pagination offset. 0 optional

Başarılı Yanıt application/json

{
   "count":1,
   "limit":10,
   "offset":0,
   "transfers":[
      {
         "transfer":{
            "id":"8947deb6a087",
            "type":"TRANSFER",
            "state":"COMPLETED",
            "origin":"API",
            "network":"BITCOIN",
            "timestamp":"2023-05-22 03:06:34+03:00",
            "note":null,
            "sourceAmountGross":"0.5000000",
            "sourceAsset":"BTC:GCQVEST7KIWV3KOSNDDUJKEPZLBFWKM7DUS4TCLW2VNVPCBGTDRVTEIT",
            "networkFeeAmount":"0.0002010",
            "networkFeeAsset":"BTC:GCQVEST7KIWV3KOSNDDUJKEPZLBFWKM7DUS4TCLW2VNVPCBGTDRVTEIT",
            "targetAmountNet":"0.4997990",
            "targetAsset":"BTC:GCQVEST7KIWV3KOSNDDUJKEPZLBFWKM7DUS4TCLW2VNVPCBGTDRVTEIT",
            "blockchainTransactions":[
               {
                  "type":"TRANSFER_PAYOUT",
                  "typeDescription":"Transaction transferring funds from Whalestack to target account.",
                  "network":"STELLAR",
                  "networkName":"Stellar",
                  "timestamp":"2022-10-14T20:06:34+00:00",
                  "tx":"9be365f2a550ef83cb0bdab6a606e9a892a896e69a44393e177b7537872d4688",
                  "amount":"0.5000000",
                  "amountAssetCode":"BTC"
               },
               {
                  "type":"TRANSFER_PAYOUT",
                  "typeDescription":"Transaction transferring funds from Whalestack to target account.",
                  "network":"BITCOIN",
                  "networkName":"Bitcoin",
                  "timestamp":"2022-10-14T20:06:39+00:00",
                  "tx":"f0ddcd0cc9f989c75ce5141f5b85a81d762fb7a8754243e6de977cfa91dd7cb6",
                  "amount":"0.4997990",
                  "amountAssetCode":"BTC"
               }
            ],
            "targetAccount":{
               "network":"BITCOIN",
               "label":"Bitcoin (bc1qj)",
               "fields":{
                  "address":"bc1qj633nx575jm28smgcp3mx6n3gh0zg6ndr0ew24"
               },
               "fieldConfig":[
                  {
                     "key":"address",
                     "label":"Bitcoin Address",
                     "description":"The Bitcoin address. Can be in any format, i.e. native SegWit (bech32), SegWit (P2SH), or legacy (P2PKH)."
                  }
               ],
               "state":"ACTIVE",
               "timestamp":"2023-05-21T21:00:26+00:00",
               "beneficiaryId":null
            },
            "webhook":"https://www.your-server.com/path/to/webhook"
         }
      }
   ]
}

Başarılı Yanıt Özellikleri

İsim Tür Açıklama Boş olabilen değer
.count integer The total number of transfers initiated in this account. false
.limit integer The limit argument used in this request. false
.offset integer The pagination offset used in this request. false
.transfers[] array A list of transfer objects. false
.id string(12) Unique identifier of this transfer. false
.type string The transfer type, i.e. TRANSFER false
.state string The transfer state. The list of possible values is COMPLETED , PENDING_API_COMMIT, PROCESSING, and FAILED. false
.origin string Indicates how the transfer was initiated, either UI or API. false
.timestamp timestamp W3C formatted time stamp with time zone (UTC) specifying when the transfer was created. false
.note note An arbitrary text submitted when invoking POST /transfer. true
.sourceAmountGross string A numeric string indicating the total amount of sourceAsset debited from your account during the transfer. false
.sourceAsset string The source asset. An asset id as given by GET /assets. false
.networkFeeAmount string A numeric string indicating the total amount of networkFeeAsset used during the transfer. false
.networkFeeAsset string The network fee asset. An asset id as given by GET /assets. false
.targetAmountNet string A numeric string indicating the total amount of targetAsset received by the beneficiary. false
.targetAsset string The target asset. An asset id as given by GET /assets. false
.blockchainTransactions[] array A list of blockchain transactions associated with this checkout. false
.type string The type of blockchain transaction, i.e. TRANSFER_PAYOUT. false
.typeDescription string An explanation of the above blockchain transaction type in English plain text. false
.network string The network id as given by GET /networks. Indicates where this transaction was executed. false
.networkName string The network name in English plain text. false
.timestamp string The timestamp at which this transaction was registered on Whalestack. false
.tx string The corresponding blockchain transaction id. false
.amount string The amount transferred during in this transaction. false
.amountAssetCode string The asset code of the amount transferred in this transaction. false
.targetAccount object An object specifying the target account for this transfer, as documented here: GET /target-account. true
.webhook string The webhook URL on your server to which Whalestack posts callback notifications during events related to this transfer (as specified in webhook concepts). true

Hata Yanıtı application/json

{
    "errors":[
        "invalid request (and more information explaining the error in plain text)"
    ]
}

Hata Yanıt Parametreleri

İsim Tür Açıklama Boş olabilen değer
errors[] string[ ] A list of strings explaining the error. false

GET/pingkamu

Uygulama Programlama Arayüzüne(API) bir ping isteği gönderir. Bu uç nokta, Whalestack Uygulama ProgramlamaArayüzüne(API) ağ bağlanabilirliğini test etmek için uygundur.

Talep

curl 'https://www.whalestack.com/api/v1/ping'

Başarılı Yanıt application/json

{
    "success":true
}

Başarılı Yanıt Özellikleri

İsim Tür Açıklama Boş olabilen değer
success boolean Indicates the request was processed successfully. false

Hata Yanıtı application/json

{
    "errors":[
        "invalid request (and more information explaining the error in plain text)"
    ]
}

Hata Yanıt Parametreleri

İsim Tür Açıklama Boş olabilen değer
errors[] string[ ] A list of strings explaining the error. false

GET/address-validationkorumalı

Desteklenen blok zincirlerindeki halka açık anahtarları (adresler veya hesaplar) doğrular. Uygulamanızdaki kullanıcı girdisini doğrulamak için bir yardımcı uç nokta olarak kullanılabilir.

Talep

curl 'https://www.whalestack.com/api/v1/address-validation?network=BITCOIN&address=bc1qj633nx575jm28smgcp3mx6n3gh0zg6ndr0ew23'

İstek Parametreleri

Anahtar Tür Açıklama Varsayılan Zorunlu
network string A network identifier as given by GET /networks, e.g. BITCOIN, STELLAR, ETHEREUM, or LITECOIN. null mandatory
address string An address or account public key corresponding to the selected network. null mandatory

Başarılı Yanıt application/json

{
    "valid":true
}

Başarılı Yanıt Özellikleri

İsim Tür Açıklama Boş olabilen değer
valid boolean Indicates whether the given address or account public key is valid. false

Hata Yanıtı application/json

{
    "errors":[
        "invalid request (and more information explaining the error in plain text)"
    ]
}

Hata Yanıt Parametreleri

İsim Tür Açıklama Boş olabilen değer
errors[] string[ ] A list of strings explaining the error. false

GET/exchange-ratekorumalı

Bu uç nokta, geçerli likidite ve emir defteri derinliğini hesaba katarak iki varlık arasındaki mevcut döviz kurunu belirli bir tutarda döndürür. Bu uç nokta, Whalestack'ta ödeme işlemi veya takas sırasında geçici döviz kurunu hesaplamak için kullanılabilir.

İki rastgele para birimi arasındaki küresel ortalama döviz kurunu sorgulamak için lütfen bunun yerine GET /küresel-döviz-kuru uç noktasını kullanın.

Talep

curl 'https://www.whalestack.com/api/v1/exchange-rate?sourceAsset=USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN&targetAsset=BTC:GCQVEST7KIWV3KOSNDDUJKEPZLBFWKM7DUS4TCLW2VNVPCBGTDRVTEIT&amount=5000'

İstek Parametreleri

Anahtar Tür Açıklama Varsayılan Zorunlu
sourceAsset string A source asset id as given by GET /assets. null mandatory
targetAsset string A target asset id as given by GET /assets. null mandatory
amount numeric The source amount in send-amount queries or the target amount in receive-amount queries (see switch). null mandatory
switch string Set to send-amount to indicate that you want to query the tentative amount of targetAsset you will receive for sending a given amount of sourceAsset.

Set to receive-amount to indicate that you want to query the tentative amount of sourceAsset you will have to send to receive a given amount of targetAsset.
send-amount mandatory

Başarılı Yanıt application/json

{
    "sourceAsset": "USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",
    "sourceAmount": "5000",
    "targetAsset": "BTC:GCQVEST7KIWV3KOSNDDUJKEPZLBFWKM7DUS4TCLW2VNVPCBGTDRVTEIT",
    "targetAmount": "0.1622371",
    "pair": "BTC/USD",
    "exchangeRate": "1:30819.0913175",
    "deviation": "0.182",
    "switch": "send-amount"
}

Başarılı Yanıt Özellikleri

İsim Tür Açıklama Boş olabilen değer
sourceAsset string The given source asset. false
sourceAmount string The given source amount for send-amount lookups, or the calculated source amount in receive-amount lookups. false
targetAsset string The given target asset. false
targetAmount string The given target amount for receive-amount lookups, or the calculated target amount in send-amount lookups. false
pair string The currency pair. Base currency followed by the quote currency. false
exchangeRate string A numeric string indicating the tentative exchange rate for the given assets and amount. false
deviation string A numeric string indicating how much the given exchange rate deviates from the global average exchange rate in percentage points. A negative value indicates that the exchange rate is *better* than the global average and a positive value indicates that the exchange rate is *worse* than the global average. false
switch string The given send-amount or receive-amount setting. false

Hata Yanıtı application/json

{
    "errors":[
        "invalid request (and more information explaining the error in plain text)"
    ]
}

Hata Yanıt Parametreleri

İsim Tür Açıklama Boş olabilen değer
errors[] string[ ] A list of strings explaining the error. false

GET/exchange-rate-globalkorumalı

İki rastgele para birimi arasındaki küresel ortalama döviz kurunu döndürür. Bu uç nokta tamamen bilgilendirme amaçlıdır ve Whalestack'ta mevcut olan döviz kurlarını yansıtmaz. Whalestack platformunda kullanılan döviz kurlarını sorgulamak için lütfen GET /döviz-kuru uç noktasını kullanın.

Talep

curl 'https://www.whalestack.com/api/v1/exchange-rate-global?baseCurrency=CHF&quoteCurrency=EUR'

İstek Parametreleri

Anahtar Tür Açıklama Varsayılan Zorunlu
baseCurrency string The ISO code of the base currency. See below for a list of supported currencies. null mandatory
quoteCurrency string The ISO code of the quote (counter) currency. See below for a list of supported currencies. null mandatory
timestamp string A timestamp in the format YYYY-MM-DD (2019-01-01 or later). Defaults to the current time. null optional

Supported Currencies

Asset Code İsim Tür
AEDEmirati DirhamFIAT
ARSArgentine PesoFIAT
AUDAustralian DollarFIAT
BDTBangladeshi TakaFIAT
BHDBahraini DinarFIAT
BMDBermudian DollarFIAT
BRLBrazilian RealFIAT
BTCBitcoinCRYPTO
CADCanadian DollarFIAT
CHFSwiss FrancFIAT
CLPChilean PesoFIAT
CNYChinese YuanFIAT
CZKCzech KorunaFIAT
DKKDanish KroneFIAT
ETHEtherCRYPTO
EUREuroFIAT
GBPBritish PoundFIAT
HKDHong Kong DollarFIAT
HUFHungarian ForintFIAT
IDRIndonesian RupiahFIAT
ILSIsraeli ShekelFIAT
INRIndian RupeeFIAT
JPYJapanese YenFIAT
KRWKorean WonFIAT
KWDKuwaiti DinarFIAT
LKRSri Lankan RupeeFIAT
LTCLitecoinCRYPTO
MMKMyanmar KyatFIAT
MXNMexican PesoFIAT
MYRMalaysian RinggitFIAT
NGNNigerian NairaFIAT
NOKNorwegian KroneFIAT
NZDNew Zealand DollarFIAT
PHPPhilippine PesoFIAT
PKRPakistani RupeeFIAT
PLNPolish ZlotyFIAT
RUBRussian RubleFIAT
SARSaudi Arabian RiyalFIAT
SATSatoshiCRYPTO
SEKSwedish KronaFIAT
SGDSingapore DollarFIAT
THBThai BahtFIAT
TRYTurkish LiraFIAT
TWDTaiwan DollarFIAT
UAHUkrainian HryvniaFIAT
USDUS DollarFIAT
VEFVenezuelan BolivarFIAT
VNDVietnamese DongFIAT
XLMStellar LumensCRYPTO
XRPXRPCRYPTO
ZARSouth African RandFIAT

Başarılı Yanıt application/json

{
    "baseCurrency": "CHF",
    "quoteCurrency": "EUR",
    "pair": "CHF/EUR",
    "exchangeRate": "0.9339042",
    "timestamp": "2021-09-04T21:29:10+00:00"
}

Başarılı Yanıt Özellikleri

İsim Tür Açıklama Boş olabilen değer
baseCurrency string The base currency as given in the API request. false
quoteCurrency string The quote (counter) currency as given in the API request. false
pair string The currency pair used for this exchange. Base currency followed by the quote (counter) currency. false
exchangeRate numeric The exchange rate at the given timestamp. false
timestamp string W3C formatted timestamp at which the exchange rate was calculated. false

Hata Yanıtı application/json

{
    "errors":[
        "invalid request (and more information explaining the error in plain text)"
    ]
}

Hata Yanıt Parametreleri

İsim Tür Açıklama Boş olabilen değer
errors[] string[ ] A list of strings explaining the error. false

GET/timekamu

Geçerli Whalestack sunucu saatini içeren bir Unix zaman damgası döndürür. Sunucunuz ile Whalestack sunucusu arasında zaman farkı olduğunu düşünüyorsanız, kimlik doğrulama için Digest-Auth imzasını oluştururken bu uç noktayı kullanın.

Talep

curl 'https://www.whalestack.com/api/v1/time'

Başarılı Yanıt application/json

{
    "time":1525898643
}

Başarılı Yanıt Özellikleri

İsim Tür Açıklama Boş olabilen değer
time integer Unix timestamp with Whalestack server time. false

Hata Yanıtı application/json

{
    "errors":[
        "invalid request (and more information explaining the error in plain text)"
    ]
}

Hata Yanıt Parametreleri

İsim Tür Açıklama Boş olabilen değer
errors[] string[ ] A list of strings explaining the error. false

GET/auth-testkorumalı

Uygulama Programlama Arayüzü(API) için kimlik doğrulama için Basic-Auth veya Digest-Auth uygulamanızı test etmek için iyi bir başlangıç noktasıdır. Aşağıdaki örnekte bir Digest-Auth isteği gösterilmektedir.

Talep

curl 'https://www.whalestack.com/api/v1/auth-test' \
-H "X-Digest-Key: YOUR_API_KEY" \
-H "X-Digest-Signature: DIGEST_AUTH_SIGNATURE" \
-H "X-Digest-Timestamp: UNIX_TIMESTAMP"

İstek Başlıkları

Anahtar Tür Açıklama
X-Digest-Key string Your Whalestack API Key
X-Digest-Signature string Unique Digest-Auth signature (see authentication)
X-Digest-Timestamp integer Current Unix timestamp (also see GET /time).

Başarılı Yanıt application/json

{
    "success":true
}

Başarılı Yanıt Özellikleri

İsim Tür Açıklama Boş olabilen değer
success boolean Indicates the request was processed successfully. false

Hata Yanıtı application/json

{
    "errors":[
        "invalid request (and more information explaining the error in plain text)"
    ]
}

Hata Yanıt Parametreleri

İsim Tür Açıklama Boş olabilen değer
errors[] string[ ] A list of strings explaining the error. false

GET/languageskorumalı

POST /checkout/hosted ve POST /checkout tarafından desteklenen dillerin bir listesini döndürür.

Talep

curl 'https://www.whalestack.com/api/v1/languages'

Başarılı Yanıt application/json

{
   "languages":[
      {
         "name":"English",
         "languageCode":"en",
         "countryCode":"EN",
         "locale":"en_US"
      },
      {
         "name":"Português",
         "languageCode":"pt",
         "countryCode":"PT",
         "locale":"pt_PT"
      }
   ]
}

Başarılı Yanıt Özellikleri

İsim Tür Açıklama Boş olabilen değer
.languages[] array A list of supported languages. false
.name string Name of the language. false
.languageCode string ISO-639 language code. false
.countryCode string ISO-3166 country code. false
.locale string Code of the locale. false

Hata Yanıtı application/json

{
    "errors":[
        "invalid request (and more information explaining the error in plain text)"
    ]
}

Hata Yanıt Parametreleri

İsim Tür Açıklama Boş olabilen değer
errors[] string[ ] A list of strings explaining the error. false

GET/customerskorumalı

Müşterilerin bir listesini alır (en yeniden en eskiye doğru azalan sırada).

Talep

curl 'https://www.whalestack.com/api/v1/customers?limit=250&offset=0'

İstek Parametreleri

Anahtar Tür Açıklama Varsayılan Zorunlu
limit integer Maximum number of customer objects to be retrieved. 250 optional
offset integer Specifies the pagination offset. 0 optional

Başarılı Yanıt application/json

{
   "count":1,
   "limit":"250",
   "offset":"0",
   "customers":[
      {
         "id":"fd4f47a50c7f",
         "email":"john@doe.com",
         "firstname":"John",
         "lastname":"Doe",
         "name":"John Doe",
         "company":"ACME Inc.",
         "adr1":"810 Beach St",
         "adr2":"Finance Dept",
         "zip":"CA 94133",
         "city":"San Francisco",
         "countrycode":"US",
         "country":"United States",
         "phonenumber":"+14156226819",
         "taxid":"US1234567890",
         "note":"Always pays on time. Never late.",
         "meta":{
            "reference":123
         },
         "inserttime":"2018-12-10T16:16:18+00:00",
         "updatetime":"2018-12-11T17:34:09+00:00",
         "invoiceable":true
      }
   ]
}

Başarılı Yanıt Özellikleri

İsim Tür Açıklama Boş olabilen değer
.count integer The total number of customers in existence for this account. false
.limit integer The limit argument used in this request. false
.offset integer The pagination offset used in this request. false
.customers[] array A list of customer objects. false
.id string(12) Unique identifier. false
.email string The customer's email address. false
.firstname string The customer's first name. true
.lastname string The customer's last name. true
.name string The customer's first name and last name conveniently concatenated into a single attribute. true
.company string The customer's company name. true
.adr1 string The customer's first address line. true
.adr2 string The customer's second address line. true
.zip string The customer's zip code. true
.city string The customer's city. true
.countrycode string(2) The customer's country in two character ISO format. true
.country string The customer's country in plain English. true
.phonenumber string The customer's phone number in international standard format (leading plus). true
.taxid string The customer's tax id. true
.note string An arbitrary note associated with the customer. true
.meta string An arbitrary JSON object associated with the customer. true
.inserttime timestamp W3C formatted time stamp with time zone (UTC) specifying when the customer was created. true
.updatetime timestamp W3C formatted time stamp with time zone (UTC) specifying when the customer was last updated. true
.invoiceable boolean Indicates whether this customer can be invoiced. To qualify for invoices the following fields must be set, adr1, zip, city, countrycode and either firstname and lastname or company. false

Hata Yanıtı application/json

{
    "errors":[
        "invalid request (and more information explaining the error in plain text)"
    ]
}

Hata Yanıt Parametreleri

İsim Tür Açıklama Boş olabilen değer
errors[] string[ ] A list of strings explaining the error. false

POST/customerkorumalı

Ödeme işlemi, ödeme ve fatura ile ilişkilendirilebilen bir müşteri öğesi oluşturur. Verilen e-posta adresine sahip bir müşteri zaten mevcutsa, güncelleme gerçekleştirilir.

Bir müşteriyle ilişkilendirilen ödeme işlemleri daha fazla işlem ayrıntısı oluşturur, muhasebenize yardımcı olur ve müşteriniz ve kendiniz için otomatik olarak fatura oluşturabilir.

Örnek Talep

curl -X POST https://www.whalestack.com/api/v1/customer \
     -d "@payload.json"

Burada payload.json bir JSON nesnesidir.

Örnek Veri

{
   "customer":{
      "email":"john@doe.com",
      "firstname":"John",
      "lastname":"Doe",
      "company":"ACME Inc.",
      "adr1":"810 Beach St",
      "adr2":"Finance Dept",
      "zip":"CA 94133",
      "city":"San Francisco",
      "countrycode":"US",
      "phonenumber":"+14156226819",
      "taxid":"US1234567890",
      "note":"Always pays on time. Never late.",
      "meta":{
         "reference":123
      }
   }
}

İstek Parametreleri (POST)

Faturalar

Müşteri faturalandırmasını etkinleştirmek için bir ad veya şirketin yanı sıra en azından adr1, zip, city ve countrycode ile tam bir adres sağlamanız gerekir.

Anahtar Tür Açıklama Boş olabilen değer Zorunlu
customer{} object An object containing information about your customer. false mandatory
.email string The customer's email address. If a customer with the given email address already exists an update of below records is performed. false mandatory
.firstname string The customer's first name. true optional
.lastname string The customer's last name. true optional
.company string The customer's company name. true optional
.adr1 string The customer's first address line. Must be provided alongside zip, city, and countrycode true optional
.adr2 string The customer's second address line. true optional
.zip string The customer's zip code. Must be provided alongside adr1, city, and countrycode true optional
.city string The customer's city. Must be provided alongside adr1, zip, and countrycode true optional
.countrycode string The customer's country as two character ISO code. Must be provided alongside adr1, zip, and city true optional
.phonenumber string The customer's phone number. true optional
.taxid string The customer's tax id. Useful for accounting and invoicing purposes. true optional
.note string An arbitrary note associated with the customer. true optional
.meta object An arbitrary JSON object associated with the customer. Useful for storing additional reference information for later use. true optional

Başarılı Yanıt application/json

{
    "customerId":"fd4f47a50c7f"
}

Başarılı Yanıt Özellikleri

İsim Tür Açıklama Boş olabilen değer
.customerId string(12) Unique identifier of the new customer object. Store this persistently for later use. false

Hata Yanıtı application/json

{
    "errors":[
        "invalid request (and more information explaining the error in plain text)"
    ]
}

Hata Yanıt Parametreleri

İsim Tür Açıklama Boş olabilen değer
errors[] string[ ] A list of strings explaining the error. false

GET/customerkorumalı

Belirli bir müşterinin ayrıntılarını alır.

Talep

curl 'https://www.whalestack.com/api/v1/customer?id=xxx'

İstek Parametreleri

Anahtar Tür Açıklama Varsayılan Zorunlu
id string(12) Unique identifier as given by POST /customer. null mandatory

Başarılı Yanıt application/json

{
   "customer":{
      "id":"fd4f47a50c7f",
      "email":"john@doe.com",
      "firstname":"John",
      "lastname":"Doe",
      "name":"John Doe",
      "company":"ACME Inc.",
      "adr1":"810 Beach St",
      "adr2":"Finance Dept",
      "zip":"CA 94133",
      "city":"San Francisco",
      "countrycode":"US",
      "country":"United States",
      "phonenumber":"+14156226819",
      "taxid":"US1234567890",
      "note":"Always pays on time. Never late.",
      "meta":{
         "reference":123
      },
      "inserttime":"2018-12-10T16:16:18+00:00",
      "updatetime":"2018-12-11T17:34:09+00:00",
      "invoiceable":true
   }
}

Başarılı Yanıt Özellikleri

İsim Tür Açıklama Boş olabilen değer
.customer{} array An object with details about the customer. false
.id string(12) Unique identifier. false
.email string The customer's email address. false
.firstname string The customer's first name. true
.lastname string The customer's last name. true
.name string The customer's first name and last name conveniently concatenated into a single attribute. true
.company string The customer's company name. true
.adr1 string The customer's first address line. true
.adr2 string The customer's second address line. true
.zip string The customer's zip code. true
.city string The customer's city. true
.countrycode string(2) The customer's country in two character ISO format. true
.country string The customer's country in plain English. true
.phonenumber string The customer's phone number in international standard format (leading plus). true
.taxid string The customer's tax id. true
.note string An arbitrary note associated with the customer. true
.meta string An arbitrary JSON object associated with the customer. true
.inserttime timestamp W3C formatted time stamp with time zone (UTC) specifying when the customer was created. true
.updatetime timestamp W3C formatted time stamp with time zone (UTC) specifying when the customer was last updated. true
.invoiceable boolean Indicates whether this customer can be invoiced. To qualify for invoices the following fields must be set, adr1, zip, city, countrycode and either firstname and lastname or company. false

Hata Yanıtı application/json

{
    "errors":[
        "invalid request (and more information explaining the error in plain text)"
    ]
}

Hata Yanıt Parametreleri

İsim Tür Açıklama Boş olabilen değer
errors[] string[ ] A list of strings explaining the error. false

PUT/customerkorumalı

Mevcut bir müşteri öğesini günceller.

id ve email dışındaki tüm nitelikler isteğe bağlıdır. Yalnızca güncellemek istediğiniz alanları içeren kısmi bir müşteri öğesi gönderebilirsiniz. Bir niteliğin ayarını kaldırmak için değerini null olarak ayarlayın.

Örnek Talep

curl -X PUT https://www.whalestack.com/api/v1/customer \
     -d "@payload.json"

Burada payload.json bir JSON nesnesidir.

Örnek Veri

{
   "customer":{
      "id":"fd4f47a50c7f",
      "email":"john@doe.com",
      "firstname":"John",
      "lastname":"Doe",
      "company":"ACME Inc.",
      "adr1":"810 Beach St",
      "adr2":"Finance Dept",
      "zip":"CA 94133",
      "city":"San Francisco",
      "countrycode":"US",
      "phonenumber":"+14156226819",
      "taxid":"US1234567890",
      "note":"Always pays on time. Never late.",
      "meta":{
         "reference":123
      }
   }
}

İstek Parametreleri (PUT)

PRO Tip

To make a customer invoiceable you need to provide a name or a company as well as a complete address with adr1, zip, city, and countrycode at a minimum.

Anahtar Tür Açıklama Boş olabilen değer Zorunlu
customer{} object The customer object to be included in the request. false mandatory
.id string(12) The customer's unique identifier as given by POST /customer. false mandatory
.email string The customer's email address. false optional
.firstname string The customer's first name. true optional
.lastname string The customer's last name. true optional
.company string The customer's company name. true optional
.adr1 string The customer's first address line. Must be provided alongside zip, city, and countrycode true optional
.adr2 string The customer's second address line. true optional
.zip string The customer's zip code. Must be provided alongside adr1, city, and countrycode true optional
.city string The customer's city. Must be provided alongside adr1, zip, and countrycode true optional
.countrycode string The customer's country as two character ISO code. Must be provided alongside adr1, zip, and city true optional
.phonenumber string The customer's phone number. true optional
.taxid string The customer's tax id. Useful for accounting and invoicing purposes. true optional
.note string An arbitrary note associated with the customer. true optional
.meta object An arbitrary JSON object associated with the customer. Useful for storing additional reference information for later use. true optional

Başarılı Yanıt application/json

{
    "success": true
}

Başarılı Yanıt Özellikleri

İsim Tür Açıklama Boş olabilen değer
success boolean Indicates that the request was processed successfully false

Hata Yanıtı application/json

{
    "errors":[
        "invalid request (and more information explaining the error in plain text)"
    ]
}

Hata Yanıt Parametreleri

İsim Tür Açıklama Boş olabilen değer
errors[] string[ ] A list of strings explaining the error. false

DELETE/customerkorumalı

Mevcut bir müşteri objesini siler.

Örnek Talep

curl -X DELETE https://www.whalestack.com/api/v1/customer \
     -d "@payload.json"

Burada payload.json bir JSON nesnesidir.

Örnek Yük

{
    "id":"fd4f47a50c7f"
}

İstek Parametreleri

Anahtar Tür Açıklama Varsayılan Zorunlu
id string(12) Unique identifier as given by POST /customer. null mandatory

Başarılı Yanıt application/json

{
    "success":true
}

Başarılı Yanıt Özellikleri

İsim Tür Açıklama Boş olabilen değer
success boolean Indicates that request was processed successfully. false

Hata Yanıtı application/json

{
    "errors":[
        "invalid request (and more information explaining the error in plain text)"
    ]
}

Hata Yanıt Parametreleri

İsim Tür Açıklama Boş olabilen değer
errors[] string[ ] A list of strings explaining the error. false

POST/beneficiarykorumalı

Ödeme işlemleri, ödemeler ve faturalarla ilişkilendirilebilen bir yararlanıcı nesnesi oluşturur. Verilen e-posta adresine sahip bir yararlanıcı zaten mevcutsa, güncelleme gerçekleştirilir.

Örnek Talep

curl -X POST https://www.whalestack.com/api/v1/beneficiary \
     -d "@payload.json"

Burada payload.json bir JSON nesnesidir.

Örnek Veri

{
   "beneficiary":{
      "email":"john@doe.com",
      "firstname":"John",
      "lastname":"Doe",
      "company":"ACME Inc.",
      "adr1":"810 Beach St",
      "adr2":"Finance Dept",
      "zip":"CA 94133",
      "city":"San Francisco",
      "countrycode":"US",
      "phonenumber":"+14156226819",
      "taxid":"US1234567890",
      "note":"Always pays on time. Never late.",
      "meta":{
         "reference":123
      }
   }
}

İstek Parametreleri (POST)

Anahtar Tür Açıklama Boş olabilen değer Zorunlu
beneficiary{} object An object containing information about your beneficiary. false mandatory
.email string The beneficiary's email address. If a beneficiary with the given email address already exists an update of below records is performed. false mandatory
.firstname string The beneficiary's first name. true optional
.lastname string The beneficiary's last name. true optional
.company string The beneficiary's company name. true optional
.adr1 string The beneficiary's first address line. Must be provided alongside zip, city, and countrycode true optional
.adr2 string The beneficiary's second address line. true optional
.zip string The beneficiary's zip code. Must be provided alongside adr1, city, and countrycode true optional
.city string The beneficiary's city. Must be provided alongside adr1, zip, and countrycode true optional
.countrycode string The beneficiary's country as two character ISO code. Must be provided alongside adr1, zip, and city true optional
.phonenumber string The beneficiary's phone number. true optional
.taxid string The beneficiary's tax id. Useful for accounting and invoicing purposes. true optional
.note string An arbitrary note associated with the beneficiary. true optional
.meta object An arbitrary JSON object associated with the beneficiary. Useful for storing additional reference information for later use. true optional

Başarılı Yanıt application/json

{
    "beneficiaryId":"fd4f47a50c7f"
}

Başarılı Yanıt Özellikleri

İsim Tür Açıklama Boş olabilen değer
.beneficiaryId string(12) Unique identifier of the new beneficiary object. Store this persistently for later use. false

Hata Yanıtı application/json

{
    "errors":[
        "invalid request (and more information explaining the error in plain text)"
    ]
}

Hata Yanıt Parametreleri

İsim Tür Açıklama Boş olabilen değer
errors[] string[ ] A list of strings explaining the error. false

GET/beneficiarykorumalı

Verilen bir yararlanıcının ayrıntılarını alır.

Talep

curl 'https://www.whalestack.com/api/v1/beneficiary?id=xxx'

İstek Parametreleri

Anahtar Tür Açıklama Varsayılan Zorunlu
id string(12) Unique identifier as given by POST /beneficiary. null mandatory

Başarılı Yanıt application/json

{
   "beneficiary":{
      "id":"fd4f47a50c7f",
      "email":"john@doe.com",
      "firstname":"John",
      "lastname":"Doe",
      "name":"John Doe",
      "company":"ACME Inc.",
      "adr1":"810 Beach St",
      "adr2":"Finance Dept",
      "zip":"CA 94133",
      "city":"San Francisco",
      "countrycode":"US",
      "country":"United States",
      "phonenumber":"+14156226819",
      "taxid":"US1234567890",
      "note":"Always pays on time. Never late.",
      "meta":{
         "reference":123
      },
      "inserttime":"2018-12-10T16:16:18+00:00",
      "updatetime":"2018-12-11T17:34:09+00:00",
      "invoiceable":true
   }
}

Başarılı Yanıt Özellikleri

İsim Tür Açıklama Boş olabilen değer
.beneficiary{} array An object with details about the beneficiary. false
.id string(12) Unique identifier. false
.email string The beneficiary's email address. false
.firstname string The beneficiary's first name. true
.lastname string The beneficiary's last name. true
.name string The beneficiary's first name and last name conveniently concatenated into a single attribute. true
.company string The beneficiary's company name. true
.adr1 string The beneficiary's first address line. true
.adr2 string The beneficiary's second address line. true
.zip string The beneficiary's zip code. true
.city string The beneficiary's city. true
.countrycode string(2) The beneficiary's country in two character ISO format. true
.country string The beneficiary's country in plain English. true
.phonenumber string The beneficiary's phone number in international standard format (leading plus). true
.taxid string The beneficiary's tax id. true
.note string An arbitrary note associated with the beneficiary. true
.meta string An arbitrary JSON object associated with the beneficiary. true
.inserttime timestamp W3C formatted time stamp with time zone (UTC) specifying when the beneficiary was created. true
.updatetime timestamp W3C formatted time stamp with time zone (UTC) specifying when the beneficiary was last updated. true
.invoiceable boolean Indicates whether this beneficiary can be invoiced. To qualify for invoices the following fields must be set, adr1, zip, city, countrycode and either firstname and lastname or company. false

Hata Yanıtı application/json

{
    "errors":[
        "invalid request (and more information explaining the error in plain text)"
    ]
}

Hata Yanıt Parametreleri

İsim Tür Açıklama Boş olabilen değer
errors[] string[ ] A list of strings explaining the error. false

PUT/beneficiarykorumalı

Mevcut bir yararlanıcı öğesini günceller.

id ve email dışındaki tüm nitelikler isteğe bağlıdır. Yalnızca güncellemek istediğiniz alanları içeren kısmi bir yararlanıcı öğesini gönderebilirsiniz. Bir niteliğin ayarını kaldırmak için değerini null olarak ayarlayın.

Örnek Talep

curl -X PUT https://www.whalestack.com/api/v1/beneficiary \
     -d "@payload.json"

Burada payload.json bir JSON nesnesidir.

Örnek Veri

{
   "beneficiary":{
      "id":"fd4f47a50c7f",
      "email":"john@doe.com",
      "firstname":"John",
      "lastname":"Doe",
      "company":"ACME Inc.",
      "adr1":"810 Beach St",
      "adr2":"Finance Dept",
      "zip":"CA 94133",
      "city":"San Francisco",
      "countrycode":"US",
      "phonenumber":"+14156226819",
      "taxid":"US1234567890",
      "note":"Always pays on time. Never late.",
      "meta":{
         "reference":123
      }
   }
}

İstek Parametreleri (PUT)

Anahtar Tür Açıklama Boş olabilen değer Zorunlu
beneficiary{} object The beneficiary object to be included in the request. false mandatory
.id string(12) The beneficiary's unique identifier as given by POST /beneficiary. false mandatory
.email string The beneficiary's email address. false optional
.firstname string The beneficiary's first name. true optional
.lastname string The beneficiary's last name. true optional
.company string The beneficiary's company name. true optional
.adr1 string The beneficiary's first address line. Must be provided alongside zip, city, and countrycode true optional
.adr2 string The beneficiary's second address line. true optional
.zip string The beneficiary's zip code. Must be provided alongside adr1, city, and countrycode true optional
.city string The beneficiary's city. Must be provided alongside adr1, zip, and countrycode true optional
.countrycode string The beneficiary's country as two character ISO code. Must be provided alongside adr1, zip, and city true optional
.phonenumber string The beneficiary's phone number. true optional
.taxid string The beneficiary's tax id. Useful for accounting and invoicing purposes. true optional
.note string An arbitrary note associated with the beneficiary. true optional
.meta object An arbitrary JSON object associated with the beneficiary. Useful for storing additional reference information for later use. true optional

Başarılı Yanıt application/json

{
    "success": true
}

Başarılı Yanıt Özellikleri

İsim Tür Açıklama Boş olabilen değer
success boolean Indicates that the request was processed successfully false

Hata Yanıtı application/json

{
    "errors":[
        "invalid request (and more information explaining the error in plain text)"
    ]
}

Hata Yanıt Parametreleri

İsim Tür Açıklama Boş olabilen değer
errors[] string[ ] A list of strings explaining the error. false

DELETE/beneficiarykorumalı

Mevcut bir yararlanıcı verisini siler.

Örnek Talep

curl -X DELETE https://www.whalestack.com/api/v1/beneficiary \
     -d "@payload.json"

Burada payload.json bir JSON nesnesidir.

Örnek Yük

{
    "id":"fd4f47a50c7f"
}

İstek Parametreleri

Anahtar Tür Açıklama Varsayılan Zorunlu
id string(12) Unique identifier as given by POST /beneficiary. null mandatory

Başarılı Yanıt application/json

{
    "success":true
}

Başarılı Yanıt Özellikleri

İsim Tür Açıklama Boş olabilen değer
success boolean Indicates that request was processed successfully. false

Hata Yanıtı application/json

{
    "errors":[
        "invalid request (and more information explaining the error in plain text)"
    ]
}

Hata Yanıt Parametreleri

İsim Tür Açıklama Boş olabilen değer
errors[] string[ ] A list of strings explaining the error. false

GET/beneficiarieskorumalı

Faydalanıcıların bir listesini alır (en yeniden en eskiye doğru azalan sırada).

Talep

curl 'https://www.whalestack.com/api/v1/beneficiaries?limit=250&offset=0'

İstek Parametreleri

Anahtar Tür Açıklama Varsayılan Zorunlu
limit integer Maximum number of beneficiary objects to be retrieved. 250 optional
offset integer Specifies the pagination offset. 0 optional

Başarılı Yanıt application/json

{
   "count":1,
   "limit":"250",
   "offset":"0",
   "beneficiaries":[
      {
         "id":"fd4f47a50c7f",
         "email":"john@doe.com",
         "firstname":"John",
         "lastname":"Doe",
         "name":"John Doe",
         "company":"ACME Inc.",
         "adr1":"810 Beach St",
         "adr2":"Finance Dept",
         "zip":"CA 94133",
         "city":"San Francisco",
         "countrycode":"US",
         "country":"United States",
         "phonenumber":"+14156226819",
         "taxid":"US1234567890",
         "note":"Always pays on time. Never late.",
         "meta":{
            "reference":123
         },
         "inserttime":"2018-12-10T16:16:18+00:00",
         "updatetime":"2018-12-11T17:34:09+00:00",
         "invoiceable":true
      }
   ]
}

Başarılı Yanıt Özellikleri

İsim Tür Açıklama Boş olabilen değer
.count integer The total number of beneficiaries in existence for this account. false
.limit integer The limit argument used in this request. false
.offset integer The pagination offset used in this request. false
.beneficiaries[] array A list of beneficiary objects. false
.id string(12) Unique identifier. false
.email string The beneficiary's email address. false
.firstname string The beneficiary's first name. true
.lastname string The beneficiary's last name. true
.name string The beneficiary's first name and last name conveniently concatenated into a single attribute. true
.company string The beneficiary's company name. true
.adr1 string The beneficiary's first address line. true
.adr2 string The beneficiary's second address line. true
.zip string The beneficiary's zip code. true
.city string The beneficiary's city. true
.countrycode string(2) The beneficiary's country in two character ISO format. true
.country string The beneficiary's country in plain English. true
.phonenumber string The beneficiary's phone number in international standard format (leading plus). true
.taxid string The beneficiary's tax id. true
.note string An arbitrary note associated with the beneficiary. true
.meta string An arbitrary JSON object associated with the beneficiary. true
.inserttime timestamp W3C formatted time stamp with time zone (UTC) specifying when the beneficiary was created. true
.updatetime timestamp W3C formatted time stamp with time zone (UTC) specifying when the beneficiary was last updated. true
.invoiceable boolean Indicates whether this beneficiary can be invoiced. To qualify for invoices the following fields must be set, adr1, zip, city, countrycode and either firstname and lastname or company. false

Hata Yanıtı application/json

{
    "errors":[
        "invalid request (and more information explaining the error in plain text)"
    ]
}

Hata Yanıt Parametreleri

İsim Tür Açıklama Boş olabilen değer
errors[] string[ ] A list of strings explaining the error. false

Web kancası kavramları

Web kancaları, başarılı ödemeler veya ödeme sırasında eksik ödeme gibi tutarsızlıklar gibi belirli olaylar meydana geldiğinde sunucunuza gerçek zamanlı olarak bilgi aktarmak için bir mekanizma görevi görür.

Uygulamalarında iş akışlarını otomatikleştirmek isteyenler için web kancaları vazgeçilmezdir. Otomatik prosedürleri kolaylaştırarak bir müşteri ödeme işlemini onaylamak veya mal ve hizmetlerin teslimatını başlatmak gibi eylemlere izin verirler.

Web kancası URL'sini tanımlama

Belirlediğiniz web kancası URL'si ilk Uygulama Arayüzü Programlama(API) çağrınız sırasında POST /checkout, POST /checkout/hosted veya POST /deposit-address aracılığıyla tanımlanır. Uygulama Programlama Arayüzü(API) ayarlarınızda varsayılan web kancası URL'lerini ayarlayabilseniz de, Uygulama Programlama Arayüzü(API) çağrıları sırasında sağlanan herhangi bir URL öncelikli olacaktır. Bir web kancası URL'si belirledikten sonra, ilgili olaylar için sistemimiz bir HTTP POST aracılığıyla sizi derhal bilgilendirir.

Web kancası Olaylarını Anlama

Web kancası olayları, başarılı bir ödeme işlemi tamamlama (WEBHOOK checkout-completed) veya eksik ödeme (WEBHOOK checkout-underpaid) gibi anormallikler gibi senaryolarda etkinleştirilir. Platformumuzu sürekli olarak geliştirirken, daha fazla web kancası olayı için bizi yakından takip etmeye devam edin. Sol taraftaki menüden web kancası olaylarının kapsamlı bir listesini inceleyebilirsiniz.

Web Kancası Anatomisi

Bir web kancasını, bizim tarafımızdan sunucunuza gönderilen geleneksel bir HTTP POST isteği olarak düşünün. Bu istek, web kancası olay türünü ve ilgili verileri detaylandıran temel verileri barındıran bir HTTP gövdesi ile birlikte kaynağının doğrulanmasına yardımcı olabilecek HTTP başlıklarını içerir.

Web Kancası Başlıkları

POST / HTTP/1.1
User-Agent: Whalestack Webhook Engine 1.0.1
Host: www.merchant.com
Accept: */*
Content-Type: application/json
Connection: close
X-Webhook-Auth: 06b7ff792a30a172c51c163f666dd6908d85fdda78451b36de9f3f8e985412be
Content-Length: 532

Web Kancası İçeriği

{
  "eventType": "CHECKOUT_COMPLETED",
  "data": {...}
}

Web Kancası Yükü Özellikleri

İsim Tür Açıklama Boş olabilen değer
.eventType string Indicates the webhook event type. Different types have different payloads and you should implement a parser for each event type. Valid types are:
CHECKOUT_COMPLETED, CHECKOUT_UNDERPAID, UNDERPAID_ACCEPTED, DEPOSIT_PENDING, DEPOSIT_COMPLETED, SWAP_COMPLETED, SWAP_FAILED, TRANSFER_COMPLETED, TRANSFER_FAILED.
false
.data string An object containing the payload associated with this event type. false

Web Kancası Yüklerini Ayrıştırma

Web kancası yükleri olay türleri arasında farklılık gösterir. Sisteminiz eventType öğesini incelemeli ve desteklemek istediğiniz her olay türü için bir ayrıştırıcı uygulamalıdır.

PHP Logo Örnek: Olay Türüne Göre Ayrıştırma (PHP)

$payload = json_decode(file_get_contents("php://input"), true);
$type = $payload['eventType'];
$data = $payload['data'];

switch($type) {
    case('CHECKOUT_COMPLETED'):
        // do something when a checkout was successfully completed (and your account is credited)
        break;
    case('CHECKOUT_UNDERPAID'):
        // do something when a checkout was underpaid (and your account is not credited yet)
        break;
    case('UNDERPAID_ACCEPTED'):
        // do something when an underpaid checkout was manually accepted (and your account is credited)
        break;
    case('DEPOSIT_PENDING'):
        // do something when a deposit was detected on chain but is still unconfirmed (and your account is not credited yet)
        break;
    case('DEPOSIT_COMPLETED'):
        // do something when a deposit completed (and your account is credited)
        break;
    case('SWAP_COMPLETED'):
        // do something when a swap completed (and funds in your account are exchanged)
        break;
    case('SWAP_FAILED'):
        // do something when a swap failed (and no funds are affected)
        break;
    case('TRANSFER_COMPLETED'):
        // do something when a transfer completed (and your account is debited)
        break;
    case('TRANSFER_FAILED'):
        // do something when a transfer failed (and no funds were affected)
        break;
    break;
}

Web Kancası Kimlik Doğrulaması

Uç noktanıza ek güvenlik ekleyin ve X-Webhook-Auth başlığını ayrıştırıp değerini doğrulayarak sahteciliği önleyin.

Bir hash hash('sha256', YOUR_API_SECRET . WEBHOOK_REQUEST_BODY) (burada . birleştirmeyi temsil eder) oluşturarak ve bunu X-Webhook-Auth başlık değeriyle eşleştirerek isteğin Whalestack platformu tarafından gönderildiğini doğrulayın.

PHP Logo Örnek: Kimlik Doğrulama Kontrolü (PHP)

$authHeader = $_SERVER['HTTP_X_WEBHOOK_AUTH'];
$payload = file_get_contents("php://input");

if ($authHeader != hash('sha256', $yourApiSecret . $payload)) {
    // this is not a valid webhook
}

Web kancalarına yanıt veriliyor

HTTP 200 OK ile yanıt verin. Sunucunuz, web kancası yükünü başarıyla ayrıştırıp sakladıktan sonra HTTP yanıtında 200 durum koduyla yanıt vermelidir. Sistemimiz, 200 durum kodunu algılayana kadar artan aralıklarla 48 saate kadar web kancası istekleri göndermeye devam edecektir. Bundan daha uzun bir süre boyunca 200 HTTP durum kodu almazsak, web kancasının süresi dolar ve denemeyi durdurur.

Web Kancası Geçmişi Denetleniyor

Whalestack tarafından gönderilen web kancalarını, platformun HTTP yanıtlarınızla birlikte inceleyin.

Bu, HTTP istekleri ve yanıtlarındaki sorunları ayıklamaya yardımcı olduğu için uygulama aşamasında son derece yararlı olabilir.

WEBHOOK EVENTcheckout-completed

Bu web kancası etkinliği, bir müşteri ödemesi başarıyla tamamlandığında, Whalestack cüzdanınıza para yatırıldığında ve herhangi bir mal veya hizmet göndermek güvenli olduğunda tetiklenir.

Web kancalarıyla nasıl çalışılacağı hakkında daha fazla bilgi edinmek için lütfen web kancası kavramları hakkında bilgi edinin.

Web Kancası İçeriği

{
   "eventType":"CHECKOUT_COMPLETED",
   "data":{
      "checkout":{
         "id":"a2d963a87d70",
         "timestamp":"2023-05-29T17:36:30+00:00",
         "state":"COMPLETED",
         "type":"HOSTED",
         "origin":"API",
         "settlementAssetId":"USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",
         "settlementAmountRequired":"117.8379738",
         "settlementAmountReceived":"117.8379738",
         "settlementAmountFeePaid":"0.0000000",
         "sourceAssetId":"BTC:GCQVEST7KIWV3KOSNDDUJKEPZLBFWKM7DUS4TCLW2VNVPCBGTDRVTEIT",
         "sourceAmountRequired":"0.0043193",
         "sourceAmountReceived":"0.0043193",
         "sourceNetwork":"BITCOIN",
         "sourceNetworkName":"Bitcoin",
         "depositAddress":"3Qg8rR28fPZXMiEbM2QB9RjQfM1MjuN9f8",
         "blockchainTransactions":[
            {
               "type":"CHECKOUT_ORIGIN",
               "typeDescription":"Blockchain payment transaction initiated by customer.",
               "network":"BITCOIN",
               "networkName":"Bitcoin",
               "timestamp":"2023-05-29T17:55:52+00:00",
               "tx":"27a3e9425ef73e80a2c2d97886a0e1f88662df9358150f773f39cfef7cb39621",
               "amount":"0.0043193",
               "amountAssetCode":"BTC",
               "exception":null
            },
            {
               "type":"CHECKOUT_BRIDGE",
               "typeDescription":"Fund transfer from native blockchain to Stellar Network.",
               "network":"STELLAR",
               "networkName":"Stellar",
               "timestamp":"2023-05-29T17:56:03+00:00",
               "tx":"f016f835249302f90b82237a9b9782bde09e912d924d6a27ee858e011db14825",
               "amount":"0.0043193",
               "amountAssetCode":"BTC",
               "exception":null
            },
            {
               "type":"CHECKOUT_SETTLEMENT",
               "typeDescription":"Stellar transaction crediting your Whalestack merchant account.",
               "network":"STELLAR",
               "networkName":"Stellar",
               "timestamp":"2023-05-29T17:56:03+00:00",
               "tx":"9e912d924d6a27ee858e011db14825f016f835249302f90b82237a9b9782bde0",
               "amount":"117.8379738",
               "amountAssetCode":"USDC",
               "exception":null
            }
         ],
         "payload":{
            "charge":{
               "customerId":"bb657e88a23d",
               "currency":"EUR",
               "lineItems":[
                  {
                     "description":"Mobile Data Prepaid Credits",
                     "netAmount":"110.00000"
                  }
               ],
               "shippingCostItems":[
                  {
                     "description":"Instant Delivery",
                     "netAmount":0
                  }
               ],
               "taxItems":[
                  {
                     "name":"Hong Kong Sales Tax",
                     "percent":0
                  }
               ]
            },
            "settlementAsset":"USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",
            "webhook":"https://www.my-server.com/api/?action=cq-webhook",
            "links":{
               "cancelUrl":"https://www.my-server.com/en/payments",
               "returnUrl":"https://www.my-server.com/en/invoice/57abff04a03d"
            }
         },
         "hostedCheckoutUrl":"https://www.whalestack.com/en/checkout/a2d963a87d70"
      }
   }
}

Web Kancası Yükü Özellikleri

İsim Tür Açıklama Boş olabilen değer
.eventType string Indicates the webhook event type (CHECKOUT_COMPLETED). false
.data object Contains an object of type checkout. false
.checkout object An object of type checkout with a COMPLETED state as documented in GET checkout false

WEBHOOK EVENTcheckout-underpaid

Bu web kancası olayı, bir müşteri ödemesi yakalandığında ancak ödeme tutarı beklenenden az olduğunda tetiklenir. Bu durumda para hesabınıza yatırılmamıştır ve henüz herhangi bir mal veya hizmet göndermemelisiniz.

Çözülmemiş ödemeler UI panelinizde listelenir ve para iadesi yapmak veya özel bir indirim yaparak eksik ödeme işlemini kabul etmek gibi eylem seçenekleri içerir.

Bu HOSTED türünde bir ödeme işlemiyse ve bir müşteriyi bu ödeme işlemiyle ilişkilendirdiyseniz, sistemimiz otomatik olarak müşteriyi ödeme işlemini nasıl tamamlayacağı ve kalan farkı nasıl ödeyeceği konusunda bilgilendirir.

Bu SELF-HOSTED türünde bir ödeme işlemiyse veya bunu bir müşteriyle ilişkilendirmediyseniz, kullanıcınızı sourceAmountRequired ile sourceAmountReceived arasındaki farkı karşılayan başka bir ödeme göndermesi için bilgilendirmelisiniz. Ödeme, başlangıçta bu ödeme işlemi ile ilişkilendirilen aynı mevduat adresine gönderilmelidir.

Web kancalarıyla nasıl çalışılacağı hakkında daha fazla bilgi edinmek için lütfen web kancası kavramları hakkında bilgi edinin.

Web Kancası İçeriği

{
   "eventType":"CHECKOUT_COMPLETED",
   "data":{
      "checkout":{
         "id":"a2d963a87d70",
         "timestamp":"2023-05-29T17:36:30+00:00",
         "state":"UNRESOLVED_UNDERPAID",
         "type":"HOSTED",
         "origin":"API",
         "settlementAssetId":"USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",
         "settlementAmountRequired":"117.8379738",
         "settlementAmountReceived":"0.0000000",
         "settlementAmountFeePaid":"0.0000000",
         "sourceAssetId":"BTC:GCQVEST7KIWV3KOSNDDUJKEPZLBFWKM7DUS4TCLW2VNVPCBGTDRVTEIT",
         "sourceAmountRequired":"0.0043193",
         "sourceAmountReceived":"0.0040000",
         "sourceNetwork":"BITCOIN",
         "sourceNetworkName":"Bitcoin",
         "depositAddress":"3Qg8rR28fPZXMiEbM2QB9RjQfM1MjuN9f8",
         "blockchainTransactions":[
            {
               "type":"CHECKOUT_ORIGIN",
               "typeDescription":"Blockchain payment transaction initiated by customer.",
               "network":"BITCOIN",
               "networkName":"Bitcoin",
               "timestamp":"2023-05-29T17:55:52+00:00",
               "tx":"27a3e9425ef73e80a2c2d97886a0e1f88662df9358150f773f39cfef7cb39621",
               "amount":"0.0043193",
               "amountAssetCode":"BTC",
               "exception":null
            },
            {
               "type":"CHECKOUT_BRIDGE",
               "typeDescription":"Fund transfer from native blockchain to Stellar Network.",
               "network":"STELLAR",
               "networkName":"Stellar",
               "timestamp":"2023-05-29T17:56:03+00:00",
               "tx":"f016f835249302f90b82237a9b9782bde09e912d924d6a27ee858e011db14825",
               "amount":"0.0040000",
               "amountAssetCode":"BTC",
               "exception":null
            }
         ],
         "payload":{
            "charge":{
               "customerId":"bb657e88a23d",
               "currency":"EUR",
               "lineItems":[
                  {
                     "description":"Mobile Data Prepaid Credits",
                     "netAmount":"110.00000"
                  }
               ],
               "shippingCostItems":[
                  {
                     "description":"Instant Delivery",
                     "netAmount":0
                  }
               ],
               "taxItems":[
                  {
                     "name":"Hong Kong Sales Tax",
                     "percent":0
                  }
               ]
            },
            "settlementAsset":"USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",
            "webhook":"https://www.my-server.com/api/?action=cq-webhook",
            "links":{
               "cancelUrl":"https://www.my-server.com/en/payments",
               "returnUrl":"https://www.my-server.com/en/invoice/57abff04a03d"
            }
         },
         "hostedCheckoutUrl":"https://www.whalestack.com/en/checkout/a2d963a87d70"
      }
   }
}

Web Kancası Yükü Özellikleri

İsim Tür Açıklama Boş olabilen değer
.eventType string Indicates the webhook event type (CHECKOUT_UNDERPAID). false
.data object Contains an object of type checkout. false
.checkout object An object of type checkout with a UNRESOLVED_UNDERPAID state as documented in GET checkout false

WEBHOOK EVENTunderpaid-accepted

Bu web kancası olayı, Whalestack platformu kullanıcı arayüzü aracılığıyla eksik ödenen bir ödeme işlemini manuel olarak kabul ettiğinizde veya hesap ayarlarınızda eksik ödenen ödeme işlemlerinin otomatik olarak kapatılmasını etkinleştirdiğinizde tetiklenir. Bu durumlarda hesabınıza başlangıçta talep edilen ödeme tutarının bir kısmı yatırılır.

settlementAmountReceived özellik alanı, hesabınıza yatırılan tam tutarı sağlar. sourceAmountRequired ve sourceAmountReceived alanları, ödeme işleminin ne kadar eksik yapıldığını belirtir.

Web kancalarıyla nasıl çalışılacağı hakkında daha fazla bilgi edinmek için lütfen web kancası kavramları hakkında bilgi edinin.

Web Kancası İçeriği

{
   "eventType":"UNDERPAID_ACCEPTED",
   "data":{
      "checkout":{
         "id":"a2d963a87d70",
         "timestamp":"2023-05-29T17:36:30+00:00",
         "state":"COMPLETED",
         "type":"HOSTED",
         "origin":"API",
         "settlementAssetId":"USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",
         "settlementAmountRequired":"117.8379738",
         "settlementAmountReceived":"108.7364213",
         "settlementAmountFeePaid":"0.0000000",
         "sourceAssetId":"BTC:GCQVEST7KIWV3KOSNDDUJKEPZLBFWKM7DUS4TCLW2VNVPCBGTDRVTEIT",
         "sourceAmountRequired":"0.0043193",
         "sourceAmountReceived":"0.0040000",
         "sourceNetwork":"BITCOIN",
         "sourceNetworkName":"Bitcoin",
         "depositAddress":"3Qg8rR28fPZXMiEbM2QB9RjQfM1MjuN9f8",
         "blockchainTransactions":[
            {
               "type":"CHECKOUT_ORIGIN",
               "typeDescription":"Blockchain payment transaction initiated by customer.",
               "network":"BITCOIN",
               "networkName":"Bitcoin",
               "timestamp":"2023-05-29T17:55:52+00:00",
               "tx":"27a3e9425ef73e80a2c2d97886a0e1f88662df9358150f773f39cfef7cb39621",
               "amount":"0.0043193",
               "amountAssetCode":"BTC",
               "exception":null
            },
            {
               "type":"CHECKOUT_BRIDGE",
               "typeDescription":"Fund transfer from native blockchain to Stellar Network.",
               "network":"STELLAR",
               "networkName":"Stellar",
               "timestamp":"2023-05-29T17:56:03+00:00",
               "tx":"f016f835249302f90b82237a9b9782bde09e912d924d6a27ee858e011db14825",
               "amount":"0.0040000",
               "amountAssetCode":"BTC",
               "exception":null
            }
         ],
         "payload":{
            "charge":{
               "customerId":"bb657e88a23d",
               "currency":"EUR",
               "lineItems":[
                  {
                     "description":"Mobile Data Prepaid Credits",
                     "netAmount":"110.00000"
                  }
               ],
               "shippingCostItems":[
                  {
                     "description":"Instant Delivery",
                     "netAmount":0
                  }
               ],
               "taxItems":[
                  {
                     "name":"Hong Kong Sales Tax",
                     "percent":0
                  }
               ]
            },
            "settlementAsset":"USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",
            "webhook":"https://www.my-server.com/api/?action=cq-webhook",
            "links":{
               "cancelUrl":"https://www.my-server.com/en/payments",
               "returnUrl":"https://www.my-server.com/en/invoice/57abff04a03d"
            }
         },
         "hostedCheckoutUrl":"https://www.whalestack.com/en/checkout/a2d963a87d70"
      }
   }
}

Web Kancası Yükü Özellikleri

İsim Tür Açıklama Boş olabilen değer
.eventType string Indicates the webhook event type (UNDERPAID_ACCEPTED). false
.data object Contains an object of type checkout. false
.checkout object An object of type checkout with a COMPLETED state as documented in GET checkout false

WEBHOOK EVENTdeposit-pending

Bu web kancası olayı, zincir üzerinde bir para yatırma işlemi tespit edildiğinde ancak hala onaylanmadığında ve hesabınıza henüz para yatırılmadığında tetiklenir. Bir para yatırma işleminin kesinliğe ulaşması için bir ila altı blok zinciri onayı gerekir.

Web kancalarıyla nasıl çalışılacağı hakkında daha fazla bilgi edinmek için lütfen web kancası kavramları hakkında bilgi edinin.

Web Kancası İçeriği

{
   "eventType":"DEPOSIT_PENDING",
   "data":{
      "deposit":{
         "id":"eb3729168fb2",
         "state":"PENDING_EXTERNAL",
         "timestamp":"2022-10-14T19:49:51+00:00",
         "network":"BITCOIN",
         "networkName":"Bitcoin",
         "depositAddress":"bc1q2acmt0h28k0n5zlazj2m8k3zwxaklzpcx0kf34",
         "asset":"BTC:GCQVEST7KIWV3KOSNDDUJKEPZLBFWKM7DUS4TCLW2VNVPCBGTDRVTEIT",
         "currencyCode":"BTC",
         "amountGross":"7.1479281",
         "amountNet":"7.1479281",
         "amountFees":"0.0000000",
         "webhook":"https://www.your-server.com/path/to/webhook",
         "customerId":null,
         "blockchainTransactions":[
            {
               "type":"DEPOSIT_ORIGIN",
               "typeDescription":"Blockchain transaction on the source network.",
               "network":"BITCOIN",
               "networkName":"Bitcoin",
               "timestamp":"2022-10-14T20:00:17+00:00",
               "tx":"77ddc93467f12fc79d73a936f09044689eebb1e045c1f81b5c14a91396147fed",
               "amount":"7.1479281",
               "amountAssetCode":"BTC"
            }
         ]
      }
   }
}

Web Kancası Yükü Özellikleri

İsim Tür Açıklama Boş olabilen değer
.eventType string Indicates the webhook event type (PENDING_EXTERNAL). false
.data object Contains an object of type deposit. false
.deposit object An object of type deposit with a PENDING_EXTERNAL state as documented in GET deposit false

WEBHOOK EVENTdeposit-completed

Bu web kancası etkinliği, bir para yatırma işlemi başarıyla tamamlandığında tetiklenir.

Web kancalarıyla nasıl çalışılacağı hakkında daha fazla bilgi edinmek için lütfen web kancası kavramları hakkında bilgi edinin.

Web Kancası İçeriği

{
   "eventType":"DEPOSIT_COMPLETED",
   "data":{
      "deposit":{
         "id":"eb3729168fb2",
         "state":"COMPLETED",
         "timestamp":"2022-10-14T19:49:51+00:00",
         "network":"BITCOIN",
         "networkName":"Bitcoin",
         "depositAddress":"bc1q2acmt0h28k0n5zlazj2m8k3zwxaklzpcx0kf34",
         "asset":"BTC:GCQVEST7KIWV3KOSNDDUJKEPZLBFWKM7DUS4TCLW2VNVPCBGTDRVTEIT",
         "currencyCode":"BTC",
         "amountGross":"7.1479281",
         "amountNet":"7.1479281",
         "amountFees":"0.0000000",
         "webhook":"https://www.your-server.com/path/to/webhook",
         "customerId":null,
         "blockchainTransactions":[
            {
               "type":"DEPOSIT_ORIGIN",
               "typeDescription":"Blockchain transaction on the source network.",
               "network":"BITCOIN",
               "networkName":"Bitcoin",
               "timestamp":"2022-10-14T20:00:17+00:00",
               "tx":"77ddc93467f12fc79d73a936f09044689eebb1e045c1f81b5c14a91396147fed",
               "amount":"7.1479281",
               "amountAssetCode":"BTC"
            },
            {
               "type":"DEPOSIT_SETTLEMENT",
               "typeDescription":"Stellar transaction crediting your Whalestack merchant account.",
               "network":"STELLAR",
               "networkName":"Stellar",
               "timestamp":"2022-10-14T20:00:17+00:00",
               "tx":"24c69c410e48ab3f7dd264429ec090e954b3b8b3b9860a5dd6c130f2926e0857",
               "amount":"7.1479281",
               "amountAssetCode":"BTC"
            }
         ]
      }
   }
}

Web Kancası Yükü Özellikleri

İsim Tür Açıklama Boş olabilen değer
.eventType string Indicates the webhook event type (DEPOSIT_COMPLETED). false
.data object Contains an object of type deposit. false
.deposit object An object of type deposit with a COMPLETED state as documented in GET deposit false

WEBHOOK EVENTswap-completed

Bu web kancası etkinliği, bir değişim başarıyla tamamlandığında tetiklenir.

Web kancalarıyla nasıl çalışılacağı hakkında daha fazla bilgi edinmek için lütfen web kancası kavramları hakkında bilgi edinin.

Web Kancası İçeriği

{
   "eventType":"SWAP_COMPLETED",
   "data":{
      "swap":{
         "id":"5074f4ee055d",
         "state":"COMPLETED",
         "type":"SOURCE_SPECIFIED",
         "origin":"API",
         "createTime":"2021-05-06T22:15:37+00:00",
         "completeTime":"2021-05-06T22:16:01+00:00",
         "expireTime":"2021-05-06T23:15:37+00:00",
         "sourceAssetId":"USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",
         "sourceAmount":"100.0000000",
         "targetAssetId":"XLM:NATIVE",
         "targetAmount":"243.3928192",
         "blockchainTransactions":[
            {
               "type":"SWAP",
               "typeDescription":"Blockchain transaction executed during the swap on the Stellar Network.",
               "network":"STELLAR",
               "networkName":"Stellar",
               "timestamp":"2021-05-06T22:16:01+00:00",
               "tx":"ac8f8554b273c8a0191309154bd108346c333b7f9dc3ada8f080c7efaab614a7",
               "amount":"243.3928192",
               "amountAssetCode":"XLM"
            }
         ]
      }
   }
}

Web Kancası Yükü Özellikleri

İsim Tür Açıklama Boş olabilen değer
.eventType string Indicates the webhook event type (SWAP_COMPLETED). false
.data object Contains an object of type swap. false
.swap object An object of type swap with a COMPLETED state as documented in GET swap false

WEBHOOK EVENTswap-failed

Bu web kancası etkinliği, bir değişim başarısız olduğunda (ve bakiyeyi etkileyen bir işlem gerçekleşmediğinde) tetiklenir.

Web kancalarıyla nasıl çalışılacağı hakkında daha fazla bilgi edinmek için lütfen web kancası kavramları hakkında bilgi edinin.

Web Kancası İçeriği

{
   "eventType":"SWAP_FAILED",
   "data":{
      "swap":{
         "id":"5074f4ee055d",
         "state":"FAILED",
         "type":"SOURCE_SPECIFIED",
         "origin":"API",
         "createTime":"2021-05-06T22:15:37+00:00",
         "completeTime":"2021-05-06T22:16:01+00:00",
         "expireTime":"2021-05-06T23:15:37+00:00",
         "sourceAssetId":"USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",
         "sourceAmount":"100.0000000",
         "targetAssetId":"XLM:NATIVE",
         "targetAmount":"243.3928192",
         "blockchainTransactions":[]
      }
   }
}

Web Kancası Yükü Özellikleri

İsim Tür Açıklama Boş olabilen değer
.eventType string Indicates the webhook event type (SWAP_FAILED). false
.data object Contains an object of type swap. false
.swap object An object of type swap with a FAILED state as documented in GET swap false

WEBHOOK EVENTtransfer-completed

Bu web kancası etkinliği, bir transfer başarıyla tamamlandığında tetiklenir.

Web kancalarıyla nasıl çalışılacağı hakkında daha fazla bilgi edinmek için lütfen web kancası kavramları hakkında bilgi edinin.

Web Kancası İçeriği

{
   "eventType":"TRANSFER_COMPLETED",
   "data":{
      "transfer":{
         "id":"8947deb6a087",
         "type":"TRANSFER",
         "state":"COMPLETED",
         "origin":"API",
         "network":"BITCOIN",
         "timestamp":"2023-05-22 03:06:34+03:00",
         "note":null,
         "sourceAmountGross":"0.5000000",
         "sourceAsset":"BTC:GCQVEST7KIWV3KOSNDDUJKEPZLBFWKM7DUS4TCLW2VNVPCBGTDRVTEIT",
         "networkFeeAmount":"0.0002010",
         "networkFeeAsset":"BTC:GCQVEST7KIWV3KOSNDDUJKEPZLBFWKM7DUS4TCLW2VNVPCBGTDRVTEIT",
         "targetAmountNet":"0.4997990",
         "targetAsset":"BTC:GCQVEST7KIWV3KOSNDDUJKEPZLBFWKM7DUS4TCLW2VNVPCBGTDRVTEIT",
         "blockchainTransactions":[
            {
               "type":"TRANSFER_PAYOUT",
               "typeDescription":"Transaction transferring funds from Whalestack to target account.",
               "network":"STELLAR",
               "networkName":"Stellar",
               "timestamp":"2022-10-14T20:06:34+00:00",
               "tx":"9be365f2a550ef83cb0bdab6a606e9a892a896e69a44393e177b7537872d4688",
               "amount":"0.5000000",
               "amountAssetCode":"BTC"
            },
            {
               "type":"TRANSFER_PAYOUT",
               "typeDescription":"Transaction transferring funds from Whalestack to target account.",
               "network":"BITCOIN",
               "networkName":"Bitcoin",
               "timestamp":"2022-10-14T20:06:39+00:00",
               "tx":"f0ddcd0cc9f989c75ce5141f5b85a81d762fb7a8754243e6de977cfa91dd7cb6",
               "amount":"0.4997990",
               "amountAssetCode":"BTC"
            }
         ],
         "targetAccount":{
            "network":"BITCOIN",
            "label":"Bitcoin (bc1qj)",
            "fields":{
               "address":"bc1qj633nx575jm28smgcp3mx6n3gh0zg6ndr0ew24"
            },
            "fieldConfig":[
               {
                  "key":"address",
                  "label":"Bitcoin Address",
                  "description":"The Bitcoin address. Can be in any format, i.e. native SegWit (bech32), SegWit (P2SH), or legacy (P2PKH)."
               }
            ],
            "state":"ACTIVE",
            "timestamp":"2023-05-21T21:00:26+00:00",
            "beneficiaryId":null
         },
         "webhook":"https://www.your-server.com/path/to/webhook"
      }
   }
}

Web Kancası Yükü Özellikleri

İsim Tür Açıklama Boş olabilen değer
.eventType string Indicates the webhook event type (TRANSFER_COMPLETED). false
.data object Contains an object of type transfer. false
.transfer object An object of type transfer with a COMPLETED state as documented in GET transfer false

WEBHOOK EVENTtransfer-failed

Bu web kancası etkinliği, bir transfer başarısız olduğunda (ve bakiyeyi etkileyen bir işlem gerçekleşmediğinde) tetiklenir.

Web kancalarıyla nasıl çalışılacağı hakkında daha fazla bilgi edinmek için lütfen web kancası kavramları hakkında bilgi edinin.

Web Kancası İçeriği

{
   "eventType":"TRANSFER_FAILED",
   "data":{
      "transfer":{
         "id":"8947deb6a087",
         "type":"TRANSFER",
         "state":"FAILED",
         "origin":"API",
         "network":"BITCOIN",
         "timestamp":"2023-05-22 03:06:34+03:00",
         "note":null,
         "sourceAmountGross":"0.5000000",
         "sourceAsset":"BTC:GCQVEST7KIWV3KOSNDDUJKEPZLBFWKM7DUS4TCLW2VNVPCBGTDRVTEIT",
         "networkFeeAmount":"0.0002010",
         "networkFeeAsset":"BTC:GCQVEST7KIWV3KOSNDDUJKEPZLBFWKM7DUS4TCLW2VNVPCBGTDRVTEIT",
         "targetAmountNet":"0.4997990",
         "targetAsset":"BTC:GCQVEST7KIWV3KOSNDDUJKEPZLBFWKM7DUS4TCLW2VNVPCBGTDRVTEIT",
         "blockchainTransactions":[

         ],
         "targetAccount":{
            "network":"BITCOIN",
            "label":"Bitcoin (bc1qj)",
            "fields":{
               "address":"bc1qj633nx575jm28smgcp3mx6n3gh0zg6ndr0ew24"
            },
            "fieldConfig":[
               {
                  "key":"address",
                  "label":"Bitcoin Address",
                  "description":"The Bitcoin address. Can be in any format, i.e. native SegWit (bech32), SegWit (P2SH), or legacy (P2PKH)."
               }
            ],
            "state":"ACTIVE",
            "timestamp":"2023-05-21T21:00:26+00:00",
            "beneficiaryId":null
         },
         "webhook":"https://www.your-server.com/path/to/webhook"
      }
   }
}

Web Kancası Yükü Özellikleri

İsim Tür Açıklama Boş olabilen değer
.eventType string Indicates the webhook event type (TRANSFER_FAILED). false
.data object Contains an object of type transfer. false
.transfer object An object of type transfer with a FAILED state as documented in GET transfer false
© Whalestack LLC 2018-2024 · Hizmet Kullanım Şartları · Gizlilik Politikası · KYC/AML Politikası · Dolandırıcılık Karşıtı Politika · Veri İşleniyor · Lisans Whalestack Sınırlı Sorumluluk Şirketi (Şirket Numarası 0000970546), Polonya'nın Zielona Góra şehrinde bulunan 54 Jedności Caddesi, 65-018 adresinde kurulmuştur." Whalestack Sınırlı sorumlu Şirket, Mali Bilgiler Genel Müfettişine rapor verir ve Polonya Maliye Bakanlığı tarafından RDWW-311 Sanal Varlık Hizmet Sağlayıcı numarası altında sanal para birimi değişimi ve saklama hizmetleri sağlamak üzere yetkilendirilmiştir. Avrupa Birliği Avrupa Birliği'nde Lisanslı ve Düzenlenmiş © Whalestack LLC 2018-2024 · Hizmet Kullanım Şartları · Gizlilik Politikası · KYC/AML Politikası · Dolandırıcılık Karşıtı Politika · Veri İşleniyor · Lisans
Space Cat
Uzay Kedisi! Miyav. 🐱🚀