API végpont: /plugin/payment

Létrehozhat egyéni fizetési módot az áruházban. A megrendelés befejezése után lehetőség van egyéni html kód írására (például átirányítás a fizetési átjáróra).

Új fizetési mód létrehozása

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"
            }
        ]
    }
 

A fenti kérés létrehoz egy egyéni fizetési módot a webáruházban, beleértve annak lehetséges állapotait is. A fizetési mód létrehozása után az eshop tulajdonosának a fizetési módot a kívánt szállítási módokhoz kell kapcsolnia. Ugyanitt egyéni árat is beállíthat a fizetési módhoz, vagy megváltoztathatja annak nevét.


Példa:

 
    $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;
 


Megrendelés létrehozása

A megrendelés létrehozása után egy kérést küldünk a action URL-címre.

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
            }
        ]
    }
 

Válaszként HTML-kódot várunk (üzenetet a megrendelés sikeres befejezéséről, a fizetési átjáró widget megnyitásáról vagy az átirányításról).

Visszatérés a fizetési átjáróból a webáruházba

A fizetési átjáróból (vagy a fizetés állapotát feldolgozó bővítményből) való visszatéréskor átirányíthat a https://domena-eshopu.tld/plugin_payment_after címre. Ennek a címnek át kell adni a GET paramétert payment, aminek tartalmaznia kell a fizetési mód azonosítóját és a success státuszt, ami 1 (igaz) vagy 0 (hamis). Ennek megfelelően a vásárló vagy azt fogja látni, hogy successMessage vagy azt, hogy errorMessage.

Fizetési egyenleg

A megrendelés létrehozása és a fizetés után lehetőség van a fizetési státusz (kifizetett, kifizetetlen stb.) hozzáadására a megrendeléshez. A rendelkezésre álló fizetési státuszok listája a következő címen hívható le GET /plugin/states

Fizetési státusz hozzáadása egy megrendeléshez

POST /plugin/state/payment

 
    {
        "idOrder": 12345,
        "idState": 21
    }
 

A kérés beilleszt a megrendeléshez egy fizetési státusz azonosítót, ami a korábban beillesztett ikonnal jelenik meg a megrendelés mellett (a kép maximális mérete 30x30 px).


Példa:

 
    $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;
 


Egyéb kérések listája

POST /plugin/payment - új fizetési mód létrehozása

PUT /plugin/payment/{id} - fizetési mód frissítése

DELETE /plugin/payment/{id} - fizetési mód törlése

POST /plugin/state/payment - új fizetési státusz adás a megrendeléshez

PUT /plugin/state/payment - megrendelés fizetési státuszának módosítása

DELETE /plugin/state/payment/{idOrder} - megrendelés fizetési státuszának törlése

GET /plugin/state/payment/{idOrder} - visszaadja a megrendelés fizetési státuszát/p>

GET /plugin/states - visszaadja az elérhető státuszokat