Receipt
Render one per successful payment from your payment events, with what was paid, when, by which card, and the invoice it settles.
PDF, A5, from 1 credit
Output

Variables
currencytextUSDcustomer.emailtextcustomer.nametextAcme Inc.items[].amountnumber588items[].descriptiontextTeam plan, 12 seatsitems[].detailtextOctober 1 to October 31, 2026items[].quantitynumber12merchant.addresstext500 Congress Ave, Suite 1200merchant.citytextAustin, TX 78701, United Statesmerchant.emailtextmerchant.logoUrltextdata:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 44 44%22%3E%3Crect width=%2244%22 height=%2244%22 rx=%229%22 fill=%22%232f4fb3%22/%3E%3Cpath d=%22M15 12v20M22 12v20M29 12v20%22 stroke=%22%23fff%22 stroke-width=%223%22 fill=%22none%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3C/svg%3Emerchant.nametextInitech Cloud, Inc.merchant.taxIdtextEIN 88-4410273notestextThank you for your payment. This receipt settles invoice INV-2026-0142 in full.payment.brandtextVisapayment.last4text4242receipt.datePaidtext2026-10-12receipt.invoiceNumbertextINV-2026-0142receipt.numbertextRCPT-2026-0907totals.amountPaidnumber1194.21totals.discountnumber58.8totals.discountLabeltextTeam plan discount (10%)totals.subtotalnumber1162totals.taxnumber91.01totals.taxLabeltextSales tax (8.25%)totals.totalnumber1194.21
Send any of these in modify. Anything you leave out prints the sample value, and the response lists it in warnings.
Render it
Save the template to your account first. Saving gives you its ID.
curl --request POST \
--url https://api.ojo.so/v1/pdf/template \
--header 'Authorization: Bearer <your API key>' \
--header 'Content-Type: application/json' \
--data '{
"templateId": "<YOUR_TEMPLATE_ID>",
"modify": {
"currency": "USD",
"receipt": {
"number": "RCPT-2026-0907",
"datePaid": "2026-10-12",
"invoiceNumber": "INV-2026-0142"
}
}
}'What's included
- Paid amount, date and card
- Any currency
- A5, one page


