summaryrefslogtreecommitdiff
path: root/design-documents
diff options
context:
space:
mode:
Diffstat (limited to 'design-documents')
-rw-r--r--design-documents/007-payment.rst5
1 files changed, 4 insertions, 1 deletions
diff --git a/design-documents/007-payment.rst b/design-documents/007-payment.rst
index 3bb233e..7d309a6 100644
--- a/design-documents/007-payment.rst
+++ b/design-documents/007-payment.rst
@@ -40,6 +40,9 @@ When *resource-URL* is requested, the storefront runs the following steps:
1. Extract the *resource name* from the *resource-URL*.
2. Extract the *session-ID* (or null) from the request's validated cookie (for example, by using signed cookies).
3. Extract the *order-ID* (or null) from the request's ``order_id`` cookie. This cookie may optionally be validated.
+..
+ is "invalid" equivalent to "null"?
+
4. If *session-ID* or *order-ID* is invalid, assign a fresh session ID and
create a new order for *resource name* by doing a ``POST /private/orders``
to the merchant backend. Set both in the cookie to be sent with the response.
@@ -66,7 +69,7 @@ The merchant backend runs the following steps to generate the
/private/orders/{order-ID}?session_id={session-ID}&timeout_ms={timeout}``:
1. Let *session-ID* be the session ID of the request or null if not given (note: **not** the last paid session ID)
-2. If *order-ID* does not identify an existing order, return a 40 Not Found response. **Terminate**.
+2. If *order-ID* does not identify an existing order, return a 404 Not Found response. **Terminate**.
3. If *order-ID* identifies an order that is *unclaimed* and has claim token *claim-token*, return the URL
::