Mina Adel
العربية Book a call
All work Payment integrations

Customers pay the way they expect to — and the books still balance

Local card payments and buy-now-pay-later, wired end to end. Five platforms, each reconciling correctly against the accounts.

Sector
Retail and e-commerce, GCC
Year
2024 — 2026
Built with
Odoo · Python · UPayments · Tamara · Tabby

The result

  • Customers pay with the methods they actually use locally
  • Buy-now-pay-later offered only to customers who will be approved
  • Every payment reconciles against the accounts automatically

The situation

A payment method that customers do not recognize is a checkout they abandon. In the Gulf that means local card networks, and increasingly it means buy-now-pay-later — customers expect to split a purchase into installments, and if you do not offer it, someone else does.

That is one half of the problem. The other half is what happens after the money moves: whether the payment lands in the accounts correctly, every time, without somebody reconciling it by hand.

What I found

Two things go wrong with payment integrations, and neither is the payment itself.

The first is offering a method that then declines. Buy-now-pay-later providers approve or reject each customer. Showing the option to someone who will be refused is a worse experience than not offering it at all.

The second is reconciliation. A payment that succeeds at the gateway but never lands correctly in the accounts creates a discrepancy someone has to chase manually. Do that a few hundred times a month and you have hired a person to fix a software problem.

What I changed

Each provider was integrated end to end, not just to the point where money moves:

  • Eligibility is checked before the option is shown, so customers only see installment plans they will actually be approved for.
  • The provider tells us the outcome directly, and that message is verified as genuine before it is trusted — so a payment cannot be faked by anyone who guesses the address.
  • Every result writes back to the accounts, including the awkward ones: refunds, partial captures, and payments that complete after the customer has closed the browser.

The detail that matters throughout: log what the provider actually returned, not what the documentation said it would return. Those two are not always the same, and that gap is where most integrations quietly fail.

The result

Five payment platforms live: local card payments through the Kuwaiti gateway, two buy-now-pay-later providers, plus international gateways from earlier work.

Customers pay the way they expect to, and finance stops chasing mismatches.


For the technically minded

UPayments (KNET) wired through pos_online_payment with a polling component on the POS side; Tamara and Tabby implemented against their Checkout APIs with background pre-scoring to decide whether the method is offered, hosted-checkout redirect, and webhook handling with HMAC-SHA256 signature verification. Earlier gateway work: WeAccept, Stripe and PayPal.

Client names and identifying details are withheld deliberately. Every figure on this page comes from a system I can open.

No cost, no pitch

Book a free 30-minute call

Bring the problem you keep postponing. We will work out whether it is worth fixing, what it would take, and whether I am the right person for it.

  • A slow system, and nobody can say why
  • An upgrade that has stalled
  • A build about to start, and you want a second opinion
Pick a time Straight to my calendar. No form to fill in first.
Mina Adel at his desk