Sign-then-Pay
Sign-then-Pay
Sign-then-pay lets you collect signatures from multiple parties and then collect payment — all in a single document flow.
How it works
- Create a
signabledocument with apaymentobject - Signers receive signing invitations and sign
- After all signers have signed, ZipZign emails the payer a payment link
- Payer completes payment
- Document status moves to
complete
Note: The payer does not see the signature UI. Signers do not receive a payment receipt.
Creating a sign-then-pay document
curl -X POST https://zipzign.com/api/documents \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"type": "signable",
"title": "Freelance Contract — Widget Inc",
"content": "<h1>Freelance Contract</h1><p>Both parties agree to the following terms...</p><h2>Payment</h2><p>Total fee: $3,000, due upon signing.</p>",
"signers": [
{ "name": "Jane Smith", "email": "jane@freelancer.com" },
{ "name": "Client Contact", "email": "contact@widgetinc.com" }
],
"payment": {
"amount": 300000,
"currency": "usd",
"description": "Freelance contract payment — Widget Inc",
"payerName": "Widget Inc",
"payerEmail": "billing@widgetinc.com"
}
}'
Status lifecycle
created
→ awaiting_signatures (signing invites sent)
→ all_signed (all parties signed)
→ awaiting_payment (payment link sent to payer)
→ paid (payment confirmed)
→ complete
Webhooks fired
Event | Trigger |
|---|---|
| Document created |
| A signer opened the signing page |
| A signer signed |
| Any status transition |
| Payment received |
| Document finalized |
Who gets what
Recipient | |
|---|---|
Signers | Signing invitation, completion notification |
Payer | Payment link (sent after all signatures collected) |
Document owner | Completion notification (if configured) |
Use cases
- Freelance contracts where payment is due on signing
- Rental agreements with a deposit
- Service agreements requiring both party approval and upfront payment
Updated on: 16/04/2026
Thank you!