Metode de plată
Endpoint API: /plugin/payment
Vă permite să creați o metodă de plată personalizată în magazin. După finalizarea comenzii, este posibil să scrieți un cod HTML personalizat (de exemplu, redirecționare către gateway-ul de plată).
Crearea unei noi metode de plată
POST /plugin/payment
{
"name": "My Payment Method",
"description": "Optional Description",
"image": "https://plugin.tld/images/icon.png",
"action": "https://plugin.tld/test-payment",
"errorMessage": "Platbu se nepodařilo zaevidovat.",
"successMessage": "Platba byla úspěšná.",
"states": [
{
"description": "Paid",
"image": "https://plugin.tld/images/icon.png"
},
{
"description": "Unpaid",
"image": "https://plugin.tld/images/icon.png"
},
{
"description": "Unknown",
"image": "https://plugin.tld/images/icon.png"
}
]
}
Cererea de mai sus creează o metodă de plată personalizată în magazin, inclusiv stările posibile. După crearea plății, cumpărătorul va trebui să asocieze plata unei anumite transporturi. În același timp, el poate seta posibil un preț personalizat sau să schimbe numele acestuia.
Exemplu:
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.webareal.cz/plugin/payment',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => json_encode([
"name" => "My Payment Method",
"description" => "Optional Description",
"image" => "https://plugin.tld/images/icon.png",
"action" => "https://plugin.tld/test-payment",
"errorMessage" => "Platbu se nepodařilo zaevidovat.",
"successMessage" => "Platba byla úspěšná.",
"states" => [
[
"description" => "Paid",
"image" => "https://plugin.tld/images/icon.png"
],
[
"description" => "Unpaid",
"image" => "https://plugin.tld/images/icon.png"
],
[
"description" => "Unknown",
"image" => "https://plugin.tld/images/icon.png"
]
]
])
CURLOPT_HTTPHEADER => array(
'X-Wa-api-token: ' . $api_token, // apiToken získáte při instalaci doplňku, viz. nápověda
'Authorization: Bearer ' . $bearer, // access token získáte zde, údaje zde (záložka API přístup)
'Content-Type: application/json'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Crearea unei comenzi
După ce comanda este creată, se trimite o cerere către URL-ul acțiune.
POST
{
"id": 1, //ID objednávky
"orderNumber": "100001" //číslo objednávky,
"price": 121.00,
"currency": "CZK",
"customer": "email@email.com",
"returnUrl": "https://eshop/plugin_payment_after", //URL pro návrat
"items": [
{
"code": "product_1" //kód zboží,
"name": "Product 1"
"quantity": 1,
"unit": "ks",
"price": 100.00, //za jednotku
"priceVat": 121.00,
"vat": 21
}
]
}
Se așteaptă cod HTML ca răspuns (un mesaj despre finalizarea cu succes a comenzii, deschiderea widget-ului gateway-ului de plată sau redirecționarea).
Întoarcerea de la gateway-ul de plată la magazinul electronic
La întoarcerea de la gateway-ul de plată (sau de la modulul care a procesat starea plății), puteți fi redirecționați către https://eshop-domain.tld/plugin_payment_after. La această adresă trebuie să fie transmise parametrii GET plată, care ar trebui să conțină ID-ul metodei de plată și success care necesită valori 1 (adevărat) sau 0 (fals). Pe baza acestor informații, clientul va vedea fie un mesaj de succes fie un mesaj de eroare.
Stări de plată
După crearea unei comenzi și efectuarea unei plăți, este posibil să adăugați apoi starea plății (plătită, neplătită, etc.) la comandă. Lista stărilor de plată disponibile poate fi obținută prin apelarea GET /plugin/states
Adăugarea stării de plată la o comandă
POST /plugin/state/payment
{
"idOrder": 12345,
"idState": 21
}
Cererea introduce un ID de stare de plată în comandă, care este apoi afișată folosind imaginea inserată anterior lângă comandă (dimensiunea maximă a imaginii este de 30x30 px).
Exemplu:
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.webareal.cz/plugin/state/payment',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => json_encode([
"idOrder" => "12345",
"idState" => "21",
])
CURLOPT_HTTPHEADER => array(
'X-Wa-api-token: ' . $api_token, // apiToken získáte při instalaci doplňku, viz. nápověda
'Authorization: Bearer ' . $bearer, // access token získáte zde, údaje zde (záložka API přístup)
'Content-Type: application/json'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Listă de alte cereri
POST /plugin/payment - creați o nouă metodă de plată
PUT /plugin/payment/{id} - actualizați metoda de plată
DELETE /plugin/payment/{id} - ștergeți o metodă de plată
POST /plugin/state/payment - adaugă o nouă stare de plată la comandă
PUT /plugin/state/payment - ajustează starea de plată a comenzii
DELETE /plugin/state/payment/{idComandă} - șterge starea de plată a comenzii
GET /plugin/state/payment/{idComandă} - returnează starea de plată a comenzii
GET /plugin/states - returnează o listă a tuturor stărilor disponibile