View Issue Details

IDProjectCategoryView StatusLast Update
0006129Talerspecificationpublic2021-09-02 18:23
Reportergrote Assigned ToChristian Grothoff  
PriorityhighSeveritymajorReproducibilityhave not tried
Status closedResolutionfixed 
Product Versiongit (master) 
Target Version0.7.1Fixed in Version0.7.1 
Summary0006129: Merchant API not idempotent, does not behave as documented
DescriptionThis relates to the refund API: https://docs.taler.net/core/api-merchant.html#giving-refunds

I've been testing this and when sending a `RefundRequest` POST request,
I get back:

{
        "sig": "5TJNEY2W9DB...",
        "contract_terms": {
            ...
        },
        "taler_refund_uri":
"taler:\/\/refund\/backend.test.taler.net\/-\/-\/2020..."
}

which is fine, but not exactly a `MerchantRefundResponse` as documented.

Also, when doing the same request again, I get a 409 error. Which is not
so nice if for some reason, the merchant went back and needs to let the
customer scan again.

So I tried an undocumented GET request and there I get something that
looks almost like a MerchantRefundResponse, but there's no
refund_redirect_url. So if I missed the URL the first time, there seems
to be no way to get it back.
TagsNo tags attached.

Activities

Christian Grothoff

2020-04-07 18:53

manager   ~0015562

Fixed in 7cfd98c..e781a77: The API should now be idempotent AND follow the updated and simplified specification.

Christian Grothoff

2021-09-02 18:23

manager   ~0018382

Fix committed to master branch.

Related Changesets

merchant: master e781a77a

2020-04-07 20:47

Christian Grothoff


Details Diff
fix 0006129 (/refund idempotency) Affected Issues
0006129
mod - src/backend/taler-merchant-httpd_refund_increase.c Diff File
mod - src/backend/taler-merchant-httpd_refund_lookup.c Diff File
mod - src/backenddb/plugin_merchantdb_postgres.c Diff File
mod - src/backenddb/test_merchantdb.c Diff File
mod - src/include/taler_merchantdb_plugin.h Diff File

Issue History

Date Modified Username Field Change
2020-03-17 12:37 grote New Issue
2020-03-17 12:37 grote Status new => assigned
2020-03-17 12:37 grote Assigned To => Christian Grothoff
2020-04-07 16:12 Christian Grothoff Priority normal => high
2020-04-07 16:12 Christian Grothoff Severity minor => major
2020-04-07 16:12 Christian Grothoff Product Version => git (master)
2020-04-07 16:12 Christian Grothoff Target Version => 0.7.1
2020-04-07 18:53 Christian Grothoff Status assigned => resolved
2020-04-07 18:53 Christian Grothoff Resolution open => fixed
2020-04-07 18:53 Christian Grothoff Fixed in Version => 0.7.1
2020-04-07 18:53 Christian Grothoff Note Added: 0015562
2021-08-24 16:23 Christian Grothoff Status resolved => closed
2021-09-02 18:22 Christian Grothoff Changeset attached => Taler-merchant master e781a77a
2021-09-02 18:23 Christian Grothoff Note Added: 0018382
2024-01-12 14:02 Christian Grothoff Category merchant backend API (HTTP specification) => specification