3.1.4. Megrendelések visszatérítése#
Ez az oldal tartalmazza az összes dokumentációt a videós bemutatóhoz, amely a megrendelések visszatérítésének folyamatát és a visszatérítéssel kapcsolatos különböző határidőket ismerteti.
3.1.4.1. Videó#
3.1.4.2. Információ#
Ha nem ismeri a megrendelések létrehozásának folyamatát, akkor nézze meg a Taler kereskedő megrendelések létrehozása bemutatót.
3.1.4.3. Követelmények#
Ehhez az oktatósorozathoz szükséges:
- Taler kereskedői backendHa segítségre van szüksége a kereskedői háttértár első használatához, megnézheti a Taler kereskedő bevezetés bemutató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.
- 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.
3.1.4.4. Demo backend értesítés#
Ehhez a bemutatóhoz használhatja saját kereskedői háttérszolgáltatását vagy a https://backend.demo.taler.net/instances/sandbox/ oldalon található online bemutató szolgáltatást.
3.1.4.5. További megjegyzések a kereskedői rendelés visszatérítéséről#
A visszatérítés a GNU Talerben a fizetés „visszavonásának” módja. Ezt a kereskedőnek kell engedélyeznie. A visszatérítés az eredetileg kifizetett összeg bármely töredékére vonatkozhat, de nem haladhatja meg az eredeti kifizetés összegét. A visszatérítések időben korlátozottak, és csak addig történhetnek, amíg a pénzváltó letétben tartja az adott kifizetéshez tartozó pénzeszközöket. A visszatérítés lehetséges időtartamát a refund_deadline
beállításával lehet szabályozni a megbízásban. A visszatérítési határidő alapértelmezett értéke a kereskedő backendjének konfigurációjában van megadva.
A frontend utasíthatja a kereskedő backendjét, hogy engedélyezze a visszatérítést a POST
végpontra történő /private/orders/$ORDER_ID/refund
végponttal.
A visszatérítési kérelem JSON objektumának csak két mezője van:
visszatérítés
: Visszatérítendő összeg. Ha ugyanarra a megrendelésre már engedélyeztek egy korábbi visszatérítést, az új összegnek magasabbnak kell lennie, különben a műveletnek nincs hatása. Az érték a visszatérítendő teljes összeget jelzi, nem a visszatérítés növelését.reason
: Ember által olvasható indoklás a visszatérítéshez. Az indoklást csak a Back Office használja, és az ügyfél nem látja meg.
Ha a kérés sikeres (ezt a 200-as HTTP státuszkód jelzi), a válasz tartalmaz egy taler_refund_uri
kódot. A frontendnek át kell irányítania az ügyfél böngészőjét erre az URL-re, hogy a pénztárca feldolgozhassa a visszatérítést.
Ez a kódrészlet a visszatérítés megadását szemlélteti:
>>> import requests
>>> refund_req = dict(refund="KUDOS:10",
... reason="Customer did not like the product")
>>> requests.post("https://backend.demo.taler.net/instances/sandbox/private/orders/"
... + order_id + "/refund", json=refund_req,
... headers={"Authorization": "Bearer secret-token:sandbox"})
<Response [200]>
Megjegyzés
A visszatérítés megadása után a nyilvános https://example.com/orders/$ORDER_ID
végpont a pénztárca interakcióját a fizetés kéréséről visszatérítés felajánlására változtatja. Így a frontendek ismét átirányíthatják a böngészőket erre a végpontra. Ehhez azonban egy h_contract
mezőt kell hozzáadni (?h_contract=$H_CONTRACT
), mivel a nyilvános végpontnak szüksége van rá az ügyfél hitelesítéséhez. A szükséges $H_CONTRACT
értéket a visszatérítési válaszban a h_contract
mező alatt kapjuk vissza.
3.1.4.6. 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.