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:
Az esszé-kereskedő, amely egy könyv egyes fejezeteit árulja.
Az adományozási oldal <https://git.taler.net/taler-merchant-demos.git/tree/talermerchantdemos/donations>`__, amely adományokat fogad el szoftverprojektek számára, és adományozási bizonylatokat ad.
A WooCommerce plugin, amely átfogó integrációt jelent egy webáruházba, beleértve a visszatérítési üzleti folyamatot is.
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:

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:
GNUnet
(The GNUnet project), elérhető a https://backend.demo.taler.net/instances/gnunet/ címen.FSF
(The Free Software Foundation), elérhető a https://backend.demo.taler.net/instances/fsf/ címen.Tor
(The Tor Project), elérhető a https://backend.demo.taler.net/instances/tor/ címen.admin
(Kudos Inc.), elérhető a https://backend.demo.taler.net/ címen.sandbox
(tesztelés céljából.), elérhető a https://backend.demo.taler.net/instances/sandbox/ címen.
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 backendA kényelem érdekében javasoljuk a https://backend.demo.taler.net/instances/sandbox/ oldal használatát.
- Egy Taler pénztárca példányA 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 ismeretekEbben 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.