3.1.1. Példány áttekintés#

3.1.1.1. Erről a bemutatóról#

Ez a bemutató a GNU Taler kereskedői Backend használatával történő fizetési műveletekkel foglalkozik. A bemutató célközönsége a kereskedők (például webáruházak) fejlesztői, akik a GNU Taler integrálásán dolgoznak az ügyfélre néző Frontenddel és a személyzetre néző Backoffice-zal.

Ez a fejezet néhány alapfogalmat ismertet. A második fejezetben megtanulja, hogyan végezhet alapvető kifizetéseket.

A bemutató ezen verziója Python3-ra tartalmaz példákat. A requests könyvtárat használja a HTTP-kérésekhez. Más nyelvekre/környezetekre készült változatok is rendelkezésre állnak.

Ha szeretnél néhány egyszerű, futó példát látni, nézd meg ezeket:

3.1.1.2. Építészeti áttekintés#

A Taler szoftvercsomag egy kereskedő számára a következő fő összetevőkből áll:

  • Frontend, amely kölcsönhatásba lép az ügyfél böngészőjével. A frontend lehetővé teszi a vásárló számára, hogy kosarat építsen és rendelést adjon le. Fizetéskor elindítja a megfelelő üzleti logikát a megrendelés teljesítéséhez. Ez a komponens nem tartozik a Talerhez, hanem feltételezhetően a kereskedőnél van. Ez a bemutató leírja, hogyan kell kifejleszteni egy Taler frontendet.

  • Egy Taler-specifikus fizetési backend, amely megkönnyíti a frontend számára a pénzügyi tranzakciók Talerrel történő feldolgozását. Ehhez a bemutatóhoz egy nyilvános sandbox backendet fog használni. Természetes használathoz vagy saját backendet kell létrehoznia, vagy meg kell kérnie egy másik személyt, hogy ezt megtegye ön helyett.

A következő kép e kulcsfontosságú összetevők különböző kölcsönhatásait szemlélteti:

../../_images/arch-api.png

A háttértár biztosítja a kriptográfiai protokolltámogatást, tárolja a Taler-specifikus pénzügyi információkat, és kommunikál a GNU Taler csereprogrammal az interneten keresztül. A frontend egy RESTful API-n keresztül fér hozzá a backendhez. Ennek eredményeképpen a frontendnek soha nem kell közvetlenül kommunikálnia a tőzsdével, és nem is kezel érzékeny adatokat. Különösen a kereskedő aláírási kulcsai és bankszámlaadatai vannak a Taler backendben kapszulázva.

A háttértár egyes funkciói (a „nyilvános interfész”) közvetlenül az ügyfél böngészője számára is elérhetőek. A HTTP API-ban az összes privát végpont (a Backoffice számára) a /private/ előtaggal van ellátva. Ez a bemutató a /private/ végpontokra összpontosít. A nyilvános interfészt közvetlenül a pénztárca használja, és nem releváns a kereskedő számára (azon kívül, hogy az API-t ki kell tenni).

3.1.1.3. Nyilvános Sandbox Backend és hitelesítés#

A konfigurációtól függ, hogy a frontend hogyan hitelesíti magát a Taler backendhez. Lásd: Merchant Backend Operator Manual.

A nyilvános homokozós backend https://backend.demo.taler.net/instances/sandbox/ egy API-kulcsot használ az Authorization fejlécben. Ennek a fejlécnek az értékének Bearer secret-token:sandbox kell lennie a nyilvános homokozós backend esetében.

>>> import requests
>>> requests.get("https://backend.demo.taler.net/instances/sandbox/private/orders",
...              headers={"Authorization": "Bearer secret-token:sandbox"})
<Response [200]>

Ha a 200-tól eltérő HTTP státuszkódot kap vissza, akkor valami rosszul sült el. Mielőtt folytatná ezt a bemutatót, ki kell találnia, mi a probléma.

A sandbox backend https://backend.demo.taler.net/instances/sandbox/ a KUDOS-t használja képzeletbeli valutaként. A „KUDOS”-ban denominált érméket a https://bank.demo.taler.net/ oldalon lehet felvenni.

3.1.1.4. Kereskedői példányok#

Egyetlen Taler kereskedői backend-kiszolgálót több kereskedő is használhat, amelyek különálló üzleti egységek. Mindegyik ilyen különálló üzleti egységhez egy kereskedői példány tartozik, amelyet egy alfanumerikus instance id azonosít. Ha a példányt nem adjuk meg, akkor a admin példányazonosítót vesszük fel.

A következő kereskedői példányok vannak konfigurálva a https://backend.demo.taler.net/ oldalon:

Megjegyzés

Ezek fiktív kereskedők, akiket a bemutatóinkhoz használunk, és nem kapcsolódnak az adott projektekhez, illetve nem hagyják jóvá őket hivatalosan.

A példányok összes végpontja ugyanazt az API-t kínálja. Így azt, hogy melyik példányt kell használni, egyszerűen csak a kereskedői háttértár alap-URL-je tartalmazza.

3.1.1.5. Videó oktatóvideók#

Ez az oldal tartalmazza a Taler kereskedői API-t bemutató videós bemutató összes dokumentációját.

3.1.1.5.1. Videó#

3.1.1.5.2. Követelmények#

Ehhez az oktatósorozathoz szükséges:

  • Taler kereskedői backend
    A kényelem érdekében javasoljuk a https://backend.demo.taler.net/instances/sandbox/ oldal használatát.
  • Egy Taler pénztárca példány
    A beállítási utasítások a https://wallet.taler.net oldalon találhatók, bár ehhez a bemutatóhoz nem szükségesek.
  • REST API-kezelő szoftver vagy releváns programozási ismeretek
    Ebben a videósorozatban az Insomnia ingyenes szoftvert fogjuk használni, amely letölthető a https://insomnia.rest weboldalról.
    Bevezetésként ez a videó megmutatja, hogyan lehet az Insomnia-ban készített lekérdezésekből Pythonban (vagy bármely támogatott nyelven) működő kódot exportálni és végrehajtani, de ez a következő oktatóanyagokban nem lesz újra bemutatva.

3.1.1.5.3. Demo backend értesítés#

Ehhez a bemutatóhoz erősen ajánlott a https://backend.demo.taler.net/instances/sandbox/ online Taler kereskedői demó szolgáltatás használata.

A hozzáférési kulcs a következő: sandbox.

3.1.1.5.4. A titkos jelszóra vonatkozó információk#

A titkos token megfelel az RFC 8959 dokumentumnak. Erről bővebben itt olvashat: https://datatracker.ietf.org/doc/html/rfc8959. Ne feledje, hogy ez egy Bearer token, és az authoirization fejlécnek meg kell adnia.

Az engedélyezési fejlécnek így kell kinéznie:
Authorizáció: Bearer secret-token:<a hozzáférési kulcs>

3.1.1.5.5. További útmutatók#

További oktatóanyagok megtekintéséhez böngészhet ezen az oldalon, vagy a https://docs.taler.net oldalon a Taler szolgáltatásokról szóló legfrissebb dokumentációért.