Help › Payment links

Guide

Payment links

Billkeep does not process payments, so the link on your invoice is one you already own. This is where to get one, where to put it, and why it is checked before it is printed.

Two places a link can live

  • On one invoice. In the editor, under the folded extras: Pay this invoice. Use this for a link with the amount already baked into it. It prints first, ahead of everything else.
  • On every invoice. Settings → How you get paid. Bank details, a PayPal.me address, a UPI ID — the things that do not change per sale.

Why both exist

Payment gateways mint a fresh link per sale with the amount fixed in it — a Stripe payment link is one price, not “pay whatever you owe”. Standing methods only ever suited the things that are the same every time, like a bank account. So Billkeep carries both, and the per-invoice one wins.

Getting a link

Stripe

Dashboard → Payment links → New. Set the amount to the invoice total, create it, copy the https://buy.stripe.com/… address, and paste it into the invoice's Pay this invoice field. One link per invoice.

PayPal

A PayPal.me address (https://paypal.me/yourname) is a standing method — add it once in Settings. PayPal can also add an amount to the end of the address, which makes it a per-invoice link instead.

Wise, Revolut and similar

Most of them offer a payment or request link that is a plain https:// address. If you can copy it out of the app, it works here.

UPI, and bank transfer

A UPI ID or your account details are not links, so add them as a standing method with Bank details or Something else, and put the account number, sort code or IBAN in the instructions. They print as text under the total, which is what somebody paying by transfer needs.

What gets printed

On the finished document, a valid link becomes:

  • a labelled button your customer can tap in a PDF;
  • a QR code beside it, drawn as vector so it survives being printed small;
  • the address in visible text, so somebody reading it on paper can see where it goes before scanning.

Why the link is checked

A payment link is the single riskiest thing on the document: your customer taps it because a person they trust sent it. So Billkeep checks it twice — once when you save it, and again before it is printed.

  • Only https:// is accepted.
  • A bare domain like buy.stripe.com/abc is upgraded to https://.
  • http:// is allowed but flagged, because it is not encrypted.
  • javascript:, file:, data: and intent: are refused outright.
  • A link that fails the second check is printed as plain text rather than a button — visible, but not something to tap.

What Billkeep will never do

  • Open the link inside itself. It goes to your customer's own browser — an embedded checkout is exactly what would make a record-keeper look like a payment processor.
  • Take a percentage. There is no processor here to take one.
  • Notice that a payment arrived. There is no webhook and no merchant account, so you record it.
Chat on WhatsApp