Payments that go through and reconcile with the order
Adding a Pay button is not the job. The job is that a decline does not lose the order, a refund goes through without the accountant, and the money in the account matches the sales in the system.
01The amount is fixedThe order is created before payment, so it exists even if the payment fails
02Handover to the gatewayCard details are entered on the bank's side — they never reach your server
03Bank confirmation3-D Secure: the cardholder confirms the operation in their own bank's app
04The gateway respondsSuccess or decline arrives both on the page and as a separate notification, in case the customer closed the tab
05The order updatesThe status changes, stock is written off and the customer gets a confirmation with details
06ReconciliationThe bank statement is matched to orders: what is paid, refunded or stuck is visible
THE PAYMENT'S PATH
What happens after the Pay button
pay.example.rs
Payment for order #4821
OK
The amount is fixed
7,240 RSD
Handover to the gateway
secure form
Bank confirmation
3-D Secure
The gateway responds
paid
The order updates
confirmation sent
Reconciliation
the totals agree
The amount is fixedThe order is created before payment, so it exists even if the payment fails
Handover to the gatewayCard details are entered on the bank's side — they never reach your server
Bank confirmation3-D Secure: the cardholder confirms the operation in their own bank's app
The gateway respondsSuccess or decline arrives both on the page and as a separate notification, in case the customer closed the tab
The order updatesThe status changes, stock is written off and the customer gets a confirmation with details
ReconciliationThe bank statement is matched to orders: what is paid, refunded or stuck is visible
WHAT USUALLY BREAKS
Where money leaks in payment handling
Wired up ad hoc
The customer closed the tab after paying — the order stayed unpaid though the money left
A declined card dumps the user on a blank page, and the order vanishes with the basket
Refunds are issued by hand in the bank's portal while the system still shows the order as paid
At month end the accountant matches the statement to orders by hand and finds gaps
Payment fails on phones — which is exactly where most people pay
Wired up properly
The payment result arrives as a separate notification from the bank, independent of the browser
A decline keeps the order alive: the customer gets a link to retry by another method
Refunds and partial cancellations happen from the admin panel and show in the order at once
Reconciliation is automatic: a gap between statement and orders shows up the next day
Payment is tested on real phones, not just in a desktop browser
WHAT THE WORK INCLUDES
What the integration covers
Choosing the payment methods
We look at who your buyers are and how they pay: card, bank transfer, cash on delivery, instalments.
Help with the bank
We prepare the technical side of the application, answer the bank's questions and go through test mode with you.
Gateway integration
The payment form, 3-D Secure, result notifications and correct handling of a dropped connection.
Declines and retries
A clear message to the customer, the order preserved and a link to pay another way.
Refunds and cancellations
Full and partial refunds from the admin panel, reflected in the order and in the books.
Statement reconciliation
Matching incoming payments to orders and a report of what does not add up.
Security
Card data never passes through your server, the connection is secured and access is split by role.
Device testing
Test payments from phones and desktops, including decline and refund scenarios.
TECHNOLOGY LANDSCAPE
What payment acceptance is made of
Card gatewayThe bank's form, transaction authorisation and cardholder confirmation3-D SecureConfirmation in the bank's app — it lowers the share of disputed transactionsGateway callbacksThe result reaches the server directly, whatever the customer's browser doesTransaction logEvery attempt is stored: amount, bank response, time and orderRefundsFull and partial, keeping the link to the original transactionReconciliationMatching the statement to orders and listing the differences
The acquiring contract is between the store and its bank: rates, fees and settlement times stay between you and them. VMTech is responsible for the technical side: integration, error handling, refunds and reconciliation.
QUESTIONS
What people usually ask
What is needed to start accepting cards?
A card acceptance contract with the bank and a working site with product descriptions, delivery and refund terms — the bank checks those. We prepare the technical side and go through test mode with you; the bank's approval usually takes longer than the development.
Will card data be stored on our side?
No, and that is deliberate. Details are entered on the bank's secure page and never reach your server — you receive only the transaction result and its identifier. That removes the obligations that come with storing card data.
The customer paid but the order did not update. Does that happen?
It happens when the site only learns about a payment from the customer returning to the page. We connect a separate gateway notification to the server: even if the customer closed the tab or lost connection, the order status updates. There is also a periodic check for stuck payments.
Can we take cash on delivery alongside cards?
Yes, and on the Serbian market it is often the main method. The difference is that the money arrives from the carrier later, so those orders follow their own chain of statuses and reconciliation runs against the carrier's report rather than the bank statement.
How are refunds handled?
From the admin panel: a full or partial refund against a specific transaction. The system sends the request to the gateway, stores the result and updates the order status. The accountant sees the refund in a report rather than learning of it from a customer email a month later.
Payments that go through and reconcile with the order
Adding a Pay button is not the job. The job is that a decline does not lose the order, a refund goes through without the accountant, and the money in the account matches the sales in the system.