fulfillment-page.texi (1401B)
1 @c Section of advanced topics discussing the fulfillment page in more depth. 2 3 @node The fulfillment page 4 @section The fulfillment page 5 @cindex fulfillment page 6 7 This section describes some of the design considerations for the fulfillment page. 8 They are primarily relevant for high-performance setups. 9 10 The fulfillment page mechanism is designed to provide the following two properties: 11 12 @enumerate 13 @item Taler payments @emph{can} be implemented in DB-less frontends. 14 15 @item Taler payments are replayable, meaning that each purchase is associated with 16 a URL (the fulfillment URL) that shows the product each time it gets visited (and 17 of course, only the first time takes the user's money). 18 @end enumerate 19 20 Both properties are gotten "for free" by the way replayable payments are 21 implemented. Since @code{pay.php} simply relays payments to the backend, 22 if the latter returns "200 OK", then the frontend delivers what is mentioned 23 in the backend's response. Note that along with the "200 OK" response, 24 the backend returns the whole proposal associated with the fulfillment 25 URL that triggered the payment, so the frontend has all the information 26 useful to pick the right product to deliver. 27 The "payment" relayed to the backend contains the @emph{order id}, 28 that allows the backend to perform all the integrity checks on the 29 payment. 30 This way, the frontend does not need any database to replay payments.