The client makes one HTTP call: the documents and the billing credentials go to the
signing service's POST /sign, and the signed PDF (or a zip for a batch) comes
back. Reuse the same Request id to test replay — and, after a
timestamp_unavailable / revocation_unavailable 502, to resume at
the evidence step without re-signing or re-billing.
The client owns the PDF mechanics: 1 open a session on the billing gateway
(issue / certificate — free), 2 POST /prepare
the PDF on the signing service to get the hash, 3 sign the hash on the gateway's
signhash-extended (billable — sent with an Idempotency-Key),
4 POST /complete to get the signed PDF. If completion fails with
timestamp_unavailable / revocation_unavailable, run again —
step 4 retries with the same token.