merchant-frontend-examples

ZZZ: Inactive/Deprecated
Log | Files | Refs

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.