3.1.4. Vracení objednávek#
Tato stránka obsahuje veškerou dokumentaci k výukovému videu, které vysvětluje proces vracení peněz za objednávky a různé lhůty spojené s vracením peněz.
3.1.4.1. Video#
3.1.4.2. Informace#
Pokud nejste obeznámeni s procesem vytváření objednávek, můžete se podívat na Taler merchant creating orders tutorial.
3.1.4.3. Požadavky#
Povinné pro tuto sérii výukových programů:
- Obchodní backend TalerPokud potřebujete pomoc s prvním použitím backendu obchodníka, můžete se podívat na Taler merchant introduction tutorial.
- Instance peněženky TalerPokyny k nastavení jsou k dispozici na adrese https://wallet.taler.net.
- Software pro správu rozhraní REST API nebo příslušné programátorské dovednostiV této sérii videí budeme používat bezplatný software Insomnia, který je k dispozici ke stažení na adrese https://insomnia.rest.
3.1.4.4. Upozornění na ukázku backendu#
Pro tento návod můžete použít vlastní backendovou službu obchodníka nebo ukázkovou službu online na adrese https://backend.demo.taler.net/instances/sandbox/.
3.1.4.5. Další poznámky k náhradám za objednávky obchodníků#
Vrácení peněz v programu GNU Taler je způsob, jak platbu „vrátit zpět“. Musí být autorizována obchodníkem. Vrácení může být za libovolný zlomek původní zaplacené částky, ale nesmí přesáhnout původní platbu. Vrácení peněz je časově omezeno a může k němu dojít pouze po dobu, kdy směnárna drží prostředky na danou platbu v úschově. Dobu, po kterou je možné vrácení peněz, lze řídit nastavením parametru refund_deadline v objednávce. Výchozí hodnota této lhůty pro vrácení peněz je uvedena v konfiguraci backendu obchodníka.
Frontend může dát pokyn backendu obchodníka, aby autorizoval vrácení peněz pomocí POST na koncový bod /private/orders/$ORDER_ID/refund.
Objekt JSON žádosti o vrácení peněz má pouze dvě pole:
refund: Částka, která má být vrácena. Pokud byla pro stejnou objednávku schválena předchozí náhrada, musí být nová částka vyšší, jinak operace nemá žádný účinek. Hodnota udává celkovou částku, která má být vrácena, ne zvýšení náhrady.důvod: Lidsky čitelné zdůvodnění vrácení peněz. Důvod je používán pouze Back Office a není zpřístupněn zákazníkovi.
Pokud je požadavek úspěšný (indikovaný stavovým kódem HTTP 200), odpověď obsahuje taler_refund_uri. Frontend musí přesměrovat prohlížeč zákazníka na tuto adresu URL, aby peněženka mohla vrácení peněz zpracovat.
Tento vystřižený kód ilustruje vrácení peněz:
>>> 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 poskytnutí náhrady změní veřejný koncový bod https://example.com/orders/$ORDER_ID svou interakci s peněženkou z žádosti o platbu na nabídku náhrady. Frontendy tak mohou opět přesměrovat prohlížeče na tento koncový bod. K tomu je však třeba připojit pole h_contract (?h_contract=$H_CONTRACT), protože veřejný koncový bod jej vyžaduje k ověření klienta. Požadovaná hodnota $H_CONTRACT je vrácena v odpovědi na vrácení peněz pod polem h_contract.
3.1.4.6. Další výukové programy#
Chcete-li si prohlédnout další výukové programy, můžete si prohlédnout tento web nebo navštívit stránku https://docs.taler.net, kde najdete nejnovější dokumentaci ke službám Taler.