Document version: 0.9
Gwybodaeth gyffredin
Pwynt terfyn API
https://mp.axtonpay.com/api/v1/private/checkout
Content-type
Mae'r API yn derbyn ceisiadau HTTP gyda 2 math o gynnwys: 'application/x-www-form-urlencoded', 'application/json'.
Dylai penawd HTTP ffitio i gynnwys corff POST.
Crynodebau a diffiniadau
- {PID} - ID'r anfoneb, fel arfer mae'n y dilyniannol alffanuemrig unigryw 8-nod.
- Shop - Eich gwefan sy'n derbyn taliadau trwy'r gwasanaeth AxtonPay
Algorifft o waith gyda'r API
Trefn arferol o weithredoedd i dderbyn taliad:
- creu anfoneb ('/api/v1/private/checkout/payment/create'), bydd ymateb yr API yn dychwelyd URL yr anfoneb ('invoice_url'),
- anfonwch y prynwr at y ddyled hon er mwyn gwneud taliad,
- aros am hysbysiadau gweinydd AxtonPay, fydd yn dod i 'server_notification_url',
- ar dderbyn unrhyw hysbysiad gan AxtonPay, gwirio dilysrwydd ei lofnodi ac yn ddelfrydol anfon cadarnhad o dderbyn i AxtonPay ('/api/v1/private/checkout/payment/confirm/{PID}'),
- os bydd statws anfoneb yn cael ei newid, perfformiwch gamau sy'n cyfateb i'r statws hwn (er enghraifft, gofyn am wybodaeth lawn am yr anfoneb, danfon y nwyddau, creu tocyn i'r tîm cymorth, ac ati).
Os gosodwch 'server_notification_url' gwag neu annilys wrth greu anfoneb, ni all y gwasanaeth anfon hysbysiadau am newidiadau statws; mewn achosion o’r fath, dylech wirio’r anfoneb eich hun ar ryw gyfnod ('/api/v1/private/checkout/payment/get/{PID}').
Awdurdodi ceisiadau
Er mwyn awdurdodi cais, mae angen cyfrifo Hash o stribed wedi'i ffurfio mewn ffordd arbennig. Mae'r stribed wedi'i lunio trwy gymysgu (gludo gyda'i gilydd) yr argymhellion URL (QUERY_STRING) a chorff y cais POST (REQUEST_BODY). Mae'n bwysig y dylid cymryd pob cydran yn union fel y cânt eu trosglwyddo i'r gweinydd. Dylid cymryd argymhellion URL (QUERY_STRING) o'r URL fel llinell sengl, heb newid trefn yr argymhellion a heb adael unrhyw elfennau. Dylid defnyddio corff cais POST (REQUEST_BODY) hefyd heb unrhyw newidiadau, gan gynnwys peidio â thynnu dyfynodau, bylchau, cromfachau, torri llinellau ohono.
Yn achosion corff cais POST gwag, ac yn achos dadleuon URL gwag, bydd y cydran honno yn syml yn gair gwag.
Trefn y data yn y cais llofnodi: QUERY_STRING yn gyntaf, yna'r POST data. Ni ddylid mewnosod unrhyw arwyddion cysylltu rhyngddynt, dim ond cyfuno dau llinyn testun.
Unwaith eto, mae pob symbol yn bwysig. Ni ddylech ychwanegu na thynnu hyd yn oed un gofod gwag neu symbol llinell newydd. Defnyddiwch y data crai a dderbyniwyd gan y gweinydd.
Mae hash SHA-256 gyda'r allwedd 'Secret key' yn cael ei dynnu o'r llinyn canlyniadol ac yn cael ei ddefnyddio fel yr ail ddadl i'r swyddogaeth hash_hmac().
Mae'n orfodol pasio'r paramedr 'time' sy'n cynnwys y POSIX timestamp (Unix time) cyfredol.
Mae'r llofnod hwn yn ddilys am 24 awr. Os yw gwerth y paramedr 'time' yn wahanol i amser y gweinydd cyfredol fwy nag 24 awr (boed ymlaen neu'n ôl), bydd y cais yn methu hyd yn oed os caiff y llofnod ei gyfrifo heb wallau.
Os yw panel masnachwr wedi derbyn cais gyda rhai llofnodion, ni ellir defnyddio'r llofnod hwnnw eto, hyd yn oed i anfon y cais gyda'r un paramedrau (mae hyn yn cynnwys y paramedr 'time').
Fe gyhoeddir y hash canlyniadol yn y pennawd HTTP 'Sign'.
Yn ogystal â'r llofnod a gyfrifwyd, mae'n rhaid i'r cais gynnwys pennawd 'Api-Key' sy'n cynnwys allwedd API a ddefnyddiwyd. Enghraifft:
$headers = [
'Api-Key: ' . $the_api_key,
'Sign: ' . $signature_sha256
];
Gallwch arwyddo'r cais a anfonir at y AxtonPay gyda unrhyw allwedd ddilys sy'n perthyn i'r taliad hwn. Fodd bynnag, mae'r AxtonPay bob amser yn defnyddio'r allwedd rydych chi wedi'i dewis yn y panel masnachwr.
Enghraifft o gyfrifiad llofnod:
/* 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' */
Talu sylw i bylchau gwyn a thorri llinellau mewn enghraifft arall:
/*
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"
}'
*/
Y Python enghraifft o lunio'r llinyn ar gyfer cyfrifiad llofnod:
string_for_hash_calculation = f'{request.query_params.urlencode()}{request.data.urlencode()}'
Paramedrau
Mae'r API yn derbyn pob paramedr yn y ddau QUERY_STRING ac yn nghorff y POST cais.
Newynnau Bolea
Mae’r API yn disgwyl cael '0' neu '1' mewn newidynnau Boolean, ond oherwydd trosi math guddiedig, bydd unrhyw llinyn testun yn cael ei drin fel '1', hyd yn oed y gair 'false'. Felly, i osod gwerth 'FALSE' yn glir ar gyfer newidyn Boolean, mae angen i chi roi iddo naill ai’r gwerth '0' neu linyn gwag.
Gwahanydd degol
Dim ond y pwynt degolir a ddefnyddir fel gwahanydd degol mewn rhifau.
Achos cymeriad mewn paramedrau
Gyda phan eithriadau, mae pob parameter yn sensitif i achosion.
URL Galwad Yn Ôl
Yn nhaflen gweinyddol AxtonPay, ar dudalen gosodiadau talu, mae'n bosibl gosod URLau siop i dderbyn hysbysiadau gweinydd-gweinyddwr gan AxtonPay, yn ogystal â URLau ar gyfer ailgyfeirio'r prynwr ar ôl talu bil neu ei ganslo, yn ogystal ag mewn achos gwall.
Gellir gorchymyn y URLau hyn yn y cais creu anfoneb.
Dulliau AxtonPay API
Creu anfoneb: /api/v1/private/checkout/payment/create
Mae’r dull /api/v1/private/checkout/payment/create yn cychwyn creu’r anfoneb.
Os llwyddiannus, bydd y dull yn dychwelyd cyswllt ('invoice_url') y dylech anfon y cleient ato i wneud taliad.
Paramedrau anfoneb perchennog:
- time (angen) - POSIX timestamp (Unix time)
- amount (angen) - swm i’w dalu (pris y cynnyrch neu’r gwasanaeth y mae’r siop am ei dderbyn)
- currency (angen) - Cod arian 3-llythyren yn unol â ISO 4217-alpha, heb fod yn sensitif i achosion
- pms (angen) - dulliau talu a ddangosir ar dudalen y anfoneb. Os ydych am ganiatáu pob dull talu, y gwerth yw 'all'; os ydych am ganiatáu dim ond rhai ohonynt, rhestrwch eu hymgyrch rhifol wedi'i wahanu gan goma.
- pm - adnabydd y dull talu a ddewiswyd. Mae'n bwysig os caiff y paramedr 'pm' ei basio, y bydd y cyfrifonyn yn cael ei greu yn 'modd tryloyw', h.y. ni fydd y prynwr yn gweld tudalen y cyfrifonyn, ond yn mynd yn syth i'r system dalu.
- extra_data - aryfyrddyn cysylltiol sy’n cynnwys unrhyw ddata ychwanegol; mae’r data hwn yn cael ei ddychwelyd i’r siop yn ei gyfanrwydd
- shop_user_id - dynodwr defnyddiwr yn y siop, fe'i dyherir yn ôl i'r siop mewn ffurf ddi-newid
- shop_payment_id - nwyddau adnabod taliad yn y siop, fe'i dyfir i'r siop mewn ffurf anhyndadwy
- shop_name - enw'r siop (yn cael ei arddangos ar dudalen y anfoneb)
- shop_payment_desc - disgrifiad archeb (wedi'i arddangos ar dudalen y fil)
- shop_payment_remark - eich nodiadau am y taliad hwn (mae hwn yn faes ar gyfer unrhyw nodiadau sydd gennych am y taliad, nad yw AxtonPay yn ei basio unrhywle; mae'n weladwy'n unig yn rhestr y taliadau; nid yw'n mynd yn ôl i'r siop)
- valid_time - y cyfnod amser y gellir talu'r anfoneb ynddo; mewn eiliadau
- view_time - cyfnod amser lle mae'r anfoneb ar gael i'w gweld trwy gyswllt allanol; mewn eiliadau; mae'r cyfrif ymlaen yn dechrau ar ôl i'r cyfnod 'valid_time' ddod i ben
- server_notification_method - dull o anfon hysbysiadau gweinydd-i-weinydd am statws taliadau i'r siop; gwerthoedd dilys: POST, GET
Mae rhai gosodiadau ar gyfer y anfoneb wedi'u gosod ar dudalen gosodiadau y taliad. Ond bydd y gwerthoedd a basiwyd yn y cais yn cael blaenoriaeth dros y gosodiadau hyn.
Paramedrau taliad y gellir eu gorlwytho ar gyfer y filiedig hwn:
- customer_success_url - dolen y bydd y prynwr yn cael ei hailgyfeirio iddi os caiff y faktur ei dalu'n llwyddiannus (h.y. os yw statws y faktur yn 'paid' neu 'overpaid').
- customer_cancel_url - dolen y bydd y prynwr yn cael ei ailgyfeirio iddi os caiff y taliad ei ganslo
- customer_fail_url - cyswllt y caiff y prynwr ei ailgyfeirio iddo os bydd y taliad yn dod i ben mewn gwall
- server_notification_url - cyswllt ar gyfer anfon hysbysiadau gweinydd-i-weinydd o statws talu i’r siop
Nodyn: Er mwyn cydymffurfio â'ch polisi preifatrwydd eich hun, fel arfer nid yw'n angenrheidiol cynnwys data personol eich cwsmer yn eiddo'r anfoneb. Er enghraifft, yn y paramedr "shop_user_id", mae'n well nodi ID cwsmer cyffredinol yn hytrach na'u e-bost neu rif ffôn. Hefyd yn y "shop_payment_desc", mae'n well peidio â chynnwys data cwsmer o gwbl, oherwydd maent eisoes yn gwybod popeth amdanynt eu hunain; yn lle hynny, gallwch ysgrifennu rhywfaint o wybodaeth am y nwyddau neu wasanaethau a dalwyd, neu hyd yn oed ysgrifennu'r math o gam, er enghraifft, "Prynu" neu "Ychwanegu cydbwysedd".
Caiff yr holl gyfeiriadau eu trosglwyddo'n angenrheidiol gyda'r protocol.
Enghraifft o gais:
<?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);
?>
Enghraifft o ymateb llwyddiannus wrth ofyn am greu anfoneb:
{
"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"
}
Cael gwybodaeth anfoneb: /api/v1/private/checkout/payment/get/{PID}
I gael y wybodaeth sydd ei hangen arnoch, galwch y dull /api/v1/private/checkout/payment/get/{PID}, trwy nodi'r PID o'r anfoneb ar ddiwedd y URL.
Paramedrau cais:
- time (angen) - POSIX timestamp (Unix time)
Enghraifft o linell ar gyfer cyfansoddi llofnod:
// Full URL: https://mp.axtonpay.com/api/v1/private/checkout/payment/get/GIKR3XPY?time=1766837343 // String for signature calculation: time=1766837343
Enghraifft o ateb:
{
"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"
}
}
Cymhariaeth rhwng y swm a ofynnwyd a’r swm a dalwyd
Mae'r ymateb yn cynnwys sawl swm gwahanol (yn y gwledydd lle rhoddwyd y ddyfarniad):
- "amount" - swm y biliedig,
- "filled" - talu rhan o'r anfoneb,
- "total_filled" - faint oedd y cleient wedi talu yn gyfanswm, gan gynnwys comisiynau.
Os "filled = amount", yna mae wedi’i dalu yn union faint sydd ei angen.
Os "filled > amount", mae gormod o daliad.
Os "filled < amount", nid yw'r anfoneb wedi'i thalu'n llawn (talu rhy ychydig).
Ffactor: prosesu hysbysiad gan AxtonPay am newid statws
Bob tro y caiff statws anfoneb ei newid, mae AxtonPay yn anfon hysbysiad at server_notification_url (gan ddefnyddio'r server_notification_method)
Data enghreifftiol:
{
"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"
}
Fel ymateb i'r hysbysiad hwn AxtonPay yn disgwyl derbyn HTTP code 200, sy'n cadarnhau ei dderbyn llwyddiannus. Fel arall, bydd AxtonPay yn ymdrechu eto 12 gwaith arall ar gyfnodau tyfu'n raddol, ac yna mae statws yr hysbysiad yn newid i 'error' (ond ni fydd hyn yn effeithio ar statws y ffaktwr ei hun).
Gwerthoedd statws posibl:
- 0 - pending
- 1 - paid
- 2 - error
- 3 - cancelled by customer
- 4 - underpaid
- 5 - overpaid
- 8 - expired
Mae statws taliad llwyddiannus yn 1 (paid) a 5 (overpaid); yn achos eu derbyn gallwch drosglwyddo'r pryniant a dalwyd i'r cwsmer neu ail-lenwi'r balans. Ar gyfer taliadau gyda statws 5 (overpaid), yn achos ail-lenwi balans gallwch ail-lenwi'r balans gyda swm y taliad a dderbyniwyd yn wir, ond yn achos gwerthu nwyddau/gwasanaethau a swm sylweddol o ordalw, mae'n ddoeth cysylltu â'r taluwr a phenderfynu gydag ef sut i ddelio â'r ordalw.
Mae statws llwyddiannus yn rhannol yw 4 (underpaid); rhag ofn derbyn y statws hwn mae'n bosibl ail-lenwi'r balans gyda swm y taliad a dderbyniwyd yn wir. Fodd bynnag, ni ellir ystyried y statws hwn yn llwyddiannus ar gyfer gwerthu nwyddau/gwasanaethau.
Pob statws arall - 0 (pending), 2 (error), 3 (canceled by customer) yn golygu absenoldeb cyflwr tâl; os cânt eu derbyn ni ddylid gweithredu unrhyw gamau ar atgyflenwi balans neu werthu nwyddau/gwasanaethau.
Gwirio llofnod
I sicrhau bod y hysbysiad hwn wedi'i anfon gan AxtonPay yn union, mae'n hanfodol dilysu llofnod yr hysbysiad a dderbyniwyd cyn ei gredu. Mae'r dilysu yn debyg i lofnodi eich ceisiadau eich hun, dim ond y cam olaf sy'n cael ei ychwanegu, pan ddylech gymharu'r llofnod wedi'i gyfrifo gyda'r pennawd HTTP a dderbyniwyd 'Sign'.
Y prif gamau ar ôl derbyn hysbysiad am y statws talu newidiedig yw'r canlynol:
- cymerwch yr holl linyn o dadleuon (QUERY_STRING) o’r hysbysiad a dderbyniwyd,
- cymerwch yr holl POST data (REQUEST_BODY) o'r hysbysiad a dderbyniwyd,
- cyfrifwch y llofnod gan ddefnyddio'r QUERY_STRING + REQUEST_BODY hynny a'r 'Secret key' priodol,
- cyfrifwch lofnod a gyfrifwyd gyda'r un a dderbyniwyd yn y pennyn HTTP 'Sign',
- os yw'r llofnodion yr un fath, daeth y hysbysiad yn wir gan AxtonPay;
- os yw'r llofnodion yn wahanol, efallai ei bod yn ymgais i dwyllo gan y talu.
Enghraifft o linell ar gyfer cynhyrchu llofnod:
// 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
Cadarnhad bod y siop wedi prosesu'r wybodaeth talu: /api/v1/private/checkout/payment/confirm/{PID}
Anfonir y cais hwn at AxtonPay mewn ymateb i hysbysiad a dderbyniwyd ganddo. O ran swyddogaeth, mae'n gadarnhad bod y siop wedi derbyn a phrosesu'r hysbysiad a dderbyniwyd yn llwyddiannus.
I anfon cais, galwch y dull /api/v1/private/checkout/payment/confirm/{PID}, drwy nodi pid y anfoneb ar ddiwedd y URL.
Paramedrau cais:
- time (angen) - POSIX timestamp (Unix time)
- status (angenrheidiol, rhif cyfan) - rhif statws taliad y mae'r siop yn anfon cadarnhad iddo
Os yw'r statws a drosglwyddir yn cyfateb i statws cyfredol y gerdyn cyflog hwn yn y system, bydd AxtonPay yn ymateb gyda 'OK' ac os nad yw'n cyfateb, bydd yn ymateb gyda gwall.
Enghraifft o linell ar gyfer cynhyrchu llofnod:
// 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"}
Enghraifft o ymateb os yw statws talu cyfredol yr un peth:
{
"status": "ok",
"data": "\"Paid\" status notification is confirmed"
}
Enghraifft o ymateb os yw statws talu presennol yn wahanol i'r un a drosglwyddwyd yn y cais:
{
"status": "error",
"message": "Something went wrong"
}
Codau arian
Y gwledydd y gellir eu defnyddio ar gyfer creu anfoneb.
Mae'r rhan fwyaf o godau arian a ddefnyddir yn perthyn i arian ffioed, ac maent yn gyfartal â'r ISO 4217. Mae'r rhestr hefyd yn cynnwys sawl arian digidol.
| Cod | Enw | Digidau degol | Math |
| BCH | Bitcoin Cash | 8 | Arian Digidol |
| BLK | Blackcoin | 8 | Arian Digidol |
| BNB | Binancecoin | 18 | Arian Digidol |
| BTC | Bitcoin | 8 | Arian Digidol |
| BTT | BitTorrent | 18 | Tocyn crypto |
| BUSD | Binance USD | 18 | Tocyn crypto |
| DAI | Dai | 18 | Tocyn crypto |
| DASH | Dash | 8 | Arian Digidol |
| DOGE | Dogecoin | 8 | Arian Digidol |
| ETC | Ethereum Classic | 18 | Arian Digidol |
| ETH | Ethereum | 18 | Arian Digidol |
| LTC | Litecoin | 8 | Arian Digidol |
| NLG | Gulden | 8 | Arian Digidol |
| RDD | ReddCoin | 8 | Arian Digidol |
| TRX | Tron | 6 | Arian Digidol |
| USDC | USD Coin | 6 | Tocyn crypto |
| USDD | Decentralized USD | 18 | Tocyn crypto |
| USDT | Tether USDT | 6 | Tocyn crypto |
| VTC | Vertcoin | 8 | Arian Digidol |
| XVG | Verge | 8 | Arian Digidol |
| AED | United Arab Emirates dirham | 2 | Arian fiat |
| AFN | Afghan afghani | 2 | Arian fiat |
| ALL | Albanian lek | 2 | Arian fiat |
| AMD | Armenian dram | 2 | Arian fiat |
| ANG | Netherlands Antillean guilder | 2 | Arian fiat |
| AOA | Angolan kwanza | 2 | Arian fiat |
| ARS | Argentine peso | 2 | Arian fiat |
| AUD | Australian dollar | 2 | Arian fiat |
| AWG | Aruban florin | 2 | Arian fiat |
| AZN | Azerbaijani manat | 2 | Arian fiat |
| BAM | Bosnia and Herzegovina convertible mark | 2 | Arian fiat |
| BBD | Barbados dollar | 2 | Arian fiat |
| BDT | Bangladeshi taka | 2 | Arian fiat |
| BGN | Bulgarian lev | 2 | Arian fiat |
| BHD | Bahraini dinar | 3 | Arian fiat |
| BIF | Burundian franc | 2 | Arian fiat |
| BMD | Bermudian dollar | 2 | Arian fiat |
| BND | Brunei dollar | 2 | Arian fiat |
| BOB | Boliviano | 2 | Arian fiat |
| BRL | Brazilian real | 2 | Arian fiat |
| BSD | Bahamian dollar | 2 | Arian fiat |
| BTN | Bhutanese ngultrum | 2 | Arian fiat |
| BWP | Botswana pula | 2 | Arian fiat |
| BYN | Belarusian ruble | 2 | Arian fiat |
| BZD | Belize dollar | 2 | Arian fiat |
| CAD | Canadian dollar | 2 | Arian fiat |
| CDF | Congolese franc | 2 | Arian fiat |
| CHF | Swiss franc | 2 | Arian fiat |
| CLP | Chilean peso | 2 | Arian fiat |
| CNY | Renminbi (Chinese) yuan | 2 | Arian fiat |
| COP | Colombian peso | 2 | Arian fiat |
| CRC | Costa Rican colon | 2 | Arian fiat |
| CUC | Cuban convertible peso | 2 | Arian fiat |
| CUP | Cuban peso | 2 | Arian fiat |
| CVE | Cape Verde escudo | 2 | Arian fiat |
| CZK | Czech koruna | 2 | Arian fiat |
| DJF | Djiboutian franc | 2 | Arian fiat |
| DKK | Danish krone | 2 | Arian fiat |
| DOP | Dominican peso | 2 | Arian fiat |
| DZD | Algerian dinar | 2 | Arian fiat |
| EGP | Egyptian pound | 2 | Arian fiat |
| ERN | Eritrean nakfa | 2 | Arian fiat |
| ETB | Ethiopian birr | 2 | Arian fiat |
| EUR | Euro | 2 | Arian fiat |
| FJD | Fiji dollar | 2 | Arian fiat |
| FKP | Falkland Islands pound | 2 | Arian fiat |
| GBP | Pound sterling | 2 | Arian fiat |
| GEL | Georgian lari | 2 | Arian fiat |
| GHS | Ghanaian cedi | 2 | Arian fiat |
| GIP | Gibraltar pound | 2 | Arian fiat |
| GMD | Gambian dalasi | 2 | Arian fiat |
| GNF | Guinean franc | 0 | Arian fiat |
| GTQ | Guatemalan quetzal | 2 | Arian fiat |
| GYD | Guyanese dollar | 2 | Arian fiat |
| HKD | Hong Kong dollar | 2 | Arian fiat |
| HNL | Honduran lempira | 2 | Arian fiat |
| HRK | Croatian kuna | 2 | Arian fiat |
| HTG | Haitian gourde | 2 | Arian fiat |
| HUF | Hungarian forint | 2 | Arian fiat |
| IDR | Indonesian rupiah | 2 | Arian fiat |
| ILS | Israeli new shekel | 2 | Arian fiat |
| INR | Indian rupee | 2 | Arian fiat |
| IQD | Iraqi dinar | 3 | Arian fiat |
| IRR | Iranian rial | 2 | Arian fiat |
| ISK | Icelandic krona | 2 | Arian fiat |
| JMD | Jamaican dollar | 2 | Arian fiat |
| JOD | Jordanian dinar | 3 | Arian fiat |
| JPY | Japanese yen | 3 | Arian fiat |
| KES | Kenyan shilling | 2 | Arian fiat |
| KGS | Kyrgyzstani som | 2 | Arian fiat |
| KHR | Cambodian riel | 2 | Arian fiat |
| KMF | Comoro franc | 2 | Arian fiat |
| KPW | North Korean won | 2 | Arian fiat |
| KRW | South Korean won | 2 | Arian fiat |
| KWD | Kuwaiti dinar | 3 | Arian fiat |
| KYD | Cayman Islands dollar | 2 | Arian fiat |
| KZT | Kazakhstani tenge | 2 | Arian fiat |
| LAK | Lao kip | 2 | Arian fiat |
| LBP | Lebanese pound | 2 | Arian fiat |
| LKR | Sri Lankan rupee | 2 | Arian fiat |
| LRD | Liberian dollar | 2 | Arian fiat |
| LSL | Lesotho loti | 2 | Arian fiat |
| LYD | Libyan dinar | 3 | Arian fiat |
| MAD | Moroccan dirham | 2 | Arian fiat |
| MDL | Moldovan leu | 2 | Arian fiat |
| MGA | Malagasy ariary | 2 | Arian fiat |
| MKD | Macedonian denar | 2 | Arian fiat |
| MMK | Myanmar kyat | 2 | Arian fiat |
| MNT | Mongolian togrog | 2 | Arian fiat |
| MOP | Macanese pataca | 2 | Arian fiat |
| MRU | Mauritanian ouguiya | 2 | Arian fiat |
| MUR | Mauritian rupee | 2 | Arian fiat |
| MVR | Maldivian rufiyaa | 2 | Arian fiat |
| MWK | Malawian kwacha | 2 | Arian fiat |
| MXN | Mexican peso | 2 | Arian fiat |
| MYR | Malaysian ringgit | 2 | Arian fiat |
| MZN | Mozambican metical | 2 | Arian fiat |
| NAD | Namibian dollar | 2 | Arian fiat |
| NGN | Nigerian naira | 2 | Arian fiat |
| NIO | Nicaraguan cordoba | 2 | Arian fiat |
| NOK | Norwegian krone | 2 | Arian fiat |
| NPR | Nepalese rupee | 2 | Arian fiat |
| NZD | New Zealand dollar | 2 | Arian fiat |
| OMR | Omani rial | 3 | Arian fiat |
| PAB | Panamanian balboa | 2 | Arian fiat |
| PEN | Peruvian sol | 2 | Arian fiat |
| PGK | Papua New Guinean kina | 2 | Arian fiat |
| PHP | Philippine peso | 2 | Arian fiat |
| PKR | Pakistani rupee | 2 | Arian fiat |
| PLN | Polish zloty | 2 | Arian fiat |
| PYG | Paraguayan guarani | 2 | Arian fiat |
| QAR | Qatari riyal | 2 | Arian fiat |
| RON | Romanian leu | 2 | Arian fiat |
| RSD | Serbian dinar | 2 | Arian fiat |
| RUB | Russian ruble | 2 | Arian fiat |
| RWF | Rwandan franc | 2 | Arian fiat |
| SAR | Saudi riyal | 2 | Arian fiat |
| SBD | Solomon Islands dollar | 2 | Arian fiat |
| SCR | Seychelles rupee | 2 | Arian fiat |
| SDG | Sudanese pound | 2 | Arian fiat |
| SEK | Swedish krona/kronor | 2 | Arian fiat |
| SGD | Singapore dollar | 2 | Arian fiat |
| SHP | Saint Helena pound | 2 | Arian fiat |
| SLL | Sierra Leonean leone | 2 | Arian fiat |
| SOS | Somali shilling | 2 | Arian fiat |
| SRD | Surinamese dollar | 2 | Arian fiat |
| SSP | South Sudanese pound | 2 | Arian fiat |
| STN | Sao Tome and Pricipe dobra | 2 | Arian fiat |
| SVC | Salvadoran colon | 2 | Arian fiat |
| SYP | Syrian pound | 2 | Arian fiat |
| SZL | Swazi lilangeni | 2 | Arian fiat |
| THB | Thai baht | 2 | Arian fiat |
| TJS | Tajikistani somoni | 2 | Arian fiat |
| TMT | Turkmenistan manat | 2 | Arian fiat |
| TND | Tunisian dinar | 3 | Arian fiat |
| TOP | Tongan paanga | 2 | Arian fiat |
| TRY | Turkish lira | 2 | Arian fiat |
| TTD | Trinidad and Tobago dollar | 2 | Arian fiat |
| TWD | New Taiwan dollar | 2 | Arian fiat |
| TZS | Tanzanian shilling | 2 | Arian fiat |
| UAH | Ukrainian hryvnia | 2 | Arian fiat |
| UGX | Ugandan shilling | 0 | Arian fiat |
| USD | United States dollar | 2 | Arian fiat |
| UYU | Uruguayan peso | 2 | Arian fiat |
| UZS | Uzbekistan som | 2 | Arian fiat |
| VES | Venezuelan bolivar soberano | 2 | Arian fiat |
| VND | Vietnamese dong | 2 | Arian fiat |
| VUV | Vanuatu vatu | 0 | Arian fiat |
| WST | Samoan tala | 2 | Arian fiat |
| XAF | CFA franc BEAC | 3 | Arian fiat |
| XCD | East Caribbean dollar | 2 | Arian fiat |
| XOF | CFA franc BCEAO | 2 | Arian fiat |
| XPF | CFP franc (franc Pacifique) | 3 | Arian fiat |
| XTS | Codau a neilltuwyd yn benodol at ddibenion profi | 2 | Cod wedi'i gadw |
| XXX | Y codau a neilltuwyd ar gyfer trafodion lle nad oes arian cyfred yn ymwneud | 2 | Cod wedi'i gadw |
| YER | Yemeni rial | 2 | Arian fiat |
| ZAR | South African rand | 2 | Arian fiat |
| ZMW | Zambian kwacha | 2 | Arian fiat |
| ZWL | Zimbabwean dollar | 2 | Arian fiat |
