Document version: 0.9
Általános információ
API végpont
https://mp.axtonpay.com/api/v1/private/checkout
Content-type
Az API HTTP kéréseket fogad el 2 tartalomtípussal: 'application/x-www-form-urlencoded', 'application/json'.
A HTTP fejlécnek illeszkednie kell a POST törzs tartalmához.
Rövidítések és meghatározások
- {PID} - A számla azonosítója, általában ez a 8 karakterből álló egyedi alfanumerikus sorozat.
- Shop - Az Ön weboldala, amely a AxtonPay szolgáltatáson keresztül fogad el fizetéseket
Algoritmus az API-val való munkához
A szokásos lépések a kifizetés fogadásához:
- hozzon létre egy számlát ('/api/v1/private/checkout/payment/create'), az API válasza vissza fogja adni a számla URL-jét ('invoice_url'),
- küldje a vevőt ehhez a számlához a fizetés elvégzése érdekében,
- várj a AxtonPay szerver értesítésekre, amelyek 'server_notification_url'-hez fognak érkezni,
- bármilyen értesítés kézhezvételekor AxtonPay-tól ellenőrizze az aláírás érvényességét, és lehetőség szerint küldjön visszaigazolást a kézhezvételről AxtonPay részére ('/api/v1/private/checkout/payment/confirm/{PID}'),
- Ha egy számla státusza megváltozik, hajtsa végre a státusznak megfelelő műveleteket (például kérjen teljes információt a számláról, szállítsa ki az árut, hozzon létre jegyet a támogatási csapatnak stb.).
Ha üres vagy érvénytelen 'server_notification_url'-t állít be a számla létrehozásakor, a szolgáltatás nem képes értesítéseket küldeni az állapotváltozásokról; ilyen esetekben időnként magának kell ellenőriznie a számlát ('/api/v1/private/checkout/payment/get/{PID}').
Kérelmek engedélyezése
Egy kérés engedélyezéséhez szükséges kiszámítani egy hash-t egy speciális módon kialakított karakterláncból. A karakterláncot az URL-paraméterek (QUERY_STRING) és a POST kérés (REQUEST_BODY) törzsének összefűzésével (összeragasztásával) állítjuk elő. Fontos, hogy az összes összetevőt pontosan abban a formában vegyük, ahogyan azt a szerver felé továbbítják. Az URL-paramétereket (QUERY_STRING) az URL-ből kell venni egyetlen sorban, úgy, hogy a paraméterek sorrendje ne változzon, és ne hagyjunk ki semmilyen elemet. A POST kérés törzsét (REQUEST_BODY) szintén változtatás nélkül kell használni, beleértve, hogy ne távolítsunk el belőle idézőjeleket, szóközöket, zárójeleket, sortöréseket.
Üres POST kérés törzse esetén, és üres URL-argumentumok esetén ez a komponens egyszerűen üres string lesz.
Az aláírási kérelemben a adatok sorrendje: először QUERY_STRING, majd a POST adat. Nem szabad semmilyen összekötő jelet beilleszteni közéjük, csak fűzd össze a két szöveges karakterláncot.
Még egyszer, minden szimbólum jelentős. Egyetlen szóközt vagy új sor szimbólumot sem szabad hozzáadni vagy eltávolítani. Csak azokat a nyers adatokat használd, amelyeket a szerver kapott.
A SHA-256 hash a 'Secret key' kulccsal a kapott karakterláncból kerül kivételre, és a hash_hmac() függvény második argumentumaként használják.
Kötelező átadni a 'time' paramétert, amely a jelenlegi POSIX timestamp (Unix time)-t tartalmazza.
Ez az aláírás 24 órán keresztül érvényes. Ha a 'time' paraméter értéke több mint 24 órával eltér a jelenlegi szerveridőtől (előre vagy hátra), a kérés sikertelen lesz, még akkor is, ha az aláírást hiba nélkül számították ki.
Ha a kereskedői panel elfogadott egy kérést valamilyen aláírással, azt az aláírást nem lehet újra felhasználni, még akkor sem, ha a kérést ugyanazokkal a paraméterekkel küldik el (ez magában foglalja a 'time' paramétert is).
A keletkező hash a HTTP fejlécben 'Sign' kerül átadásra.
A kiszámított aláíráson kívül a kérésnek tartalmaznia kell egy 'Api-Key' fejlécet is, amely a használt API kulcsot tartalmazza. Példa:
$headers = [
'Api-Key: ' . $the_api_key,
'Sign: ' . $signature_sha256
];
A kérelem aláírására, amelyet a AxtonPay-nak küldtek, bármely érvényes kulccsal aláírhat, amely ehhez a fizetéshez tartozik. Azonban a AxtonPay mindig azt a kulcsot használja, amelyet a kereskedői panelen kiválasztottál.
A aláírás számításának példája:
/* 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' */
Figyelj a szóközökre és a sortörésekre egy másik példában:
/*
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"
}'
*/
A Python példa a karakterlánc aláírás számításához történő összeállítására:
string_for_hash_calculation = f'{request.query_params.urlencode()}{request.data.urlencode()}'
Paraméterek
Az API minden paramétert elfogad mind QUERY_STRING, mind pedig a POST kérelem törzsében.
Logikai változók
Az API arra számít, hogy a Boolean változókban '0' vagy '1' értéket kapjon, de az implicit típuskonverzió miatt bármely szövegkarakterláncot '1'-ként kezelnek, még a 'false' szót is. Ezért, ha kifejezetten 'FALSE' értéket akarunk rendelni egy Boolean változóhoz, át kell adni neki vagy a '0' értéket, vagy egy üres karakterláncot.
Tizedesjel
A számokban csak a tizedespontot használják tizedeselválasztóként.
Karakterkis- és nagybetű a paraméterekben
Néhány kivételtől eltekintve minden paraméter kis- és nagybetű-érzékeny.
Visszahívási URL
Az AxtonPay admin paneljében, a fizetési beállítások oldalán lehetőség van áruház URL-ek beállítására a AxtonPay szerver-szerver értesítéseinek fogadásához, valamint URL-ek megadására a vevő átirányításához a számla kifizetése vagy törlése után, illetve hiba esetén.
Ez az URL-ek felülírhatók a számlakészítési kérésben.
AxtonPay API módszerei
Számla létrehozása: /api/v1/private/checkout/payment/create
A /api/v1/private/checkout/payment/create módszer elindítja a számla létrehozását.
Ha sikeres, a módszer visszaad egy linket ('invoice_url'), amelyre a vásárlót a fizetéshez tovább kell irányítania.
Saját számla paraméterei:
- time (kötelező) - POSIX timestamp (Unix time)
- amount (kötelező) - fizetendő összeg (az a termék- vagy szolgáltatás ára, amelyet az üzlet meg akar kapni)
- currency (kötelező) - 3 betűs pénznemkód a ISO 4217-alpha szerint, kis- és nagybetűkre nem érzékeny
- pms (kötelező) - A számla oldalon megjelenített fizetési módok. Ha minden fizetési módot engedélyezni szeretne, az érték 'all'; ha csak néhányat szeretne engedélyezni, sorolja fel azok vesszővel elválasztott numerikus azonosítóit.
- pm - A kiválasztott fizetési mód azonosítója. Fontos, hogy ha az 'pm' paraméter átadásra kerül, a számla 'átlátszó módban' jön létre, azaz a vásárló nem fogja látni a szájlátló oldalt, hanem közvetlenül a fizetési rendszerhez jut.
- extra_data - egy asszociatív tömb, amely bármilyen további adatot tartalmaz; ez az adat teljes egészében vissza lesz küldve a boltba
- shop_user_id - a felhasználó azonosítója az áruházban, változatlan formában kerül vissza az áruházba
- shop_payment_id - fizetési azonosító az üzletben, változatlan formában kerül vissza az üzletbe
- shop_name - üzlet neve (a számlaoldalon megjelenítve)
- shop_payment_desc - rendelés leírása (a számla oldalon megjelenítve)
- shop_payment_remark - jegyzeteid erről a fizetésről (ez egy mező minden olyan jegyzethez, amit a fizetésről készítesz, amelyet AxtonPay sehová sem továbbít; csak a fizetések listájában látható; nem kerül vissza az áruházba)
- valid_time - az az időintervallum, amely alatt a számla kifizethető; másodpercekben
- view_time - időtartam, amely alatt a számla megtekinthető külső linken keresztül; másodpercben; a visszaszámlálás a 'valid_time' időszak vége után kezdődik
- server_notification_method - módszer a szerver-szerver értesítések küldésére a fizetési állapotokról az üzletnek; érvényes értékek: POST, GET
A számlával kapcsolatos néhány beállítás a fizetési beállítások oldalon van megadva. De a kérésben átadott értékek elsőbbséget élveznek ezekkel a beállításokkal szemben.
Fizetési paraméterek, amelyek felülírhatók ennél a számlánál:
- customer_success_url - egy hivatkozás, ahová a vásárlót átirányítják, ha a számlát sikeresen kifizették (azaz ha a számla állapota 'paid' vagy 'overpaid').
- customer_cancel_url - egy hivatkozás, amelyre a vásárlót átirányítják, ha a fizetés megszakad
- customer_fail_url - egy hivatkozás, amelyre a vásárlót átirányítják, ha a fizetés hibával végződik
- server_notification_url - link a fizetési állapotok szerver-szerver értesítéseinek küldéséhez az áruházba
Megjegyzés: Annak érdekében, hogy megfeleljen a saját adatvédelmi szabályzatának, általában nem szükséges a vásárló személyes adatait a számla tulajdonságaiban feltüntetni. Például a "shop_user_id" paraméterben jobb, ha egy absztrakt vásárlói azonosítót ad meg ahelyett, hogy az e-mail címüket vagy telefonszámukat írnák. Szintén a "shop_payment_desc" mezőben jobb, ha egyáltalán nem tartalmaz vásárlói adatokat, mert a vásárlók maguk már mindent tudnak magukról; ehelyett írhat néhány információt a kifizetett árucikkekről vagy szolgáltatásokról, vagy akár csak az elvégzett művelet típusát, például „Vásárlás” vagy „Egyenlegfeltöltés”.
Minden hivatkozást szükségszerűen a protokollal továbbítanak.
Kérés példája:
<?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);
?>
Példa egy sikeres válaszra, amikor számla létrehozását kérjük:
{
"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"
}
Számlainformáció beszerzése: /api/v1/private/checkout/payment/get/{PID}
A szükséges információk megszerzéséhez hívd a /api/v1/private/checkout/payment/get/{PID} módszert, a számla PID megadásával az URL végén.
A lekérdezés paraméterei:
- time (kötelező) - POSIX timestamp (Unix time)
Példa egy sorra az aláírás megszerkesztéséhez:
// Full URL: https://mp.axtonpay.com/api/v1/private/checkout/payment/get/GIKR3XPY?time=1766837343 // String for signature calculation: time=1766837343
Egy válasz példája:
{
"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"
}
}
A kért összeg és a kifizetett összeg összehasonlítása
A válasz több különböző összeget tartalmaz (abban a valutában, amelyben a számlát kiállították):
- "amount" - számlázott összeg,
- "filled" - kifizetett egy részét a számlának
- "total_filled" - mennyi pénzt fizetett a kliens összesen, beleértve a jutalékokat is.
Ha "filled = amount", akkor pontosan annyit fizetnek érte, amennyire szükség van.
Ha "filled > amount", túlfizetés történt.
Ha "filled < amount", a számlát nem fizették ki teljesen (alulfizetés).
Számla: értesítés feldolgozása AxtonPay-tól az állapotváltozásról
Minden alkalommal, amikor egy számla státusza megváltozik, AxtonPay értesítést küld server_notification_url-nak (a server_notification_method használatával)
Példaadat:
{
"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"
}
A fenti értesítésre válaszként AxtonPay HTTP code 200-t vár, ami megerősíti annak sikeres kézbesítését. Ellenkező esetben AxtonPay még 12 alkalommal próbálkozik egyre növekvő időközönként, majd az értesítés státusza 'error'-ra változik (de ez nem befolyásolja magának a számlának a státuszát).
Lehetséges státuszértékek:
- 0 - pending
- 1 - paid
- 2 - error
- 3 - cancelled by customer
- 4 - underpaid
- 5 - overpaid
- 8 - expired
A sikeres fizetési státuszok 1 (paid) és 5 (overpaid); ezek beérkezése esetén átutalhatja a befizetett vásárlást az ügyfélnek, vagy feltöltheti az egyenleget. 5 (overpaid) státuszú fizetések esetén az egyenleg feltöltésekor az egyenleget a ténylegesen beérkezett fizetés összegével töltheti fel, de áruk/szolgáltatások eladása és jelentős túlfizetés esetén célszerű kapcsolatba lépni a fizetővel és vele együtt eldönteni, hogyan kezeljék a túlfizetést.
A részben sikeres státusz 4 (underpaid); ebben az esetben lehetséges az egyenleg feltöltése a ténylegesen beérkezett fizetés összegével. Azonban ezt a státuszt nem lehet sikeresnek tekinteni az áruk/szolgáltatások értékesítésének szempontjából.
Minden más státusz - 0 (pending), 2 (error), 3 (canceled by customer) a fizetés teljes hiányát jelenti; ezek beérkezése esetén nem szabad semmilyen intézkedést tenni az egyenleg feltöltésére vagy áruk/szolgáltatások értékesítésére.
Aláírás ellenőrzése
Annak biztosítására, hogy a értesítést valóban az AxtonPay küldte, szükséges ellenőrizni a beérkezett értesítés aláírását, mielőtt megbízna benne. Az ellenőrzés hasonló a saját kéréseink aláírásához, csak az utolsó lépés kerül hozzáadásra, amikor össze kell hasonlítani a kiszámított aláírást a beérkezett HTTP fejléc 'Sign' értékével.
A fő lépések a fizetési státusz megváltozásáról szóló értesítés kézhezvétele után a következők:
- vegyen át az összes érvet (QUERY_STRING) a kapott értesítésből,
- vegyen el mindent POST data (REQUEST_BODY) a kapott értesítésből,
- számítsd ki az aláírást azokkal a QUERY_STRING + REQUEST_BODY és a megfelelő 'Secret key' használatával,
- hasonlítsa össze a kiszámított aláírást azzal, amelyet a HTTP fejlécben 'Sign' kapott,
- ha az aláírások megegyeznek, a értesítés valóban AxtonPay-tól jött;
- Ha az aláírások különböznek, az a fizető részéről csalási kísérlet lehet.
Példa egy sorra az aláírás létrehozásához:
// 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
Megerősítés arról, hogy az üzlet feldolgozta a fizetési információkat: /api/v1/private/checkout/payment/confirm/{PID}
Ez a kérés a AxtonPay részére lett elküldve egy általa kapott értesítésre válaszul. Funkcionálisan ez annak megerősítése, hogy az áruház sikeresen megkapta és feldolgozta a kapott értesítést.
A kérés elküldéséhez hívd meg a /api/v1/private/checkout/payment/confirm/{PID} metódust, a számla pid-jét megadva az URL végén.
Kérés paraméterei:
- time (kötelező) - POSIX timestamp (Unix time)
- status (kötelező, egész szám) - fizetési állapot szám, amelyre az üzlet megerősítést küld
Ha az átvitt állapot megegyezik a rendszerben lévő számla aktuális állapotával, AxtonPay 'OK'-szal fog válaszolni, és ha nem egyezik, hibával fog válaszolni.
Példa egy sorra az aláírás létrehozásához:
// 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"}
Példa egy válaszra, ha a jelenlegi fizetési státusz ugyanaz:
{
"status": "ok",
"data": "\"Paid\" status notification is confirmed"
}
Példa egy válaszra, ha a jelenlegi fizetési állapot eltér a kérésben közölttől:
{
"status": "error",
"message": "Something went wrong"
}
Pénznemkódok
Azok a valuták, amelyeket számla létrehozásához lehet használni.
A legtöbb használt valutakód fiat valutákhoz tartozik, és egyenlő az ISO 4217 -val. A lista emellett néhány kriptovalutát is tartalmaz.
| Kód | Név | Tizedes számjegyek | Típus |
| BCH | Bitcoin Cash | 8 | Kriptovaluta |
| BLK | Blackcoin | 8 | Kriptovaluta |
| BNB | Binancecoin | 18 | Kriptovaluta |
| BTC | Bitcoin | 8 | Kriptovaluta |
| BTT | BitTorrent | 18 | Kripto token |
| BUSD | Binance USD | 18 | Kripto token |
| DAI | Dai | 18 | Kripto token |
| DASH | Dash | 8 | Kriptovaluta |
| DOGE | Dogecoin | 8 | Kriptovaluta |
| ETC | Ethereum Classic | 18 | Kriptovaluta |
| ETH | Ethereum | 18 | Kriptovaluta |
| LTC | Litecoin | 8 | Kriptovaluta |
| NLG | Gulden | 8 | Kriptovaluta |
| RDD | ReddCoin | 8 | Kriptovaluta |
| TRX | Tron | 6 | Kriptovaluta |
| USDC | USD Coin | 6 | Kripto token |
| USDD | Decentralized USD | 18 | Kripto token |
| USDT | Tether USDT | 6 | Kripto token |
| VTC | Vertcoin | 8 | Kriptovaluta |
| XVG | Verge | 8 | Kriptovaluta |
| AED | United Arab Emirates dirham | 2 | Papírpénz |
| AFN | Afghan afghani | 2 | Papírpénz |
| ALL | Albanian lek | 2 | Papírpénz |
| AMD | Armenian dram | 2 | Papírpénz |
| ANG | Netherlands Antillean guilder | 2 | Papírpénz |
| AOA | Angolan kwanza | 2 | Papírpénz |
| ARS | Argentine peso | 2 | Papírpénz |
| AUD | Australian dollar | 2 | Papírpénz |
| AWG | Aruban florin | 2 | Papírpénz |
| AZN | Azerbaijani manat | 2 | Papírpénz |
| BAM | Bosnia and Herzegovina convertible mark | 2 | Papírpénz |
| BBD | Barbados dollar | 2 | Papírpénz |
| BDT | Bangladeshi taka | 2 | Papírpénz |
| BGN | Bulgarian lev | 2 | Papírpénz |
| BHD | Bahraini dinar | 3 | Papírpénz |
| BIF | Burundian franc | 2 | Papírpénz |
| BMD | Bermudian dollar | 2 | Papírpénz |
| BND | Brunei dollar | 2 | Papírpénz |
| BOB | Boliviano | 2 | Papírpénz |
| BRL | Brazilian real | 2 | Papírpénz |
| BSD | Bahamian dollar | 2 | Papírpénz |
| BTN | Bhutanese ngultrum | 2 | Papírpénz |
| BWP | Botswana pula | 2 | Papírpénz |
| BYN | Belarusian ruble | 2 | Papírpénz |
| BZD | Belize dollar | 2 | Papírpénz |
| CAD | Canadian dollar | 2 | Papírpénz |
| CDF | Congolese franc | 2 | Papírpénz |
| CHF | Swiss franc | 2 | Papírpénz |
| CLP | Chilean peso | 2 | Papírpénz |
| CNY | Renminbi (Chinese) yuan | 2 | Papírpénz |
| COP | Colombian peso | 2 | Papírpénz |
| CRC | Costa Rican colon | 2 | Papírpénz |
| CUC | Cuban convertible peso | 2 | Papírpénz |
| CUP | Cuban peso | 2 | Papírpénz |
| CVE | Cape Verde escudo | 2 | Papírpénz |
| CZK | Czech koruna | 2 | Papírpénz |
| DJF | Djiboutian franc | 2 | Papírpénz |
| DKK | Danish krone | 2 | Papírpénz |
| DOP | Dominican peso | 2 | Papírpénz |
| DZD | Algerian dinar | 2 | Papírpénz |
| EGP | Egyptian pound | 2 | Papírpénz |
| ERN | Eritrean nakfa | 2 | Papírpénz |
| ETB | Ethiopian birr | 2 | Papírpénz |
| EUR | Euro | 2 | Papírpénz |
| FJD | Fiji dollar | 2 | Papírpénz |
| FKP | Falkland Islands pound | 2 | Papírpénz |
| GBP | Pound sterling | 2 | Papírpénz |
| GEL | Georgian lari | 2 | Papírpénz |
| GHS | Ghanaian cedi | 2 | Papírpénz |
| GIP | Gibraltar pound | 2 | Papírpénz |
| GMD | Gambian dalasi | 2 | Papírpénz |
| GNF | Guinean franc | 0 | Papírpénz |
| GTQ | Guatemalan quetzal | 2 | Papírpénz |
| GYD | Guyanese dollar | 2 | Papírpénz |
| HKD | Hong Kong dollar | 2 | Papírpénz |
| HNL | Honduran lempira | 2 | Papírpénz |
| HRK | Croatian kuna | 2 | Papírpénz |
| HTG | Haitian gourde | 2 | Papírpénz |
| HUF | Hungarian forint | 2 | Papírpénz |
| IDR | Indonesian rupiah | 2 | Papírpénz |
| ILS | Israeli new shekel | 2 | Papírpénz |
| INR | Indian rupee | 2 | Papírpénz |
| IQD | Iraqi dinar | 3 | Papírpénz |
| IRR | Iranian rial | 2 | Papírpénz |
| ISK | Icelandic krona | 2 | Papírpénz |
| JMD | Jamaican dollar | 2 | Papírpénz |
| JOD | Jordanian dinar | 3 | Papírpénz |
| JPY | Japanese yen | 3 | Papírpénz |
| KES | Kenyan shilling | 2 | Papírpénz |
| KGS | Kyrgyzstani som | 2 | Papírpénz |
| KHR | Cambodian riel | 2 | Papírpénz |
| KMF | Comoro franc | 2 | Papírpénz |
| KPW | North Korean won | 2 | Papírpénz |
| KRW | South Korean won | 2 | Papírpénz |
| KWD | Kuwaiti dinar | 3 | Papírpénz |
| KYD | Cayman Islands dollar | 2 | Papírpénz |
| KZT | Kazakhstani tenge | 2 | Papírpénz |
| LAK | Lao kip | 2 | Papírpénz |
| LBP | Lebanese pound | 2 | Papírpénz |
| LKR | Sri Lankan rupee | 2 | Papírpénz |
| LRD | Liberian dollar | 2 | Papírpénz |
| LSL | Lesotho loti | 2 | Papírpénz |
| LYD | Libyan dinar | 3 | Papírpénz |
| MAD | Moroccan dirham | 2 | Papírpénz |
| MDL | Moldovan leu | 2 | Papírpénz |
| MGA | Malagasy ariary | 2 | Papírpénz |
| MKD | Macedonian denar | 2 | Papírpénz |
| MMK | Myanmar kyat | 2 | Papírpénz |
| MNT | Mongolian togrog | 2 | Papírpénz |
| MOP | Macanese pataca | 2 | Papírpénz |
| MRU | Mauritanian ouguiya | 2 | Papírpénz |
| MUR | Mauritian rupee | 2 | Papírpénz |
| MVR | Maldivian rufiyaa | 2 | Papírpénz |
| MWK | Malawian kwacha | 2 | Papírpénz |
| MXN | Mexican peso | 2 | Papírpénz |
| MYR | Malaysian ringgit | 2 | Papírpénz |
| MZN | Mozambican metical | 2 | Papírpénz |
| NAD | Namibian dollar | 2 | Papírpénz |
| NGN | Nigerian naira | 2 | Papírpénz |
| NIO | Nicaraguan cordoba | 2 | Papírpénz |
| NOK | Norwegian krone | 2 | Papírpénz |
| NPR | Nepalese rupee | 2 | Papírpénz |
| NZD | New Zealand dollar | 2 | Papírpénz |
| OMR | Omani rial | 3 | Papírpénz |
| PAB | Panamanian balboa | 2 | Papírpénz |
| PEN | Peruvian sol | 2 | Papírpénz |
| PGK | Papua New Guinean kina | 2 | Papírpénz |
| PHP | Philippine peso | 2 | Papírpénz |
| PKR | Pakistani rupee | 2 | Papírpénz |
| PLN | Polish zloty | 2 | Papírpénz |
| PYG | Paraguayan guarani | 2 | Papírpénz |
| QAR | Qatari riyal | 2 | Papírpénz |
| RON | Romanian leu | 2 | Papírpénz |
| RSD | Serbian dinar | 2 | Papírpénz |
| RUB | Russian ruble | 2 | Papírpénz |
| RWF | Rwandan franc | 2 | Papírpénz |
| SAR | Saudi riyal | 2 | Papírpénz |
| SBD | Solomon Islands dollar | 2 | Papírpénz |
| SCR | Seychelles rupee | 2 | Papírpénz |
| SDG | Sudanese pound | 2 | Papírpénz |
| SEK | Swedish krona/kronor | 2 | Papírpénz |
| SGD | Singapore dollar | 2 | Papírpénz |
| SHP | Saint Helena pound | 2 | Papírpénz |
| SLL | Sierra Leonean leone | 2 | Papírpénz |
| SOS | Somali shilling | 2 | Papírpénz |
| SRD | Surinamese dollar | 2 | Papírpénz |
| SSP | South Sudanese pound | 2 | Papírpénz |
| STN | Sao Tome and Pricipe dobra | 2 | Papírpénz |
| SVC | Salvadoran colon | 2 | Papírpénz |
| SYP | Syrian pound | 2 | Papírpénz |
| SZL | Swazi lilangeni | 2 | Papírpénz |
| THB | Thai baht | 2 | Papírpénz |
| TJS | Tajikistani somoni | 2 | Papírpénz |
| TMT | Turkmenistan manat | 2 | Papírpénz |
| TND | Tunisian dinar | 3 | Papírpénz |
| TOP | Tongan paanga | 2 | Papírpénz |
| TRY | Turkish lira | 2 | Papírpénz |
| TTD | Trinidad and Tobago dollar | 2 | Papírpénz |
| TWD | New Taiwan dollar | 2 | Papírpénz |
| TZS | Tanzanian shilling | 2 | Papírpénz |
| UAH | Ukrainian hryvnia | 2 | Papírpénz |
| UGX | Ugandan shilling | 0 | Papírpénz |
| USD | United States dollar | 2 | Papírpénz |
| UYU | Uruguayan peso | 2 | Papírpénz |
| UZS | Uzbekistan som | 2 | Papírpénz |
| VES | Venezuelan bolivar soberano | 2 | Papírpénz |
| VND | Vietnamese dong | 2 | Papírpénz |
| VUV | Vanuatu vatu | 0 | Papírpénz |
| WST | Samoan tala | 2 | Papírpénz |
| XAF | CFA franc BEAC | 3 | Papírpénz |
| XCD | East Caribbean dollar | 2 | Papírpénz |
| XOF | CFA franc BCEAO | 2 | Papírpénz |
| XPF | CFP franc (franc Pacifique) | 3 | Papírpénz |
| XTS | Kifejezetten tesztelési célokra fenntartott kódok | 2 | Fenntartott kód |
| XXX | Azoknak a tranzakcióknak a kódjai, ahol nincs valuta érintve | 2 | Fenntartott kód |
| YER | Yemeni rial | 2 | Papírpénz |
| ZAR | South African rand | 2 | Papírpénz |
| ZMW | Zambian kwacha | 2 | Papírpénz |
| ZWL | Zimbabwean dollar | 2 | Papírpénz |
