Agent and prepare
PENDING and FAILED from prepare are terminal for that attempt. Do not invent a signature.
Merchant poll
CREATED and SUBMITTED are not errors. FAILED, TIMED_OUT, and DISPUTED mean do not fulfill. Definitions are on Settlements.
Verify returns isValid: false with invalidReason when the envelope should not be captured. Capture returns HTTP 429 when the merchant is over the rate limit.
Identifiers in support requests
Send support@sohopay.xyz the staging environment, the borrower UUID orpaymentId, and the code. Do not send workload private keys or borrower seeds.
Next steps
Error handling
Which codes are safe to retry.
Facilitator reference
The merchant HTTP surface.

