AxtonPay API

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&currency=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&currency=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&currency=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&currency=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&currency=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&currency=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