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 backend
    Ha 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ány
    A 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 ismeretek
    Ebben 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.