Integration · Stripe

Stripe payments that reconcile themselves.

Customers pay by card on a checkout page, and your system marks the booking confirmed or the invoice paid within moments. Deposits, instalments, subscriptions and refunds, without anyone matching payouts by hand.

Stripe is a card payments platform with a public API. It offers hosted or embedded checkout pages, shareable payment links, subscriptions and invoices, and it is available to businesses in Malta. You can use all of it from its dashboard, and for a handful of sales a month that is often enough.

Connecting it to your own system means your system, not a dashboard, knows who paid what and for which job. The important part is the return trip: Stripe tells your system by a signed message (a webhook) when a payment succeeds, fails or is refunded, and the system updates the booking, the invoice and the customer’s record without a person in the middle.

What you can automate

Stripe, wired into your system.

Checkout for bookings and orders

The order or booking is created in your system first, then the customer is sent to a Stripe checkout page for that exact amount. If they abandon it, you can see an unpaid booking and follow up, instead of finding nothing.

Deposits and balances

Take a deposit when a slot is booked and request the balance later, with both payments recorded against the same job. It suits a booking system where no-shows cost real money.

Payment links on invoices

Every invoice carries a pay-now link, and the link goes by email or WhatsApp. When it is paid, the invoice closes itself. See quoting and invoicing for the wider picture.

Subscriptions and memberships

Recurring plans with trials, upgrades and failed-payment retries, with the member’s access switching on and off from the payment status.

Instalments and coupons

Payment plans for larger amounts and discount codes the team can create without a developer. Both are decisions about rules in your own system, with Stripe doing the card part.

Refunds from the admin screen

Staff refund a payment from the customer record, the amount is checked, Stripe is told, and the books show a credit note. No second login, no retyping a payment reference.

How it’s built

Connected, then watched.

  1. 01
    Model the money first

    What is sold, when a deposit is due, how VAT is shown, what happens on a refund. These rules live in your system, and getting them written down is the longest conversation.

  2. 02
    Create payments from your side

    The server decides the amount and creates the checkout or payment link, so a customer can’t change a price in their browser. Requests that might be retried carry an idempotency key, which stops a network hiccup creating two charges.

  3. 03
    Listen for the result

    Stripe’s webhooks are verified against their signature, answered quickly and processed from a queue. Stripe retries failed deliveries for days in live mode, can send the same event twice and doesn’t guarantee order, so every handler is built to be repeated safely.

  4. 04
    Test, go live, watch

    Everything is run end to end in Stripe’s test mode before real money moves. After launch, a scheduled check compares Stripe’s records with your system and alerts when they disagree.

Worth knowing
  • Stripe’s own fees are charged by Stripe to your account and depend on card type and country. They are not part of my build price. Look at Stripe’s current pricing page before you set prices.
  • The Stripe account is yours, in your business name, and Stripe may ask you for identity and business verification before it pays out. That is between you and Stripe, and it can take a few days.
  • Stripe handles the card and the checkout page. Your VAT invoice, with its Maltese format and numbering, still has to come from your own system. See VAT invoices in Malta.
  • If you take a few payments a month, Stripe’s dashboard and no-code payment links already do the job. A connection is worth building when someone is matching payments to invoices or bookings by hand every week.
FAQ

Questions, answered.

Can I use Stripe in Malta?

Yes. Stripe lists Malta among the countries where businesses can sign up. You need a Maltese business (or sole trader) with the usual identity and bank details for payouts.

Can I take deposits and charge the balance later?

Yes, and the rules live in your system: how much, when, and what happens if the balance isn’t paid. The quote builder prices deposits at about 4 to 8 extra hours on top of the 17 to 30 for a payments module.

What if a payment succeeds but the website never hears about it?

That is why the webhook is the source of truth, not the customer’s browser. Stripe retries for days, and a scheduled check compares Stripe with your records, so a missed message turns up as an alert instead of an unexplained gap.

Can customers pay an invoice by Stripe and have it close automatically?

Yes. Each invoice gets its own payment link, the webhook confirms the payment, and the system marks the invoice paid. Part payments are recorded against the same invoice.

Should I use Stripe or Viva Wallet?

Either works with a custom system. I compare them on the Viva Wallet page, and sometimes the answer is to support both.

Start here

Get a fixed quote.

The quote builder opens with Stripe already selected. Add the rest of your system and I reply with a fixed quote.

Logo