Document version: 0.9
Bežné informácie
API koncový bod
https://mp.axtonpay.com/api/v1/private/checkout
Content-type
API prijíma HTTP požiadavky s 2 typmi obsahu: 'application/x-www-form-urlencoded', 'application/json'.
Hlavička HTTP by mala zodpovedať obsahu POST tela.
Skratky a definície
- {PID} - ID faktúry, zvyčajne ide o jedinečnú 8-znakovú alfanumerickú sekvenciu.
- Shop - Vaša webová stránka, ktorá prijíma platby prostredníctvom služby AxtonPay
Algoritmus práce s API
Bežný postup krokov na prijatie platby:
- vytvorte faktúru ('/api/v1/private/checkout/payment/create'), odpoveď API vráti URL faktúry ('invoice_url'),
- pošlite kupujúceho k tejto faktúre, aby uhradil platbu,
- počkajte na AxtonPay oznámenia servera, ktoré budú prichádzať do 'server_notification_url',
- po prijatí akejkoľvek oznámenia od AxtonPay skontrolujte platnosť jeho podpisu a ideálne pošlite potvrdenie o prijatí AxtonPay ('/api/v1/private/checkout/payment/confirm/{PID}'),
- ak sa zmení stav faktúry, vykonajte akcie zodpovedajúce tomuto stavu (napr. požadovať úplné informácie o faktúre, odoslať tovar, vytvoriť tiket pre podporný tím atď.).
Ak pri vytváraní faktúry nastavíte prázdne alebo neplatné 'server_notification_url', služba nemôže posielať oznámenia o zmenách stavu; v takýchto prípadoch by ste si mali faktúru skontrolovať sami v určitých intervaloch ('/api/v1/private/checkout/payment/get/{PID}').
Autorizácia požiadaviek
Na autorizáciu požiadavky je potrebné vypočítať hash zo reťazca vytvoreného špeciálnym spôsobom. Reťazec sa skladá spojením (zlepením) argumentov URL (QUERY_STRING) a tela POST požiadavky (REQUEST_BODY). Je dôležité, aby všetky komponenty boli použité presne v takej forme, v akej budú odoslané na server. Argumenty URL (QUERY_STRING) by mali byť prevzaté z URL ako jeden riadok, bez zmeny poradia argumentov a bez vynechania akýchkoľvek prvkov. Telo POST požiadavky (REQUEST_BODY) by sa malo tiež použiť bez akýchkoľvek úprav, vrátane nezmazania úvodzoviek, medzier, zátvoriek a zalomení riadkov.
V prípadoch prázdneho tela požiadavky POST a v prípade prázdnych argumentov URL bude táto zložka jednoducho prázdny reťazec.
Poradie údajov v žiadosti o podpis: QUERY_STRING najprv, potom POST údaje. Medzi nimi by ste nemali vkladať žiadne spojovacie znaky, jednoducho spojte dva textové reťazce.
Ešte raz, každý symbol je významný. Nemali by ste pridávať ani odstraňovať ani medzeru alebo znak nového riadku. Použite iba surové údaje prijaté serverom.
Haš SHA-256 s kľúčom 'Secret key' sa zoberie z výsledného reťazca a použije sa ako druhý argument funkcie hash_hmac().
Je povinné odovzdať parameter 'time' obsahujúci aktuálny POSIX timestamp (Unix time).
Táto podpis je platný 24 hodín. Ak sa hodnota parametra 'time' líši od aktuálneho času servera o viac ako 24 hodín (či už dopredu alebo dozadu), požiadavka zlyhá aj v prípade, že je podpis vypočítaný bez chýb.
Ak obchodnícky panel akceptoval žiadosť s nejakým podpisom, tento podpis nemôže byť použitý znova, ani na odoslanie žiadosti s rovnakými parametrami (to zahŕňa parameter 'time').
Výsledný hash sa odosiela v hlavičke HTTP 'Sign'.
Okrem vypočítaného podpisu musí požiadavka obsahovať aj 'Api-Key' hlavičku obsahujúcu použitý API kľúč. Príklad:
$headers = [
'Api-Key: ' . $the_api_key,
'Sign: ' . $signature_sha256
];
Môžete podpísať požiadavku zaslanú na AxtonPay akýmkoľvek platným kľúčom, ktorý patrí k tomuto pokladničnému systému. Avšak AxtonPay vždy používa kľúč, ktorý ste vybrali v paneli obchodníka.
Príklad výpočtu podpisu:
/* Imagine there is the POST request: URI: '/api/v1/private/checkout/payment/create?time=1735084500.3561' POST body: '[email protected]&shop_payment_id=INVOICE-1746&pms=all&amount=19.95¤cy=USD' So there are HTTP query string and request body: */ $the_query_string = 'time=1735084500.3561'; $the_request_body = '[email protected]&shop_payment_id=INVOICE-1746&pms=all&amount=19.95¤cy=USD'; // • A pair of 'API key' and 'Secret key' gathered from the admin panel $the_api_key = 'key1'; $the_api_secret = 'secret1'; // • Concatenation: $string_for_sha = $the_query_string . $the_request_body; // Value: '[email protected]&shop_payment_id=INVOICE-1746&pms=all&amount=19.95¤cy=USD' // • Calculating the HTTP header 'Sign' // hash method is SHA-256 $signature_sha256 = hash_hmac("sha256", $string_for_sha, $the_api_secret); // '31ca271a15e45802e07b7559a5f520656c050dda79e6fa46d52a15fc51d193cd' /* • Signed HTTP request: Method: POST URI: '/api/v1/private/checkout/payment/create?time=1735084500.3561' HTTP header 'Api-Key': 'key1' HTTP header 'Sign': '31ca271a15e45802e07b7559a5f520656c050dda79e6fa46d52a15fc51d193cd' POST body: '[email protected]&shop_payment_id=INVOICE-1746&pms=all&amount=19.95¤cy=USD' */
Venujte pozornosť medzerám a zalomeniam riadkov v ďalšom príklade:
/*
Imagine there is the POST request:
URI: '/api/v1/private/checkout/payment/create?shop_name=Very%20useful%20service'
POST body: '{
"shop_user_id": "[email protected]",
"shop_payment_id": "INVOICE-1746",
"shop_payment_desc": "Premium service
(1 month)",
"pms": "all",
"amount": "19.95",
"currency": "USD",
"time": "1735084500.3561"
}'
Attention! It's important to keep the raw data 'as is', including all tabulations, whitespaces, and line breaks.
For example, the signature becomes invalid if your software formats json, adds or removes spaces.
So there are such HTTP query string and POST request body:
*/
$the_query_string = 'shop_name=Very%20useful%20service';
$the_request_body = '{
"shop_user_id": "[email protected]",
"shop_payment_id": "INVOICE-1746",
"shop_payment_desc": "Premium service
(1 month)",
"pms": "all",
"amount": "19.95",
"currency": "USD",
"time": "1735084500.3561"
}';
// • A pair of 'API key' and 'Secret key' gathered from the merchant panel
$the_api_key = 'key1';
$the_api_secret = 'secret1';
// • Concatenation:
//
// hash method is SHA-256 (HTTP query string + request body)
$string_for_sha = $the_query_string . $the_request_body;
/* Value: 'shop_name=Very%20useful%20service{
"shop_user_id": "[email protected]",
"shop_payment_id": "INVOICE-1746",
"shop_payment_desc": "Premium service
(1 month)",
"pms": "all",
"amount": "19.95",
"currency": "USD",
"time": "1735084500.3561"
}'
*/
// • Calculating the HTTP header 'Sign'
$signature_sha256 = hash_hmac("sha256", $string_for_sha, $the_api_secret);
// 'ef15476f28b379e4b137a2dcd9ed495332e4766004ac3610bb92a69ba2303c28'
/* • Signed HTTP request:
Method: POST
URI: '/api/v1/private/checkout/payment/create'
HTTP header 'Api-Key': 'key1'
HTTP header 'Sign': 'ef15476f28b379e4b137a2dcd9ed495332e4766004ac3610bb92a69ba2303c28'
POST body: '{
"shop_user_id": "[email protected]",
"shop_payment_id": "INVOICE-1746",
"shop_payment_desc": "Premium service
(1 month)",
"pms": "all",
"amount": "19.95",
"currency": "USD",
"time": "1735084500.3561"
}'
*/
Príklad Python zloženia reťazca na výpočet podpisu:
string_for_hash_calculation = f'{request.query_params.urlencode()}{request.data.urlencode()}'
Parametre
API prijíma všetky parametre aj v QUERY_STRING, aj v tele POST požiadavky.
Booleovské premenné
API očakáva, že premennej typu Boolean bude pridelená hodnota '0' alebo '1', ale kvôli implicitnej konverzii typov bude akýkoľvek textový reťazec považovaný za '1', dokonca aj slovo 'false'. Preto, aby ste explicitne nastavili hodnotu 'FALSE' pre premennú typu Boolean, musíte jej priradiť buď hodnotu '0', alebo prázdny reťazec.
Desatinný oddeľovač
Ako desatinný oddeľovač v číslach sa používa iba desatinná bodka.
Veľkosť písmen v parametroch
S niekoľkými výnimkami sú všetky parametre rozlišujúce veľké a malé písmená.
URL spätného volania
V administrátorskom paneli AxtonPay, na stránke nastavení pokladne, je možné nastaviť URL adresy obchodu pre prijímanie notifikácií server-server od AxtonPay, ako aj URL adresy pre presmerovanie kupujúceho po zaplatení faktúry alebo jej zrušení, ako aj v prípade chyby.
Tieto URL adresy je možné prekonať v žiadosti o vytvorenie faktúry.
Metódy AxtonPay API
Vytváranie faktúry: /api/v1/private/checkout/payment/create
Metóda /api/v1/private/checkout/payment/create iniciuje vytvorenie faktúry.
Ak je úspešný, metóda vráti odkaz ('invoice_url'), na ktorý by ste mali zákazníka poslať na zaplatenie.
Vlastné parametre faktúry:
- time (povinné) - POSIX timestamp (Unix time)
- amount (povinné) - suma na zaplatenie (cena produktu alebo služby, ktorú obchod chce dostať)
- currency (povinné) - 3-písmenný kód meny podľa ISO 4217-alpha, nerozlišujúci veľké a malé písmená
- pms (povinné) - Spôsoby platby zobrazené na stránke faktúry. Ak chcete povoliť všetky spôsoby platby, hodnota je 'all'; ak chcete povoliť iba niektoré z nich, uveďte ich číselné identifikátory oddelené čiarkou.
- pm - identifikátor vybranej platobnej metódy. Je dôležité, že ak je zadaný parameter 'pm', faktúra bude vytvorená v 'transparentnom režime', t. j. kupujúci neuvidí stránku faktúry, ale prejde priamo do platobného systému.
- extra_data - asociatívne pole obsahujúce akékoľvek dodatočné údaje; tieto údaje sú v celku vrátené do obchodu
- shop_user_id - identifikátor používateľa v obchode, je vrátený do obchodu v nezmenenej forme
- shop_payment_id - identifikátor platby v obchode, je vrátený do obchodu nezmenený
- shop_name - názov obchodu (zobrazený na stránke faktúry)
- shop_payment_desc - popis objednávky (zobrazený na stránke faktúry)
- shop_payment_remark - vaše poznámky k tejto platbe (toto je pole pre akékoľvek poznámky k platbe, ktoré AxtonPay nikam neposiela; sú viditeľné iba v zozname platieb; nevracajú sa späť do obchodu)
- valid_time - časový interval, v ktorom môže byť faktúra zaplatená; v sekundách
- view_time - časový interval, počas ktorého je faktúra k dispozícii na zobrazenie cez externý odkaz; v sekundách; odpočet začína po skončení obdobia 'valid_time'
- server_notification_method - metóda odosielania server-server oznámení o stavoch platieb do obchodu; platné hodnoty: POST, GET
Niektoré nastavenia faktúry sú nastavené na stránke nastavení pokladne. Ale hodnoty odoslané v požiadavke budú mať prednosť pred týmito nastaveniami.
Parametre pokladne, ktoré je možné pre túto faktúru prepísať:
- customer_success_url - odkaz, na ktorý bude kupujúci presmerovaný, ak bude faktúra úspešne zaplatená (t. j. ak je stav faktúry 'paid' alebo 'overpaid').
- customer_cancel_url - odkaz, na ktorý bude kupujúci presmerovaný, ak bude platba zrušená
- customer_fail_url - odkaz, na ktorý bude kupujúci presmerovaný, ak platba skončí chybou
- server_notification_url - odkaz na odosielanie oznámení o stavoch platieb zo servera na server do obchodu
Poznámka: Aby ste vyhoveli vlastnej politike ochrany osobných údajov, zvyčajne nie je potrebné zahrnúť osobné údaje svojho zákazníka do vlastností faktúry. Napríklad v parametri "shop_user_id" je lepšie uviesť abstraktné ID zákazníka namiesto jeho e-mailu alebo telefónneho čísla. Aj v "shop_payment_desc" je lepšie nezahrnúť žiadne údaje zákazníka, pretože oni už o sebe všetko vedia; namiesto toho môžete uviesť niektoré informácie o zaplatených tovaroch alebo službách, alebo dokonca len napísať typ akcie, napríklad „Nákup“ alebo „Doplnok zostatku“.
Všetky odkazy sú nevyhnutne prenášané s protokolom.
Príklad požiadavky:
<?php
// API credentials - get it from settings of the checkout
$api_key = 'API_KEY';
$api_secret = 'API_SECRET';
// API endpoint
$api_endpoint = 'https://mp.axtonpay.com/api/v1/private/checkout';
// Current POSIX timestamp
$time = time();
// API method URL
$api_url = $api_endpoint . '/payment/create';
// Prepare POST parameters
$post_data = [
'amount' => 4.99,
'currency' => 'USD',
'pms' => 'all', // visible payment methods; either 'all' or comma-separated list of selected GUIDs
// 'pm' => '92807385', // define the certain payment method if you do not want payer to see the list of all possible payment methods
// Below parameters are optional
'extra_data' => ['param1'=>'value 1', 'param2'=>'value 2'],
'shop_user_id' => '[email protected]',
'shop_payment_id' => 'TEST-333-' . $time,
'shop_name' => 'TEST-333 web shop',
'shop_payment_desc' => 'TEST-333 payment description visible to payer',
'shop_payment_remark' => 'TEST-333 payment remark for admin',
'customer_success_url' => 'https://example.com/?status=paid-or-overpaid&once=TEST-333-' . $time,
'customer_cancel_url' => 'https://example.com/?status=cancelled-by-payer&once=TEST-333-' . $time,
'customer_fail_url' => 'https://example.com/?status=error&once=TEST-333-' . $time,
'server_notification_url' => 'https://example.com/?for=server-to-server-notificataions',
'server_notification_method' => 'POST',
'valid_time' => 60*60*24*7, // seconds
'view_time' => 60*60*24*21, // seconds, clock starts after ending of 'valid_time' period
];
// Prepare GET parameters
$query_string = 'time=' . $time;
// Build the request body
$request_body = json_encode($post_data); // Encode as JSON
// $request_body = http_build_query($post_data);
// Concatenate QUERY_STRING and REQUEST_BODY
$string_for_sha = $query_string . $request_body;
// Calculate the signature
$signature = hash_hmac('sha256', $string_for_sha, $api_secret);
// Prepare HTTP headers
$headers = [
'Api-Key: ' . $api_key,
'Sign: ' . $signature,
'Content-Type: application/json'
];
// Initialize cURL
$ch = curl_init($api_url . '?' . $query_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $request_body);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
// Execute the request
$response = curl_exec($ch);
// Close cURL
curl_close($ch);
?>
Príklad úspešnej odpovede pri žiadosti o vytvorenie faktúry:
{
"status": "ok",
"data": "invoice created",
"pid": "HNQ5CAHM",
"test": false,
"created_at": "2025-12-27T08:14:55.000000Z",
"invoice_url": "https:\/\/27375212.b88pay.com\/i\/HNQ5CAHM"
}
Získavanie informácií o faktúre: /api/v1/private/checkout/payment/get/{PID}
Aby ste získali potrebné informácie, zavolajte metódu /api/v1/private/checkout/payment/get/{PID} a na konci URL uveďte PID faktúry.
Parametre dopytu:
- time (povinné) - POSIX timestamp (Unix time)
Príklad riadku na tvorbu podpisu:
// Full URL: https://mp.axtonpay.com/api/v1/private/checkout/payment/get/GIKR3XPY?time=1766837343 // String for signature calculation: time=1766837343
Príklad odpovede:
{
"status": "ok",
"data": {
"pid": "HNQ5CAHM",
"checkout_guid": 34677320,
"created_at": "2025-12-27 12:07:21",
"updated_at": "2025-12-27 12:07:34",
"data": {
"ip": "1.2.3.4",
"pms": "all",
"extra_data": {
"param1": "val1",
"param2": "val2",
"server_notification_url": "https:\/\/example.com\/?for=server-to-server-notificataions"
},
"redirect_url": "\/wait\/HNQ5CAHM",
"customer_fail_url": "https:\/\/example.com\/?status=error&id=TEST-333-1766837240",
"allow_change_amount": false,
"customer_cancel_url": "https:\/\/example.com\/?status=cancelled-by-payer&id=TEST-333-1766837240",
"customer_success_url": "https:\/\/example.com\/?status=paid-or-overpaid&id=TEST-333-1766837240"
},
"payment_status": 0,
"amount": "4.99",
"filled": "0.00",
"currency_id": 5,
"transparent": 1,
"expires_at": "2026-01-03 12:07:21",
"invisible_at": "2026-01-26 12:07:21",
"paid_at": null,
"confirmed_at": null,
"shop_name": "TEST-333 web shop",
"shop_user_id": "[email protected]",
"shop_payment_id": "TEST-333-1766837240",
"shop_payment_desc": "TEST-333 payment description visible to payer",
"shop_payment_remark": "TEST-333 payment remark for merchant",
"payment_method_id": 92807385,
"gateway_id": 40056646,
"payment_option_id": 297,
"txid": null,
"account_from": null,
"account_to": "TEnYvbfg9YqJeaVtVHAwEvG2kmAJcTzxTh",
"payment_option_amount": "17.865973",
"payment_option_filled": "0.000000",
"payment_option_currency_id": 317,
"exchange_rates_expires_at": "2025-12-27 12:27:33",
"test": false,
"initiator": "api",
"initiator_info": null,
"payment_option": {
"id": 297,
"gateway_id": 40056646,
"pm": "trx",
"currency_id": 317,
"name": "Tron",
"icon": "crypto\/tron.png",
"min_invoice": null,
"max_invoice": null
},
"payment_option_currency": {
"id": 317,
"name": "Tron",
"code": "TRX",
"minor_unit": 6
},
"currency": {
"id": 5,
"name": "United States dollar",
"code": "USD",
"minor_unit": 2
},
"invoice_url": "https:\/\/27375212.b88pay.com\/i\/HNQ5CAHM"
}
}
Porovnanie požadovanej sumy a zaplatenej sumy
Odpoveď obsahuje niekoľko rôznych čiastok (v mene, v ktorej bola faktúra vystavená):
- "amount" - fakturovaná suma,
- "filled" - zaplatená časť faktúry,
- "total_filled" - koľko klient zaplatil celkovo, vrátane provízií.
Ak "filled = amount", potom je to platené presne toľko, koľko je potrebné.
Ak "filled > amount", je tu preplatok.
Ak "filled < amount", faktúra nebola uhradená v plnej výške (nedoplatenie).
Faktúra: spracovanie oznámenia od AxtonPay o zmene stavu
Kedykoľvek sa zmení stav faktúry, AxtonPay odošle oznámenie server_notification_url (použitím server_notification_method)
Príklad dát:
{
"pid": "U5IB4WIO",
"status": "3",
"shop_user_id": "3q23g",
"shop_payment_id": "h76r5",
"amount": "240.00000000",
"filled": "0.00000000",
"fee": "0",
"total_filled": "0.00000000",
"currency": "DASH",
"test": "0"
}
V reakcii na toto oznámenie AxtonPay očakáva prijatie HTTP code 200, ktoré potvrdzuje jeho úspešné doručenie. V opačnom prípade AxtonPay vykoná ďalších 12 pokusov v postupne sa zvyšujúcich intervaloch, a potom sa stav oznámenia zmení na 'error' (ale to neovplyvňuje stav samotnej faktúry).
Možné hodnoty stavu:
- 0 - pending
- 1 - paid
- 2 - error
- 3 - cancelled by customer
- 4 - underpaid
- 5 - overpaid
- 8 - expired
Úspešné stav platby sú 1 (paid) a 5 (overpaid); v prípade ich prijatia môžete previesť zaplatený nákup zákazníkovi alebo doplniť zostatok. Pri platbách so stavom 5 (overpaid) môžete pri doplnení zostatku doplniť zostatok o sumu skutočne prijatej platby, ale v prípade predaja tovaru/služieb a významnej nadplatby je vhodné kontaktovať platiteľa a dohodnúť sa s ním, ako naložiť s nadplatkom.
Čiastočne úspešný stav je 4 (underpaid); v prípade získania tohto stavu je možné dobiť zostatok o sumu skutočne prijatej platby. Tento stav však nemožno považovať za úspešný pri predaji tovaru/služieb.
Všetky ostatné statusy - 0 (pending), 2 (error), 3 (canceled by customer) znamenajú úplnú absenciu platby; v prípade ich prijatia sa nemajú vykonávať žiadne akcie týkajúce sa doplnenia zostatku alebo predaja tovarov/služieb.
Kontrola podpisu
Aby ste si boli istí, že upozornenie bolo odoslané presne spoločnosťou AxtonPay, je potrebné pred jeho dôverou overiť podpis prijatého upozornenia. Overenie je podobné podpisovaniu vlastných požiadaviek, len je pridaný posledný krok, keď by ste mali porovnať vypočítaný podpis s prijatým HTTP headerom 'Sign'.
Hlavné kroky po prijatí oznámenia o zmene stavu platby sú nasledujúce:
- vezmite celý rad argumentov (QUERY_STRING) zo prijatej notifikácie,
- vezmite celý POST data (REQUEST_BODY) z prijatej notifikácie,
- vypočítajte podpis pomocou týchto QUERY_STRING + REQUEST_BODY a príslušného 'Secret key',
- porovnaj vypočítaný podpis s tým, ktorý je prijatý v HTTP hlavičke 'Sign',
- ak sú podpisy rovnaké, oznámenie naozaj prišlo od AxtonPay;
- Ak sa podpisy líšia, môže ísť o pokus platiteľa o podvádzanie.
Príklad riadku na generovanie podpisu:
// Full URL: https://EXAMPLE.COM?time=1737027838.1237 // POST body: pid=ABCD5678&status=1&shop_user_id=&shop_payment_id=&amount=25.00000000&filled=25.00000000&fee=0&total_filled=25.00000000¤cy=RDD&test=0 // String for signature calculation: time=1737027838.1237pid=ABCD5678&status=1&shop_user_id=&shop_payment_id=&amount=25.00000000&filled=25.00000000&fee=0&total_filled=25.00000000¤cy=RDD&test=0
Potvrdenie, že obchod spracoval informácie o platbe: /api/v1/private/checkout/payment/confirm/{PID}
Táto požiadavka je odoslaná AxtonPay ako odpoveď na oznámenie, ktoré od neho bolo prijaté. Funkčne ide o potvrdenie, že obchod úspešne prijal a spracoval prijaté oznámenie.
Na odoslanie požiadavky zavolajte metódu /api/v1/private/checkout/payment/confirm/{PID} a na konci URL uveďte pid faktúry.
Parametre požiadavky:
- time (povinné) - POSIX timestamp (Unix time)
- status (povinné, celé číslo) - číslo stavu platby, pre ktoré obchod posiela potvrdenie
Ak prenesený stav zodpovedá aktuálnemu stavu tejto faktúry v systéme, AxtonPay odpovie s 'OK' a ak nezodpovedá, odpovie chybou.
Príklad riadku na generovanie podpisu:
// Full URL:
https://mp.axtonpay.com/api/v1/private/checkout/payment/confirm/ABCD5678?time=1737011414
// POST body:
{"status":"1"}
// String for signature calculation:
time=1737011414{"status":"1"}
Príklad odpovede, ak je aktuálny stav platby rovnaký:
{
"status": "ok",
"data": "\"Paid\" status notification is confirmed"
}
Príklad odpovede, ak sa aktuálny stav platby líši od stavu uvedeného v požiadavke:
{
"status": "error",
"message": "Something went wrong"
}
Kódy meny
Meny, ktoré je možné použiť na vytvorenie faktúry.
Väčšina používaných kódov mien patrí k fiat menám a sú rovnaké ako ISO 4217. Zoznam tiež obsahuje niekoľko kryptomien.
| Kód | Meno | Desatinné číslice | Typ |
| BCH | Bitcoin Cash | 8 | Kryptomena |
| BLK | Blackcoin | 8 | Kryptomena |
| BNB | Binancecoin | 18 | Kryptomena |
| BTC | Bitcoin | 8 | Kryptomena |
| BTT | BitTorrent | 18 | Krypto token |
| BUSD | Binance USD | 18 | Krypto token |
| DAI | Dai | 18 | Krypto token |
| DASH | Dash | 8 | Kryptomena |
| DOGE | Dogecoin | 8 | Kryptomena |
| ETC | Ethereum Classic | 18 | Kryptomena |
| ETH | Ethereum | 18 | Kryptomena |
| LTC | Litecoin | 8 | Kryptomena |
| NLG | Gulden | 8 | Kryptomena |
| RDD | ReddCoin | 8 | Kryptomena |
| TRX | Tron | 6 | Kryptomena |
| USDC | USD Coin | 6 | Krypto token |
| USDD | Decentralized USD | 18 | Krypto token |
| USDT | Tether USDT | 6 | Krypto token |
| VTC | Vertcoin | 8 | Kryptomena |
| XVG | Verge | 8 | Kryptomena |
| AED | United Arab Emirates dirham | 2 | Fiat mena |
| AFN | Afghan afghani | 2 | Fiat mena |
| ALL | Albanian lek | 2 | Fiat mena |
| AMD | Armenian dram | 2 | Fiat mena |
| ANG | Netherlands Antillean guilder | 2 | Fiat mena |
| AOA | Angolan kwanza | 2 | Fiat mena |
| ARS | Argentine peso | 2 | Fiat mena |
| AUD | Australian dollar | 2 | Fiat mena |
| AWG | Aruban florin | 2 | Fiat mena |
| AZN | Azerbaijani manat | 2 | Fiat mena |
| BAM | Bosnia and Herzegovina convertible mark | 2 | Fiat mena |
| BBD | Barbados dollar | 2 | Fiat mena |
| BDT | Bangladeshi taka | 2 | Fiat mena |
| BGN | Bulgarian lev | 2 | Fiat mena |
| BHD | Bahraini dinar | 3 | Fiat mena |
| BIF | Burundian franc | 2 | Fiat mena |
| BMD | Bermudian dollar | 2 | Fiat mena |
| BND | Brunei dollar | 2 | Fiat mena |
| BOB | Boliviano | 2 | Fiat mena |
| BRL | Brazilian real | 2 | Fiat mena |
| BSD | Bahamian dollar | 2 | Fiat mena |
| BTN | Bhutanese ngultrum | 2 | Fiat mena |
| BWP | Botswana pula | 2 | Fiat mena |
| BYN | Belarusian ruble | 2 | Fiat mena |
| BZD | Belize dollar | 2 | Fiat mena |
| CAD | Canadian dollar | 2 | Fiat mena |
| CDF | Congolese franc | 2 | Fiat mena |
| CHF | Swiss franc | 2 | Fiat mena |
| CLP | Chilean peso | 2 | Fiat mena |
| CNY | Renminbi (Chinese) yuan | 2 | Fiat mena |
| COP | Colombian peso | 2 | Fiat mena |
| CRC | Costa Rican colon | 2 | Fiat mena |
| CUC | Cuban convertible peso | 2 | Fiat mena |
| CUP | Cuban peso | 2 | Fiat mena |
| CVE | Cape Verde escudo | 2 | Fiat mena |
| CZK | Czech koruna | 2 | Fiat mena |
| DJF | Djiboutian franc | 2 | Fiat mena |
| DKK | Danish krone | 2 | Fiat mena |
| DOP | Dominican peso | 2 | Fiat mena |
| DZD | Algerian dinar | 2 | Fiat mena |
| EGP | Egyptian pound | 2 | Fiat mena |
| ERN | Eritrean nakfa | 2 | Fiat mena |
| ETB | Ethiopian birr | 2 | Fiat mena |
| EUR | Euro | 2 | Fiat mena |
| FJD | Fiji dollar | 2 | Fiat mena |
| FKP | Falkland Islands pound | 2 | Fiat mena |
| GBP | Pound sterling | 2 | Fiat mena |
| GEL | Georgian lari | 2 | Fiat mena |
| GHS | Ghanaian cedi | 2 | Fiat mena |
| GIP | Gibraltar pound | 2 | Fiat mena |
| GMD | Gambian dalasi | 2 | Fiat mena |
| GNF | Guinean franc | 0 | Fiat mena |
| GTQ | Guatemalan quetzal | 2 | Fiat mena |
| GYD | Guyanese dollar | 2 | Fiat mena |
| HKD | Hong Kong dollar | 2 | Fiat mena |
| HNL | Honduran lempira | 2 | Fiat mena |
| HRK | Croatian kuna | 2 | Fiat mena |
| HTG | Haitian gourde | 2 | Fiat mena |
| HUF | Hungarian forint | 2 | Fiat mena |
| IDR | Indonesian rupiah | 2 | Fiat mena |
| ILS | Israeli new shekel | 2 | Fiat mena |
| INR | Indian rupee | 2 | Fiat mena |
| IQD | Iraqi dinar | 3 | Fiat mena |
| IRR | Iranian rial | 2 | Fiat mena |
| ISK | Icelandic krona | 2 | Fiat mena |
| JMD | Jamaican dollar | 2 | Fiat mena |
| JOD | Jordanian dinar | 3 | Fiat mena |
| JPY | Japanese yen | 3 | Fiat mena |
| KES | Kenyan shilling | 2 | Fiat mena |
| KGS | Kyrgyzstani som | 2 | Fiat mena |
| KHR | Cambodian riel | 2 | Fiat mena |
| KMF | Comoro franc | 2 | Fiat mena |
| KPW | North Korean won | 2 | Fiat mena |
| KRW | South Korean won | 2 | Fiat mena |
| KWD | Kuwaiti dinar | 3 | Fiat mena |
| KYD | Cayman Islands dollar | 2 | Fiat mena |
| KZT | Kazakhstani tenge | 2 | Fiat mena |
| LAK | Lao kip | 2 | Fiat mena |
| LBP | Lebanese pound | 2 | Fiat mena |
| LKR | Sri Lankan rupee | 2 | Fiat mena |
| LRD | Liberian dollar | 2 | Fiat mena |
| LSL | Lesotho loti | 2 | Fiat mena |
| LYD | Libyan dinar | 3 | Fiat mena |
| MAD | Moroccan dirham | 2 | Fiat mena |
| MDL | Moldovan leu | 2 | Fiat mena |
| MGA | Malagasy ariary | 2 | Fiat mena |
| MKD | Macedonian denar | 2 | Fiat mena |
| MMK | Myanmar kyat | 2 | Fiat mena |
| MNT | Mongolian togrog | 2 | Fiat mena |
| MOP | Macanese pataca | 2 | Fiat mena |
| MRU | Mauritanian ouguiya | 2 | Fiat mena |
| MUR | Mauritian rupee | 2 | Fiat mena |
| MVR | Maldivian rufiyaa | 2 | Fiat mena |
| MWK | Malawian kwacha | 2 | Fiat mena |
| MXN | Mexican peso | 2 | Fiat mena |
| MYR | Malaysian ringgit | 2 | Fiat mena |
| MZN | Mozambican metical | 2 | Fiat mena |
| NAD | Namibian dollar | 2 | Fiat mena |
| NGN | Nigerian naira | 2 | Fiat mena |
| NIO | Nicaraguan cordoba | 2 | Fiat mena |
| NOK | Norwegian krone | 2 | Fiat mena |
| NPR | Nepalese rupee | 2 | Fiat mena |
| NZD | New Zealand dollar | 2 | Fiat mena |
| OMR | Omani rial | 3 | Fiat mena |
| PAB | Panamanian balboa | 2 | Fiat mena |
| PEN | Peruvian sol | 2 | Fiat mena |
| PGK | Papua New Guinean kina | 2 | Fiat mena |
| PHP | Philippine peso | 2 | Fiat mena |
| PKR | Pakistani rupee | 2 | Fiat mena |
| PLN | Polish zloty | 2 | Fiat mena |
| PYG | Paraguayan guarani | 2 | Fiat mena |
| QAR | Qatari riyal | 2 | Fiat mena |
| RON | Romanian leu | 2 | Fiat mena |
| RSD | Serbian dinar | 2 | Fiat mena |
| RUB | Russian ruble | 2 | Fiat mena |
| RWF | Rwandan franc | 2 | Fiat mena |
| SAR | Saudi riyal | 2 | Fiat mena |
| SBD | Solomon Islands dollar | 2 | Fiat mena |
| SCR | Seychelles rupee | 2 | Fiat mena |
| SDG | Sudanese pound | 2 | Fiat mena |
| SEK | Swedish krona/kronor | 2 | Fiat mena |
| SGD | Singapore dollar | 2 | Fiat mena |
| SHP | Saint Helena pound | 2 | Fiat mena |
| SLL | Sierra Leonean leone | 2 | Fiat mena |
| SOS | Somali shilling | 2 | Fiat mena |
| SRD | Surinamese dollar | 2 | Fiat mena |
| SSP | South Sudanese pound | 2 | Fiat mena |
| STN | Sao Tome and Pricipe dobra | 2 | Fiat mena |
| SVC | Salvadoran colon | 2 | Fiat mena |
| SYP | Syrian pound | 2 | Fiat mena |
| SZL | Swazi lilangeni | 2 | Fiat mena |
| THB | Thai baht | 2 | Fiat mena |
| TJS | Tajikistani somoni | 2 | Fiat mena |
| TMT | Turkmenistan manat | 2 | Fiat mena |
| TND | Tunisian dinar | 3 | Fiat mena |
| TOP | Tongan paanga | 2 | Fiat mena |
| TRY | Turkish lira | 2 | Fiat mena |
| TTD | Trinidad and Tobago dollar | 2 | Fiat mena |
| TWD | New Taiwan dollar | 2 | Fiat mena |
| TZS | Tanzanian shilling | 2 | Fiat mena |
| UAH | Ukrainian hryvnia | 2 | Fiat mena |
| UGX | Ugandan shilling | 0 | Fiat mena |
| USD | United States dollar | 2 | Fiat mena |
| UYU | Uruguayan peso | 2 | Fiat mena |
| UZS | Uzbekistan som | 2 | Fiat mena |
| VES | Venezuelan bolivar soberano | 2 | Fiat mena |
| VND | Vietnamese dong | 2 | Fiat mena |
| VUV | Vanuatu vatu | 0 | Fiat mena |
| WST | Samoan tala | 2 | Fiat mena |
| XAF | CFA franc BEAC | 3 | Fiat mena |
| XCD | East Caribbean dollar | 2 | Fiat mena |
| XOF | CFA franc BCEAO | 2 | Fiat mena |
| XPF | CFP franc (franc Pacifique) | 3 | Fiat mena |
| XTS | Kódy špeciálne vyhradené na testovacie účely | 2 | Rezervovaný kód |
| XXX | Kódy pridelené pre transakcie, pri ktorých sa nepoužíva mena | 2 | Rezervovaný kód |
| YER | Yemeni rial | 2 | Fiat mena |
| ZAR | South African rand | 2 | Fiat mena |
| ZMW | Zambian kwacha | 2 | Fiat mena |
| ZWL | Zimbabwean dollar | 2 | Fiat mena |
