Learning contextDemo Retail Group LLC12 stores · 2 distribution centres · AED/SAR/USD · omnichannel replenishmentChange scenario details →
Skip to content

Online payments ​

Each company chooses its own payment gateways and enters its own merchant credentials. Once a gateway is switched on, clients can pay their project invoices online from the client portal, and the receipt is posted in OSERP automatically.

This release takes payments for project invoices in the client portal. Your online shop's checkout keeps its current payment setup; moving it onto these gateways is a later, separate step.

Which gateways are available ​

GatewayWhereHow the client paysTest access
Practice gatewayAnywhereA pretend checkout: no money movesBuilt in, test mode only
Bank transferAnywhereTransfers to your account, quoting the invoice number; you confirm it arrivedNone needed
StripeGlobal, including the UAEStripe's checkout page (cards, Apple Pay, Google Pay)Free test keys from Stripe
RazorpayIndiaRazorpay payment link (UPI, cards, net banking, wallets)Free test keys from Razorpay
TelrUAE and the GulfTelr's payment pageTest mode on your Telr store
Network International (N-Genius)UAEN-Genius payment page (used by Emirates NBD and many UAE merchants)Sandbox access from Network International
Bank gateway (Mastercard Gateway)UAE, the Gulf, IndiaYour bank's hosted checkout (ADCB, Mashreq, CBD, RAKBANK and others run on it)Test credentials from your bank

Card details never pass through OSERP or your website: every gateway takes the client to its own secure page.

Set up a gateway ​

  1. Open Integrations > Payments (needs Payments: manage; the built-in administrator and accountant roles have it).
  2. Choose Add a gateway and pick the Provider.
  3. Fill in:
FieldMeaning
Name shown to clientsWhat the client sees on the pay button, e.g. "Card payment" or "Emirates NBD"
ModeTest while trying it; Live to take real money. The practice gateway is test only
Provider fieldsThe credentials from your gateway account, listed per provider. Secret fields are never shown again once saved; leave them blank to keep the saved value
Switched onClients are offered it only while it is on
Offer firstListed first when the client chooses how to pay
  1. Choose Save, then Test connection. The result is shown beside the gateway (for example "Stripe accepted the key" or the gateway's own error).

Test keys go with test mode. OSERP refuses a Stripe or Razorpay test key in live mode and a live key in test mode, because taking test payments in production (or real ones in a test) is the classic mistake.

Bank transfer needs your account name, bank, IBAN or account number, and optionally SWIFT/IFSC and instructions. These are shown to the client with the amount and the invoice number to quote.

Turning a gateway off stops it being offered at once. A gateway that has taken payments cannot be deleted, only switched off, so its payments stay traceable.

How a client pays ​

On an invoice in the portal, a person with Pay invoices online sees Pay this invoice with one button per switched-on gateway that takes the invoice's currency.

  • Online gateways: the client is taken to the gateway's page, pays, and comes back to a page that says Payment received, The payment did not go through (with the reason) or Waiting for the gateway to confirm.
  • Bank transfer: the client sees your account details and the reference, transfers the money, and enters their bank's transfer reference under I have transferred the money. You are emailed to check your bank.

An invoice is paid online in full. An invoice that already has part of its payment recorded is not offered online; the client is told to contact you.

What happens in the books ​

The payment is confirmed only by asking the gateway directly, never by the client returning to your site. When the gateway confirms it:

  • the invoice is advanced to the Payment stage of the sales flow, posting the receipt through the same GL mapping as any other customer receipt;
  • the receipt's note names the gateway, the gateway's payment reference, and "TEST payment" for test mode;
  • the client's invoice shows Paid;
  • any other payment attempt left open on that invoice (for example a transfer started and abandoned) is closed, so nobody can confirm a second payment for it.

A receipt is posted exactly once, even if the client's return and the gateway's notification arrive at the same moment. If the money arrives but the receipt cannot be posted (for example the invoice was paid by another receipt in the meantime), the payment is kept on record with the reason, and the company is emailed to refund it or allocate it on account.

Confirm a bank transfer ​

Under Payments received, a transfer the client reported shows Transfer to confirm with their reference. When the money is in your bank, optionally enter the bank's reference and choose Confirm received. The receipt is posted. A transfer can only be confirmed once.

Payments received ​

The list shows every payment attempt, newest first: invoice, customer, amount, gateway (marked "Test" for test mode), status, receipt number, and any failure reason or receipt problem. Filter it by status.

StatusMeaning
Started / Waiting for the gatewayThe client opened the gateway's page and has not finished
Transfer to confirmThe client reports a bank transfer
PaidConfirmed by the gateway (or by you, for a transfer); the receipt number is shown
FailedDeclined or abandoned at the gateway; the reason is shown
CancelledThe invoice was paid another way

Gateway notifications (webhooks) ​

Gateways can notify OSERP when a payment completes, which settles it even if the client closes their browser before returning. In the gateway's dashboard, set the notification (webhook) address to:

https://<your OSERP address>/api/v1/payments/webhook/<gateway id>

Ask OSERP support for the gateway id. A notification only tells OSERP which payment to check; OSERP then asks the gateway itself, so a forged notification settles nothing.

Practice before going live ​

  1. Add the Practice gateway (test mode) and switch it on.
  2. On a test project with an invoice, give your own portal access Pay invoices online.
  3. In the portal, choose Pay with the practice gateway, then Decline: the result says it did not go through and the invoice stays unpaid.
  4. Pay again and choose Pay: the result says Payment received, the invoice shows Paid, and a receipt appears on the invoice in OSERP.
  5. Switch the practice gateway off before going live.

Change log ​

ReleaseChange
Portal phase 4bGateways per company (practice, bank transfer, Stripe, Razorpay, Telr, N-Genius, Mastercard Gateway); paying project invoices in the client portal; receipts posted through the sales flow; bank transfer confirmation

OSERP™ Atlas · Understand every field. Master every workflow.