3.1.4. Vrátenie peňazí za objednávky#

Táto stránka obsahuje všetku dokumentáciu k videonávodu, v ktorom je vysvetlený proces vrátenia peňazí za objednávky a rôzne termíny súvisiace s vrátením peňazí.

3.1.4.1. Video#

3.1.4.2. Informácie#

Ak nie ste oboznámení s procesom vytvárania objednávok, môžete si pozrieť Taler merchant creating orders tutorial.

3.1.4.3. Požiadavky#

Potrebné pre túto sériu výukových programov:

  • Backend obchodníka Taler
    Ak potrebujete pomoc pri prvom použití backendu obchodníka, môžete si pozrieť Taler merchant introduction tutoriál.
  • Príklad peňaženky Taler
    Pokyny na nastavenie sú k dispozícii na stránke https://wallet.taler.net.
  • Softvér na správu rozhrania API REST alebo príslušné programátorské zručnosti
    V tejto sérii videí budeme používať bezplatný softvér Insomnia, ktorý je k dispozícii na stiahnutie na adrese https://insomnia.rest.

3.1.4.4. Ukážka backendu#

Na tento návod môžete použiť vlastnú obchodnú backendovú službu alebo online demonštračnú službu na adrese https://backend.demo.taler.net/instances/sandbox/.

3.1.4.5. Ďalšie poznámky k náhradám za objednávky obchodníkov#

Vrátenie peňazí v programe GNU Taler je spôsob, ako „vrátiť“ platbu. Musí ju autorizovať obchodník. Vrátenie môže byť za ľubovoľný zlomok pôvodne zaplatenej sumy, ale nemôže presiahnuť pôvodnú platbu. Vrátenie peňazí je časovo obmedzené a môže sa uskutočniť len počas doby, keď Exchange drží prostriedky za konkrétnu platbu v úschove. Čas, počas ktorého je možné vrátenie peňazí, možno kontrolovať nastavením parametra refund_deadline v objednávke. Predvolená hodnota tohto termínu vrátenia je uvedená v konfigurácii backendu obchodníka.

Frontend môže dať pokyn backendu obchodníka, aby autorizoval vrátenie peňazí prostredníctvom POST na koncový bod /private/orders/$ORDER_ID/refund.

Objekt JSON žiadosti o vrátenie peňazí má len dve polia:

  • refund: Suma, ktorá sa má vrátiť. Ak bolo pre tú istú objednávku schválené predchádzajúce vrátenie peňazí, nová suma musí byť vyššia, inak operácia nemá žiadny účinok. Hodnota udáva celkovú sumu, ktorá sa má vrátiť, nie zvýšenie náhrady.

  • reason: Ľudsky čitateľné zdôvodnenie vrátenia peňazí. Tento dôvod používa len Back Office a zákazník ho nemá k dispozícii.

Ak je požiadavka úspešná (indikovaná stavovým kódom HTTP 200), odpoveď obsahuje taler_refund_uri. Frontend musí presmerovať prehliadač zákazníka na túto adresu URL, aby peňaženka mohla spracovať vrátenie peňazí.

Tento úryvok kódu ilustruje vrátenie peňazí:

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

Poznámka

Po udelení vrátenia peňazí verejný koncový bod https://example.com/orders/$ORDER_ID zmení svoju interakciu s peňaženkou zo žiadosti o platbu na ponuku vrátenia peňazí. Frontendy tak môžu prehliadače opäť presmerovať na tento koncový bod. Na tento účel je však potrebné doplniť pole h_contract (?h_contract=$H_CONTRACT), pretože verejný koncový bod ho vyžaduje na overenie klienta. Požadovaná hodnota $H_CONTRACT sa vráti v odpovedi na vrátenie peňazí pod poľom h_contract.

3.1.4.6. Ďalšie výukové programy#

Ak si chcete pozrieť ďalšie návody, môžete si prezrieť túto stránku alebo navštíviť stránku https://docs.taler.net, kde nájdete najnovšiu dokumentáciu o službách Taler.