A document's payments, with refund and failure state (EAS-119)
What the sender needs to see: each payment's status (requires_payment, processing, succeeded, failed, canceled, refunded, partially_refunded, disputed), the Stripe reference, any failure reason, and the refunded amount. Empty for a document with no payment field.
View as MarkdownAuthorization
bearer In: header
Path Parameters
Response Body
application/json
application/json
curl -X GET "https://example.com/v1/documents/string/payments"{ "payments": [ { "id": "string", "fieldId": "string", "recipientId": "string", "status": "requires_payment", "amountMinor": 0, "currency": "string", "refundedMinor": 0, "failureCode": "string", "failureMessage": "string", "paymentIntentId": "string", "succeededAt": "2019-08-24T14:15:22Z", "refundRequestedAt": "2019-08-24T14:15:22Z", "createdAt": "2019-08-24T14:15:22Z" } ]}Connect (or resume connecting) the workspace's Stripe account
Creates the workspace's connected account on first use and returns a Stripe-hosted onboarding link. After disconnectPaymentsAccount it creates a new account (never the one that was disconnected). Workspace owners and admins only. Stripe returns the user to the settings page afterwards; the account is then read back with getPaymentsAccount?refresh=1.
Start, or resume, the payment for a payment field (EAS-119)
Idempotent: a double click, a reload, or a retry after a declined card all land on the same PaymentIntent. The amount and currency are the field's own, snapshotted when the payment starts — nothing in the request can change them. Requires the same signing state as signingComplete (pending, before the deadline, this signer's turn, not yet signed or declined), and the field must be a payment field assigned to the caller. The response carries the client secret that Stripe.js confirms in the browser; whether the payment succeeded is never reported by the browser — it is learned from Stripe's webhook, or by reading the PaymentIntent server-side.