Planned · the endpoints are the design

Stop rebuilding the payment dance.

Taking money means webhooks, signing secrets and a table of who paid, in every project. billingthing does it once and answers one question.

How it works Built by Rytter

$ billingthing events --tail
invoice.paid · u_1842 · shop-pro · recorded
invoice.paid · u_1842 · duplicate, ignored
payment_failed · u_0317 · booking · grace until 4 Oct

Features

A link to pay, and a question.

  • Plans in one file

    Price, features and grace per plan. A project names a plan, never a provider's price id.

  • Checkout is a link

    The project says who and which plan, and gets a link to send the user to.

  • One access check

    Does this user have this feature? Answered from billingthing's own record of every payment.

How it works

The provider's events land once.

  1. 1

    Receive

    Signatures, duplicates, ordering and retries are handled in one place and fixed for every project.

  2. 2

    Record

    Every payment is recorded against a user and a plan, so no project keeps a table of who paid.

  3. 3

    Answer

    Projects ask about access, never about payments, so changing provider changes nothing in them.

Who built it

Built by Rytter.

I'm Jakob Rytter. I build software and run it, from the server to the screen, and billingthing is how my projects will take money.

rytter.it All the things