ForHosting KIT · Documents & PDF

Create a receipt PDF

The Receipt PDF Generator API takes a small JSON payload — payer, items, amount paid, date — and returns a finished receipt PDF a customer can save or print. It's built for the moment right after money changes hands, when someone expects proof of payment within seconds, not after a support ticket.

● StablePer request + per document$0.040
Use it from WebAPIEmailApp soonTelegram soon

Run this on our servers with your account. Free tools run in your browser; this one bills your KIT balance per the price above.

A receipt is proof, and proof shouldn't wait

A receipt is smaller and simpler than an invoice, but it carries more urgency: it's the confirmation a customer wants the second a payment clears, whether that's a point-of-sale transaction, a one-off service fee, or a donation. The receipt generator api exists so that confirmation is generated automatically, in the same flow that processes the payment, instead of being an afterthought bolted on with a screenshot of a dashboard.

What the payload looks like

You send the payer's details, the amount received, the payment method, a short description or list of items, and the date of the transaction. The service lays this out as a compact, readable PDF — the kind a customer expects when they tap 'email me a receipt', not a multi-page document with tax tables and payment terms. It's deliberately lighter than an invoice or a contract, because a receipt only has one job: confirm that a specific payment happened.

How the request and delivery work

Call POST /pdf/receipt and you get a task_id back immediately; there's no open connection to hold while the document renders. Once the PDF is ready on our global edge, you're notified by a signed webhook — the natural choice for a checkout flow that needs to attach the receipt to a confirmation email in real time — or you can fetch it through a signed link valid for 24 hours if a person just needs to grab one copy.

Where receipts fit into everyday automation

This is meant to run silently behind a payment flow: a point-of-sale system issuing a receipt per transaction, a donation platform confirming a gift the instant it's captured, a marketplace sending a payout receipt to a seller. Because each call is independent and returns its own task_id, a busy checkout can fire hundreds of these in parallel without any of them blocking the others.

What it costs and how data is handled

Pricing is $0.040 per request plus $0.001 per document — a published rate, no tokens, no invented credits. A task that fails is never billed; we retry three times before returning a clear error. Access needs prepaid balance, with no free tier or trial, which is exactly what keeps the endpoint fast and free of abuse — requests without balance simply get a 402. Receipt data is deleted after the retention window and is never used for training.

Point-of-sale confirmation

A checkout system issues a receipt PDF the instant a card or wallet payment is authorized and emails it to the customer automatically.

Donation acknowledgment

A nonprofit's donation page generates a receipt the moment a gift is captured, giving the donor proof of contribution without a manual follow-up.

Seller payout confirmation

A marketplace sends each seller a receipt for their payout, itemizing the transaction it corresponds to, right when the transfer is initiated.

One-off service payments

A freelancer platform issues a receipt for a single paid service call, giving the client something to file without a full invoicing workflow.

How do I generate a receipt PDF with an API?

Send JSON with the payer, amount, method, and date to POST /pdf/receipt and you get a task_id back. The receipt generator api builds the document asynchronously and delivers it by signed webhook or a signed link valid for 24 hours.

Is this API free?

There's no free tier — free tiers get abused and slow everyone down. Access runs on a prepaid ForHosting KIT balance: top up from $10.00 (it never expires) and each request is charged at its published price, so a call with no balance returns HTTP 402. No subscription, no tokens, no invented credits, and a failed task is never charged.

How is a receipt different from an invoice here?

A receipt confirms a payment that already happened, with a lighter layout than an invoice; an invoice requests payment and includes tax and terms. Use POST /pdf/receipt when the money has already moved.

Can I generate receipts in bulk?

Yes. The endpoint is asynchronous and each call returns its own task_id, so a checkout system or batch job can issue many receipts in parallel without waiting on one another.

Can I add my logo or business details?

Yes. You can include your business name and identifying details in the payload so the receipt reads as coming from your specific business rather than a generic template.

What happens if a receipt fails to generate?

A failed task is never charged. We retry three times, and if the document still can't be built you get a clear error instead of a silent failure or a charge.

How fast is delivery after a payment?

The call returns a task_id right away and the finished PDF typically follows within moments; the signed webhook is the fastest path for attaching a receipt to a real-time confirmation email.

How long can I access the generated receipt?

The signed link stays valid for 24 hours, or you can get the PDF immediately by signed webhook. After the retention window it's deleted and never used for training.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/pdf/receipt

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, and soon from our app, email and Telegram.

curl -X POST https://api.kit.forhosting.com/pdf/receipt \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"pdf":"https://ejemplo.com/documento.pdf"}'
{
  "pdf": "https://ejemplo.com/documento.pdf"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "pdf.receipt",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.040
Per document$0.001

Published price — no tokens, no invented credits. A failed task is never charged.

max_mb25
max_pages200
HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.
422task_failedThe task failed after 3 retries. You are never charged for it.

Read the full KIT documentation →