OUTCOME · Bind request to intent
What changes
Atomically creates an AUTHORIZATION_REQUIRED intent and moves the request to PAYMENT_PENDING. It does not validate source funds, reserve value, sign, submit, confirm, settle, or mark the request paid.
Payments
/api/v2/payment-requests/{request_uuid}/paymentsPurpose and usage
Bind an OPEN payment request to the payer’s chosen source and method, creating a pre-settlement intent that still requires a separate future authorization workflow.
When to use it
Call this only after the payer has verified the request identifier, version, exact amount, currency, payee, and expiry and wants to record how it intends to pay.
OUTCOME · Bind request to intent
Atomically creates an AUTHORIZATION_REQUIRED intent and moves the request to PAYMENT_PENDING. It does not validate source funds, reserve value, sign, submit, confirm, settle, or mark the request paid.
WHY IT MATTERS
ISOLATION + AUTHORITY
A named request is payable only by its payer workspace; the payee cannot pay itself. Shareable requests require the unguessable request identifier and exact terms. Source references remain opaque and grant no wallet or ledger authority.
BEFORE YOU CALL
WHAT TO DO NEXT
AGENT GUIDANCE
Use the deployed OpenAPI for exact parameters, schemas and security requirements. The tables below provide integration guidance.
Open this operation in OpenAPIRequest and response
Examples illustrate integration intent; the referenced OpenAPI operation and component schemas define the executable shape.
PARAMETERS
AuthorizationheaderRequiredBearer tokenCredential containing payments:write authority.EXAMPLEBearer hc_live_…
request_uuidpathRequiredidentifierIncoming OPEN request returned by the payment-request collectionEXAMPLErequest-uuid-01
Idempotency-KeyheaderRequiredASCII string · 1–128Caller-generated stable key reused for retries of the same logical mutation.EXAMPLEpost-api-v2-payment-requests-request-uuid-payments-request-001
X-Request-IDheaderOptionalstringOptional caller correlation identifier. The gateway emits the effective value on the response.
Content-DigestheaderRequiredstringRFC 9530 sha-256 digest of the exact transmitted request-body bytes.
Signature-InputheaderRequiredstringRFC 9421 sig1 input covering @method, @path, content-digest, content-type, and idempotency-key, with created, expires, nonce, keyid, and alg=ed25519.
SignatureheaderRequiredstringRFC 9421 sig1 Ed25519 signature made by an active key registered to the bearer client.
expected_amountbodyRequiredpositive exact decimal stringExact amount returned by the latest request read; repricing and partial payment are rejected.EXAMPLE125.00
expected_request_versionbodyRequiredinteger · ≥1Current payment-request version used for optimistic concurrency.Schema range: 0 to unboundedEXAMPLE1
payment_methodbodyRequiredINTERNAL_BALANCE | HYBRID_WALLET | APPROVED_RAILSelected future authorization path. Recording the intent does not authorize, reserve, or submit through that method.EXAMPLEHYBRID_WALLET
payment_source_referencebodyRequiredowner-safe funding or operational-wallet referenceOpaque source resolved inside the Payments owner. Raw wallet UUIDs, account credentials, seeds, and private keys are forbidden.EXAMPLEfunding-source-01
settlement_currencybodyRequireduppercase asset or ISO currency codeExact uppercase currency returned by the latest request read.EXAMPLEUSDC
REQUEST
{
"expected_amount": "100.00",
"expected_request_version": 0,
"payment_method": "example-payment-method",
"payment_source_reference": "example-payment-source-reference",
"settlement_currency": "USD"
}RESPONSES
{
"amount": "100.00",
"authorization_required": true,
"balance_mutation_performed": true,
"cancellation_reason_code": "example-cancellation-reason-code",
"cancelled_at": "2026-09-02T18:30:00Z",
"created_at": "2026-09-02T18:30:00Z",
"currency": "USD",
"external_reference": "example-external-reference",
"memo": "example-memo",
"payee_workspace_id": "01K4A7M4N8Y2Q6R9T3V5W7X1ZB",
"payer_workspace_id": "01K4A7M4N8Y2Q6R9T3V5W7X1ZB",
"payment_method": "example-payment-method",
"payment_request_uuid": "01K4A7M4N8Y2Q6R9T3V5W7X1ZB",
"payment_source_reference": "example-payment-source-reference",
"payment_uuid": "01K4A7M4N8Y2Q6R9T3V5W7X1ZB",
"purpose_code": "example-purpose-code",
"rail_submission_created": true,
"reconciliation_required": true,
"request_commitment": "example-request-commitment",
"reservation_created": true,
"settlement_authority_granted": true,
"state_commitment": "example-state-commitment",
"status": "example-status",
"updated_at": "2026-09-02T18:30:00Z",
"version": 0
}{
"code": "invalid_credentials",
"message": "the supplied Hybrid credential is invalid"
}invalid_credentials{
"code": "invalid_credentials",
"message": "the supplied Hybrid credential is invalid"
}invalid_credentials{
"code": "invalid_credentials",
"message": "the supplied Hybrid credential is invalid"
}invalid_credentials{
"code": "invalid_credentials",
"message": "the supplied Hybrid credential is invalid"
}invalid_credentials{
"code": "invalid_credentials",
"message": "the supplied Hybrid credential is invalid"
}invalid_credentials{
"code": "invalid_credentials",
"message": "the supplied Hybrid credential is invalid"
}invalid_credentials{
"code": "invalid_credentials",
"message": "the supplied Hybrid credential is invalid"
}invalid_credentialsOPERATIONAL NOTES
This route is implemented in canonical gateway source and appears in the production OpenAPI snapshot observed 2026-10-02T23:27:55.510Z. Authentication, tenant, feature, venue, and market policy still apply.
Verify the exact production OpenAPI operation Return to the V2 directory