commit 559b153f8c221754d5d9246fcd4a0c2407987817
parent f5cd9e43a524132b8fc5717fd5401459c2732a65
Author: Christian Grothoff <christian@grothoff.org>
Date: Sun, 4 Jan 2026 22:59:55 +0100
note on progress
Diffstat:
2 files changed, 11 insertions(+), 9 deletions(-)
diff --git a/core/api-merchant.rst b/core/api-merchant.rst
@@ -1016,9 +1016,10 @@ Querying payment status
}
-.. http:get:: [/instances/$INSTANCE]/sessions/$SESSION_ID
+.. http:get:: [/instances/$INSTANCE]/sessions/$SESSION_ID?fulfillment_url=$URL
- Query the payment status for a session. This endpoint is for Web shops,
+ Query the payment status for a session and fulfillment URL.
+ This endpoint is for Web shops,
Paivana and other integrations (like JavaScript from inside the customer's
browser) that need an unauthenticated way to query a payment status where
they do not know the order ID because they *only* know the session ID they
@@ -1030,12 +1031,12 @@ Querying payment status
**Request:**
+ :query fulfillment_url=URL: *Mandatory.* Specifies the fulfillment URL
+ for which the order must be valid.
:query timeout_ms=NUMBER: *Optional.* If specified, the merchant backend will
wait up to ``timeout_ms`` milliseconds for completion of the payment before
sending the HTTP response. A client must never rely on this behavior, as the
merchant backend may return a response immediately.
- :query claimed=BOOLEAN: *Optional*. If set to true, long-polling should
- return as soon as a respective order was claimed.
**Response:**
@@ -1043,8 +1044,8 @@ Querying payment status
The response is a `GetSessionStatusPaidResponse`. Returned if an
order that paid for the respective session exists and was paid.
:http:statuscode:`202 Accepted`:
- The response is a `GetSessionStatusClaimedResponse`. Returned if an
- order that paid for the respective session exists and was claimed,
+ The response is a `GetSessionStatusUnpaidResponse`. Returned if an
+ order that paid for the respective session exists,
but not yet paid.
:http:statuscode:`404 Not found`:
The merchant backend is unaware of an order matching the given session.
@@ -1060,11 +1061,11 @@ Querying payment status
}
- .. ts:def:: GetSessionStatusClaimedResponse
+ .. ts:def:: GetSessionStatusUnpaidResponse
- interface GetSessionStatusClaimedResponse {
+ interface GetSessionStatusUnpaidResponse {
- // Order ID of the claimed order.
+ // Order ID of the unpaid order.
order_id: String;
}
diff --git a/design-documents/076-paywall-proxy.rst b/design-documents/076-paywall-proxy.rst
@@ -112,6 +112,7 @@ Implementation:
---------------
* Merchant backend needs way to lookup order IDs under a ``session_id``
+ (DONE: e027e729..b476f8ae)
* Merchant backend needs way to instantiate templates with
a given ``session_id`` and ``fulfillment_url``. This also
requires extending the allowed responses for templates in general.