Document version: 0.9
Bendra informacija
API taškas
https://mp.axtonpay.com/api/v1/private/checkout
Content-type
API priima HTTP užklausas su 2 turinio tipais: 'application/x-www-form-urlencoded', 'application/json'.
HTTP antraštė turėtų atitikti POST turinio turinį.
Santrumpos ir apibrėžimai
- {PID} - Sąskaitos faktūros ID, paprastai tai unikalus 8 simbolių alfanumerinis sekos kodas.
- Shop - Jūsų svetainė, kuri priima mokėjimus per AxtonPay paslaugą
Darbo su API algoritmas
Įprasta veiksmų eiga norint gauti mokėjimą:
- sukurti sąskaitą faktūrą ('/api/v1/private/checkout/payment/create'), API atsakymas grąžins sąskaitos faktūros URL ('invoice_url'),
- nusiųsti pirkėjui šią sąskaitą atsiskaitymui
- palaukite AxtonPay serverio pranešimų, kurie bus siunčiami į 'server_notification_url',
- gavus bet kokį pranešimą iš AxtonPay, patikrinkite jo parašo galiojimą ir pageidautina išsiųskite gavimo patvirtinimą AxtonPay ('/api/v1/private/checkout/payment/confirm/{PID}'),
- jei sąskaitos faktūros būklė pasikeičia, atlikite veiksmus, atitinkančius šią būklę (pvz., prašyti pilnos informacijos apie sąskaitą faktūrą, siųsti prekes, sukurti bilietą palaikymo komandai ir pan.).
Jei kuriant sąskaitą faktūrą nustatysite tuščią arba netinkamą 'server_notification_url', paslauga negalės siųsti pranešimų apie būsenos pasikeitimus; tokiais atvejais turėtumėte patys patikrinti sąskaitą faktūrą tam tikrais intervalais ('/api/v1/private/checkout/payment/get/{PID}').
Užklausų autorizavimas
Norint autorizuoti užklausą, būtina apskaičiuoti maišos kodą (Hash) iš specialiu būdu suformuotos eilutės. Eilutė sudaroma sujungiami (sulipinami) URL parametro reikšmės (QUERY_STRING) ir POST užklausos turinys (REQUEST_BODY). Svarbu, kad visi komponentai būtų paimti būtent tokiu pavidalu, kokiu jie bus perduodami serveriui. URL parametro reikšmės (QUERY_STRING) turėtų būti paimtos iš URL kaip viena eilutė, nekeičiant parametrų tvarkos ir neišmetant jokių elementų. POST užklausos turinys (REQUEST_BODY) taip pat turėtų būti naudojamas be jokių pakeitimų, įskaitant kabučių, tarpų, skliaustų ar eilučių pertraukų neskaičiavimą.
Esant tuščiam POST užklausos kūnui ir tuštiems URL argumentams, tas komponentas tiesiog bus tuščia eilutė.
Duomenų seka pasirašymo užklausoje: QUERY_STRING pirmiausia, tada POST duomenys. Tarp jų neturėtumėte įterpti jokių sujungimo ženklų, tiesiog sujunkite dvi teksto eilutes.
Dar kartą, kiekvienas simbolis yra reikšmingas. Jūs neturėtumėte pridėti ar pašalinti net tarpo ar naujos eilutės simbolio. Tiesiog naudokite serverio gautus neapdorotus duomenis.
Iš gautos eilutės paimamas SHA-256 maišos kodas su raktu 'Secret key' ir naudojamas kaip antroji funkcijos hash_hmac() argumentas.
Būtina perduoti 'time' parametrą, kuriame yra dabartinis POSIX timestamp (Unix time).
Šis parašas galioja 24 valandas. Jei 'time' parametro reikšmė skirsis nuo dabartinio serverio laiko daugiau nei 24 valandomis (į priekį ar atgal), užklausa nepavyks net jei parašas bus apskaičiuotas be klaidų.
Jei prekybininko skydelis priėmė užklausą su tam tikru parašu, tas parašas negali būti naudojamas dar kartą, net norint siųsti užklausą su tais pačiais parametrais (tai įtraukia parametrą 'time').
Gautasis maišos kodas perduodamas HTTP antraštėje 'Sign'.
Be apskaičiuoto parašo, užklausoje taip pat turi būti 'Api-Key' antraštė, kurioje būtų panaudotas API raktas. Pavyzdys:
$headers = [
'Api-Key: ' . $the_api_key,
'Sign: ' . $signature_sha256
];
Jūs galite pasirašyti AxtonPay išsiųstą užklausą bet kuriuo galiojančiu raketu, kuris priklauso šiam atsiskaitymui. Tačiau AxtonPay visada naudoja raktą, kurį pasirinkote prekybininko skydelyje.
Parašo apskaičiavimo pavyzdys:
/* 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' */
Atkreipkite dėmesį į tarpus ir eilučių lūžius kitame pavyzdyje:
/*
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"
}'
*/
Python pavyzdys, kaip sudaryti eilutę parašo skaičiavimui:
string_for_hash_calculation = f'{request.query_params.urlencode()}{request.data.urlencode()}'
Parametrai
API priima visus parametrus tiek QUERY_STRING, tiek POST užklausos kūne.
Bule'o kintamieji
API tikisi gauti '0' arba '1' Boolean tipo kintamuosiuose, bet dėl implicitinės tipo konversijos bet koks teksto eilutės vertimas bus laikomas '1', net žodis 'false'. Todėl, norint aiškiai nustatyti 'FALSE' reikšmę Boolean tipo kintamajam, reikia perduoti jam arba reikšmę '0', arba tuščią eilutę.
Dešimtainė kablelis
Skaičiuose dešimtainėms dalims atskirti naudojamas tik dešimtainis kablelis.
Parametrų simbolių dydis
Išimtimis, visi parametrai yra jautrūs raidžių dydžiui.
Atgalinio skambučio URL
AxtonPay administravimo skydelyje, atsiskaitymo nustatymų puslapyje, galima nustatyti parduotuvės URL serverio-serverio pranešimams iš AxtonPay gauti, taip pat URL pirkėjo nukreipimui po sąskaitos apmokėjimo arba jos atšaukimo, taip pat klaidos atveju.
Šie URL gali būti pakeisti sąskaitos faktūros kūrimo užklausoje.
AxtonPay API metodai
Sąskaitos kūrimas: /api/v1/private/checkout/payment/create
Metodas /api/v1/private/checkout/payment/create inicijuoja sąskaitos faktūros kūrimą.
Jei pavyksta, metodas grąžina nuorodą ('invoice_url'), į kurią turėtumėte nukreipti klientą mokėjimui.
Savi sąskaitos parametrai:
- time (privaloma) - POSIX timestamp (Unix time)
- amount (privaloma) - mokėtina suma (prekės ar paslaugos kaina, kurią parduotuvė nori gauti)
- currency (privaloma) - 3 raidžių valiutos kodas pagal ISO 4217-alpha, nepaisant didžiųjų ir mažųjų raidžių
- pms (privaloma) - mokėjimo būdai, rodomi sąskaitos puslapyje. Jei norite leisti visus mokėjimo būdus, reikšmė yra 'all'; jei norite leisti tik kai kuriuos iš jų, išvardykite jų skaičinius identifikatorius, atskirtus kableliais.
- pm - Pasirinkto mokėjimo metodo identifikatorius. Svarbu, kad jei perduodamas 'pm' parametras, sąskaita bus sukurta „skaidriu režimu“, t. y. pirkėjas nematys sąskaitos puslapio, o eis tiesiai į mokėjimo sistemą.
- extra_data - asociatyvus masyvas, kuriame yra bet kokie papildomi duomenys; šie duomenys grąžinami parduotuvei visi
- shop_user_id - vartotojo identifikatorius parduotuvėje, jis grąžinamas į parduotuvę nepakitęs
- shop_payment_id - mokėjimo identifikatorius parduotuvėje, jis grąžinamas į parduotuvę nepakitęs
- shop_name - parduotuvės pavadinimas (rodoma sąskaitos puslapyje)
- shop_payment_desc - užsakymo aprašymas (rodoma sąskaitos puslapyje)
- shop_payment_remark - jūsų pastabos apie šį mokėjimą (tai laukelis bet kokioms pastaboms apie mokėjimą, kurias AxtonPay niekur nepersiunčia; jos matomos tik mokėjimų sąraše; jos negrįžta į parduotuvę)
- valid_time - laiko intervalas, per kurį galima sumokėti sąskaitą; sekundėmis
- view_time - laiko intervalas, per kurį sąskaitą galima peržiūrėti per išorinę nuorodą; sekundėmis; atgalinis skaičiavimas prasideda pasibaigus 'valid_time' laikotarpiui
- server_notification_method - mokėjimų būsenų serverio-serverio pranešimų siuntimo metodas parduotuvei; galimos reikšmės: POST, GET
Kai kurie sąskaitos nustatymai yra nustatyti atsiskaitymo nustatymų puslapyje. Tačiau užklausoje perduodamos reikšmės turės pirmenybę prieš šiuos nustatymus.
Atsiskaitymo parametrai, kuriuos galima pakeisti šiam sąskaitai:
- customer_success_url - nuoroda, į kurią pirkėjas bus peradresuotas, jei sąskaita bus sėkmingai apmokėta (t. y. jei sąskaitos būklė yra 'paid' arba 'overpaid').
- customer_cancel_url - nuoroda, į kurią pirkėjas bus nukreiptas, jei mokėjimas bus atšauktas
- customer_fail_url - nuoroda, į kurią pirkėjas bus nukreiptas, jei mokėjimas baigsis klaida
- server_notification_url - nuoroda siųsti serverio-serverio pranešimus apie mokėjimo būsenas parduotuvei
Pastaba: Kad atitiktumėte savo privatumo politiką, paprastai nėra būtina įtraukti kliento asmens duomenų į sąskaitos savybes. Pavyzdžiui, parametre "shop_user_id" geriau nurodyti abstraktų kliento ID, o ne jo el. pašto adresą ar telefono numerį. Taip pat "shop_payment_desc" lauke geriau visiškai neįtraukti kliento duomenų, nes jie jau patys žino apie save viską; vietoje to galite nurodyti kai kurią informaciją apie apmokėtą prekę ar paslaugą, arba netgi tiesiog parašyti veiklos tipą, pavyzdžiui, „Pirkimas“ arba „Balanso papildymas“.
Visi nuorodos privalomai perduodamos naudojant protokolą.
Užklausos pavyzdys:
<?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);
?>
Sėkmingo atsakymo pavyzdys prašant sukurti sąskaitą faktūrą:
{
"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"
}
Gauti sąskaitos informaciją: /api/v1/private/checkout/payment/get/{PID}
Norėdami gauti reikiamą informaciją, paskambinkite metodu /api/v1/private/checkout/payment/get/{PID}, nurodydami sąskaitos faktūros PID URL pabaigoje.
Užklausos parametrai:
- time (privaloma) - POSIX timestamp (Unix time)
Parašymo pavyzdžio eilutė:
// Full URL: https://mp.axtonpay.com/api/v1/private/checkout/payment/get/GIKR3XPY?time=1766837343 // String for signature calculation: time=1766837343
Atsakymo pavyzdys:
{
"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"
}
}
Prašomos sumos ir sumokėtos sumos palyginimas
Atsakyme pateikiamos kelios skirtingos sumos (valiuta, kuria buvo išrašyta sąskaita):
- "amount" - sąskaitoje nurodyta suma
- "filled" - apmokėjo dalį sąskaitos
- "total_filled" - kiek klientas sumokėjo iš viso, įskaitant komisijas.
Jei "filled = amount", tai sumokama tiek, kiek reikia.
Jei "filled > amount", tai yra permokėjimas.
Jei "filled < amount", sąskaita nebuvo sumokėta visiškai (nepakankamas apmokėjimas).
Sąskaita faktūra: pranešimo iš AxtonPay apie būsenos pasikeitimą apdorojimas
Kiekvieną kartą, kai sąskaitos statusas pasikeičia, AxtonPay siunčia pranešimą server_notification_url (naudojant server_notification_method)
Pavyzdžių duomenys:
{
"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"
}
Atsakydamas į šį pranešimą AxtonPay tikisi gauti HTTP code 200, kuris patvirtina jo sėkmingą gavimą. Priešingu atveju, AxtonPay bandys dar 12 kartų didėjančiais intervalais, o tada pranešimo būseną keičia į 'error' (tačiau tai neturi įtakos pačios sąskaitos būsenai).
Galimos būsenos reikšmės:
- 0 - pending
- 1 - paid
- 2 - error
- 3 - cancelled by customer
- 4 - underpaid
- 5 - overpaid
- 8 - expired
Sėkmingos mokėjimo būsenos yra 1 (paid) ir 5 (overpaid); gavus jas, galite pervesti apmokėtą pirkimą klientui arba papildyti balansą. Mokėjimams su 5 (overpaid) būsena, papildant balansą galite papildyti balansą tik gavę faktinę sumą, tačiau parduodant prekes/paslaugas ir esant reikšmingai permokai, patartina susisiekti su mokėtoju ir kartu nuspręsti, kaip elgtis su permoka.
Iš dalies sėkmingas statusas yra 4 (underpaid); gavus šį statusą, galima papildyti balansą faktinės gautos sumos dydžiu. Tačiau šio statuso negalima laikyti sėkmingu prekių/paslaugų pardavimui.
Visos kitos būsenos - 0 (pending), 2 (error), 3 (canceled by customer) reiškia visišką mokėjimo nebuvimą; gavus jas nereikėtų atlikti jokių veiksmų dėl balanso papildymo ar prekių/paslaugų pardavimo.
Parašo tikrinimas
Norint būti tikram, kad pranešimas siunčiamas būtent AxtonPay, būtina patikrinti gauto pranešimo parašą prieš juo pasitikint. Patikrinimas yra panašus į savo užklausų pasirašymą, tik pridedamas paskutinis žingsnis, kai turite palyginti apskaičiuotą parašą su gautu HTTP antrašte 'Sign'.
Pagrindiniai žingsniai gavus pranešimą apie pasikeitusį mokėjimo statusą yra šie:
- paimkite visą argumentų eilutę (QUERY_STRING) iš gauto pranešimo,
- paimkite visą POST data (REQUEST_BODY) iš gauto pranešimo,
- apskaičiuokite parašą naudodami tuos QUERY_STRING + REQUEST_BODY ir atitinkamą 'Secret key',
- palyginti apskaičiuotą parašą su tuo, kuris gautas HTTP antraštėje 'Sign',
- jei parašai yra tokie patys, pranešimas tikrai atkeliavo iš AxtonPay;
- jei parašai skiriasi, tai gali būti mokėtojo bandymas sukčiauti.
Pavyzdys eilutės parašo generavimui:
// 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
Patvirtinimas, kad parduotuvė apdorotų mokėjimo informaciją: /api/v1/private/checkout/payment/confirm/{PID}
Šis prašymas siunčiamas AxtonPay kaip atsakas į gautą pranešimą. Funkciškai tai yra patvirtinimas, kad parduotuvė sėkmingai gavo ir apdorojė gautą pranešimą.
Norėdami išsiųsti užklausą, kvieskite metodą /api/v1/private/checkout/payment/confirm/{PID}, nurodydami sąskaitos faktūros PID URL pabaigoje.
Užklausos parametrai:
- time (privaloma) - POSIX timestamp (Unix time)
- status (privalomas, sveikasis skaičius) - mokėjimo būsenos numeris, už kurį parduotuvė siunčia patvirtinimą
Jei perduota būsena atitinka šios sąskaitos faktūros dabartinę būseną sistemoje, AxtonPay atsakys su 'OK', o jei neatitinka, atsakys klaida.
Pavyzdys eilutės parašo generavimui:
// 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"}
Atsakymo pavyzdys, jei esama mokėjimo būsena yra ta pati:
{
"status": "ok",
"data": "\"Paid\" status notification is confirmed"
}
Pavyzdys atsakymo, jei dabartinė mokėjimo būklė skiriasi nuo prašyme nurodytos:
{
"status": "error",
"message": "Something went wrong"
}
Valiutų kodai
Valiutos, kurias galima naudoti sąskaitos faktūros kūrimui.
Dauguma naudojamų valiutų kodų priklauso fiat valiutoms, ir jie lygūs ISO 4217. Taip pat sąraše yra keletas kriptovaliutų.
| Kodas | Vardas | Dešimtainiai skaitmenys | Tipas |
| BCH | Bitcoin Cash | 8 | Kriptovaliuta |
| BLK | Blackcoin | 8 | Kriptovaliuta |
| BNB | Binancecoin | 18 | Kriptovaliuta |
| BTC | Bitcoin | 8 | Kriptovaliuta |
| BTT | BitTorrent | 18 | Kripto žetonas |
| BUSD | Binance USD | 18 | Kripto žetonas |
| DAI | Dai | 18 | Kripto žetonas |
| DASH | Dash | 8 | Kriptovaliuta |
| DOGE | Dogecoin | 8 | Kriptovaliuta |
| ETC | Ethereum Classic | 18 | Kriptovaliuta |
| ETH | Ethereum | 18 | Kriptovaliuta |
| LTC | Litecoin | 8 | Kriptovaliuta |
| NLG | Gulden | 8 | Kriptovaliuta |
| RDD | ReddCoin | 8 | Kriptovaliuta |
| TRX | Tron | 6 | Kriptovaliuta |
| USDC | USD Coin | 6 | Kripto žetonas |
| USDD | Decentralized USD | 18 | Kripto žetonas |
| USDT | Tether USDT | 6 | Kripto žetonas |
| VTC | Vertcoin | 8 | Kriptovaliuta |
| XVG | Verge | 8 | Kriptovaliuta |
| AED | United Arab Emirates dirham | 2 | Fiat valiuta |
| AFN | Afghan afghani | 2 | Fiat valiuta |
| ALL | Albanian lek | 2 | Fiat valiuta |
| AMD | Armenian dram | 2 | Fiat valiuta |
| ANG | Netherlands Antillean guilder | 2 | Fiat valiuta |
| AOA | Angolan kwanza | 2 | Fiat valiuta |
| ARS | Argentine peso | 2 | Fiat valiuta |
| AUD | Australian dollar | 2 | Fiat valiuta |
| AWG | Aruban florin | 2 | Fiat valiuta |
| AZN | Azerbaijani manat | 2 | Fiat valiuta |
| BAM | Bosnia and Herzegovina convertible mark | 2 | Fiat valiuta |
| BBD | Barbados dollar | 2 | Fiat valiuta |
| BDT | Bangladeshi taka | 2 | Fiat valiuta |
| BGN | Bulgarian lev | 2 | Fiat valiuta |
| BHD | Bahraini dinar | 3 | Fiat valiuta |
| BIF | Burundian franc | 2 | Fiat valiuta |
| BMD | Bermudian dollar | 2 | Fiat valiuta |
| BND | Brunei dollar | 2 | Fiat valiuta |
| BOB | Boliviano | 2 | Fiat valiuta |
| BRL | Brazilian real | 2 | Fiat valiuta |
| BSD | Bahamian dollar | 2 | Fiat valiuta |
| BTN | Bhutanese ngultrum | 2 | Fiat valiuta |
| BWP | Botswana pula | 2 | Fiat valiuta |
| BYN | Belarusian ruble | 2 | Fiat valiuta |
| BZD | Belize dollar | 2 | Fiat valiuta |
| CAD | Canadian dollar | 2 | Fiat valiuta |
| CDF | Congolese franc | 2 | Fiat valiuta |
| CHF | Swiss franc | 2 | Fiat valiuta |
| CLP | Chilean peso | 2 | Fiat valiuta |
| CNY | Renminbi (Chinese) yuan | 2 | Fiat valiuta |
| COP | Colombian peso | 2 | Fiat valiuta |
| CRC | Costa Rican colon | 2 | Fiat valiuta |
| CUC | Cuban convertible peso | 2 | Fiat valiuta |
| CUP | Cuban peso | 2 | Fiat valiuta |
| CVE | Cape Verde escudo | 2 | Fiat valiuta |
| CZK | Czech koruna | 2 | Fiat valiuta |
| DJF | Djiboutian franc | 2 | Fiat valiuta |
| DKK | Danish krone | 2 | Fiat valiuta |
| DOP | Dominican peso | 2 | Fiat valiuta |
| DZD | Algerian dinar | 2 | Fiat valiuta |
| EGP | Egyptian pound | 2 | Fiat valiuta |
| ERN | Eritrean nakfa | 2 | Fiat valiuta |
| ETB | Ethiopian birr | 2 | Fiat valiuta |
| EUR | Euro | 2 | Fiat valiuta |
| FJD | Fiji dollar | 2 | Fiat valiuta |
| FKP | Falkland Islands pound | 2 | Fiat valiuta |
| GBP | Pound sterling | 2 | Fiat valiuta |
| GEL | Georgian lari | 2 | Fiat valiuta |
| GHS | Ghanaian cedi | 2 | Fiat valiuta |
| GIP | Gibraltar pound | 2 | Fiat valiuta |
| GMD | Gambian dalasi | 2 | Fiat valiuta |
| GNF | Guinean franc | 0 | Fiat valiuta |
| GTQ | Guatemalan quetzal | 2 | Fiat valiuta |
| GYD | Guyanese dollar | 2 | Fiat valiuta |
| HKD | Hong Kong dollar | 2 | Fiat valiuta |
| HNL | Honduran lempira | 2 | Fiat valiuta |
| HRK | Croatian kuna | 2 | Fiat valiuta |
| HTG | Haitian gourde | 2 | Fiat valiuta |
| HUF | Hungarian forint | 2 | Fiat valiuta |
| IDR | Indonesian rupiah | 2 | Fiat valiuta |
| ILS | Israeli new shekel | 2 | Fiat valiuta |
| INR | Indian rupee | 2 | Fiat valiuta |
| IQD | Iraqi dinar | 3 | Fiat valiuta |
| IRR | Iranian rial | 2 | Fiat valiuta |
| ISK | Icelandic krona | 2 | Fiat valiuta |
| JMD | Jamaican dollar | 2 | Fiat valiuta |
| JOD | Jordanian dinar | 3 | Fiat valiuta |
| JPY | Japanese yen | 3 | Fiat valiuta |
| KES | Kenyan shilling | 2 | Fiat valiuta |
| KGS | Kyrgyzstani som | 2 | Fiat valiuta |
| KHR | Cambodian riel | 2 | Fiat valiuta |
| KMF | Comoro franc | 2 | Fiat valiuta |
| KPW | North Korean won | 2 | Fiat valiuta |
| KRW | South Korean won | 2 | Fiat valiuta |
| KWD | Kuwaiti dinar | 3 | Fiat valiuta |
| KYD | Cayman Islands dollar | 2 | Fiat valiuta |
| KZT | Kazakhstani tenge | 2 | Fiat valiuta |
| LAK | Lao kip | 2 | Fiat valiuta |
| LBP | Lebanese pound | 2 | Fiat valiuta |
| LKR | Sri Lankan rupee | 2 | Fiat valiuta |
| LRD | Liberian dollar | 2 | Fiat valiuta |
| LSL | Lesotho loti | 2 | Fiat valiuta |
| LYD | Libyan dinar | 3 | Fiat valiuta |
| MAD | Moroccan dirham | 2 | Fiat valiuta |
| MDL | Moldovan leu | 2 | Fiat valiuta |
| MGA | Malagasy ariary | 2 | Fiat valiuta |
| MKD | Macedonian denar | 2 | Fiat valiuta |
| MMK | Myanmar kyat | 2 | Fiat valiuta |
| MNT | Mongolian togrog | 2 | Fiat valiuta |
| MOP | Macanese pataca | 2 | Fiat valiuta |
| MRU | Mauritanian ouguiya | 2 | Fiat valiuta |
| MUR | Mauritian rupee | 2 | Fiat valiuta |
| MVR | Maldivian rufiyaa | 2 | Fiat valiuta |
| MWK | Malawian kwacha | 2 | Fiat valiuta |
| MXN | Mexican peso | 2 | Fiat valiuta |
| MYR | Malaysian ringgit | 2 | Fiat valiuta |
| MZN | Mozambican metical | 2 | Fiat valiuta |
| NAD | Namibian dollar | 2 | Fiat valiuta |
| NGN | Nigerian naira | 2 | Fiat valiuta |
| NIO | Nicaraguan cordoba | 2 | Fiat valiuta |
| NOK | Norwegian krone | 2 | Fiat valiuta |
| NPR | Nepalese rupee | 2 | Fiat valiuta |
| NZD | New Zealand dollar | 2 | Fiat valiuta |
| OMR | Omani rial | 3 | Fiat valiuta |
| PAB | Panamanian balboa | 2 | Fiat valiuta |
| PEN | Peruvian sol | 2 | Fiat valiuta |
| PGK | Papua New Guinean kina | 2 | Fiat valiuta |
| PHP | Philippine peso | 2 | Fiat valiuta |
| PKR | Pakistani rupee | 2 | Fiat valiuta |
| PLN | Polish zloty | 2 | Fiat valiuta |
| PYG | Paraguayan guarani | 2 | Fiat valiuta |
| QAR | Qatari riyal | 2 | Fiat valiuta |
| RON | Romanian leu | 2 | Fiat valiuta |
| RSD | Serbian dinar | 2 | Fiat valiuta |
| RUB | Russian ruble | 2 | Fiat valiuta |
| RWF | Rwandan franc | 2 | Fiat valiuta |
| SAR | Saudi riyal | 2 | Fiat valiuta |
| SBD | Solomon Islands dollar | 2 | Fiat valiuta |
| SCR | Seychelles rupee | 2 | Fiat valiuta |
| SDG | Sudanese pound | 2 | Fiat valiuta |
| SEK | Swedish krona/kronor | 2 | Fiat valiuta |
| SGD | Singapore dollar | 2 | Fiat valiuta |
| SHP | Saint Helena pound | 2 | Fiat valiuta |
| SLL | Sierra Leonean leone | 2 | Fiat valiuta |
| SOS | Somali shilling | 2 | Fiat valiuta |
| SRD | Surinamese dollar | 2 | Fiat valiuta |
| SSP | South Sudanese pound | 2 | Fiat valiuta |
| STN | Sao Tome and Pricipe dobra | 2 | Fiat valiuta |
| SVC | Salvadoran colon | 2 | Fiat valiuta |
| SYP | Syrian pound | 2 | Fiat valiuta |
| SZL | Swazi lilangeni | 2 | Fiat valiuta |
| THB | Thai baht | 2 | Fiat valiuta |
| TJS | Tajikistani somoni | 2 | Fiat valiuta |
| TMT | Turkmenistan manat | 2 | Fiat valiuta |
| TND | Tunisian dinar | 3 | Fiat valiuta |
| TOP | Tongan paanga | 2 | Fiat valiuta |
| TRY | Turkish lira | 2 | Fiat valiuta |
| TTD | Trinidad and Tobago dollar | 2 | Fiat valiuta |
| TWD | New Taiwan dollar | 2 | Fiat valiuta |
| TZS | Tanzanian shilling | 2 | Fiat valiuta |
| UAH | Ukrainian hryvnia | 2 | Fiat valiuta |
| UGX | Ugandan shilling | 0 | Fiat valiuta |
| USD | United States dollar | 2 | Fiat valiuta |
| UYU | Uruguayan peso | 2 | Fiat valiuta |
| UZS | Uzbekistan som | 2 | Fiat valiuta |
| VES | Venezuelan bolivar soberano | 2 | Fiat valiuta |
| VND | Vietnamese dong | 2 | Fiat valiuta |
| VUV | Vanuatu vatu | 0 | Fiat valiuta |
| WST | Samoan tala | 2 | Fiat valiuta |
| XAF | CFA franc BEAC | 3 | Fiat valiuta |
| XCD | East Caribbean dollar | 2 | Fiat valiuta |
| XOF | CFA franc BCEAO | 2 | Fiat valiuta |
| XPF | CFP franc (franc Pacifique) | 3 | Fiat valiuta |
| XTS | Kodo fragmentai, specialiai skirti testavimui | 2 | Rezervuotas kodas |
| XXX | Koduotės, priskirtos sandoriams, kuriuose nėra naudojama valiuta | 2 | Rezervuotas kodas |
| YER | Yemeni rial | 2 | Fiat valiuta |
| ZAR | South African rand | 2 | Fiat valiuta |
| ZMW | Zambian kwacha | 2 | Fiat valiuta |
| ZWL | Zimbabwean dollar | 2 | Fiat valiuta |
