View Issue Details

IDProjectCategoryView StatusLast Update
0006921Talermerchant backendpublic2024-01-12 13:04
ReporterChristian Grothoff Assigned ToFlorian Dold Resolution deadline
ImplementerReviewer 
Release signed byDeployed by 
VerifierCommunicator 
Data protection authority notification requiredNo  
CSIRT notification requiredNo  
Estimated effort (hours)Actual effort (hours)0 
Fast-trackNo
Work packagenone
PrioritynormalSeveritymajorReproducibilityalways
Status closedResolutionfixed 
Platformi7OSDebian GNU/LinuxOS Versionsqueeze
Product Versiongit (master) 
Target Version0.8Fixed in Version0.8 
Summary0006921: merchant backend does not accept payments for 0-valued contracts
DescriptionFlorian writes:

I've just added an integration test for this, fixed processing of zero-value orders in the wallet and improved error reporting during DB transactions a bit.

The merchant, however, doesn't like /pay with zero coins *at all*: It doesn't even return a proper error message, but just resets the connection!

Jul 12 15:52:55-824536 taler-merchant-httpd-63937(58CZPKRCHKDFWNHEVC6ZEBNTCM) ERROR Assertion failed at taler-merchant-httpd_post-orders-ID-pay.c:1071. Aborting.

I would argue that the merchant *ought* to accept this request, for two reasons:
1. It allows the wallet to obtain the payment signature. Sure, the product might've been free (e.g. 100% special discount), but the wallet must still be able to prove that it paid for it, *not* just claimed it
2. Related, the session-bound payments also need /pay to work, think of a "temporarily 100% discounted blog article".

You can easily reproduce the merchant issue with the latest git wallet by running

$ taler-wallet-cli testing run-integrationtests payment-zero

- Florian
TagsNo tags attached.

Required notifications

Address or linkRemarkAdded byNotifiedActions

Activities

Florian Dold

2021-07-22 17:04

manager   ~0018005

Fixed during the oec workshop.

Issue History

Date ModifiedUsernameFieldChange
2021-07-13 04:46Christian GrothoffNew Issue
2021-07-13 04:46Christian GrothoffStatusnew => assigned
2021-07-13 04:46Christian GrothoffAssigned To => Christian Grothoff
2021-07-13 04:46Christian GrothoffAssigned ToChristian Grothoff =>
2021-07-13 04:46Christian GrothoffStatusassigned => implementing
2021-07-22 17:04Florian DoldAssigned To => Florian Dold
2021-07-22 17:04Florian DoldStatusimplementing => informing
2021-07-22 17:04Florian DoldResolutionopen => fixed
2021-07-22 17:04Florian DoldNote Added: 0018005
2021-07-30 11:56Christian GrothoffFixed in Version => 0.8
2021-07-30 11:59Christian GrothoffTarget Version => 0.8.1
2021-07-30 12:01Christian GrothoffTarget Version0.8.1 => 0.8
2021-08-24 14:22Christian GrothoffStatusinforming => closed
2024-01-12 13:04Christian GrothoffCategorymerchant backend API (C) => mechant backend
2025-03-22 13:09Christian GrothoffCategorymechant backend => merchant backend