L2 Support Engineer · Fintech · Week 4
Week 4 Day 5
Week 4 · Day 5

Acquiring &
POS Flow

When a merchant accepts a card payment, an entire network of systems works behind the scenes in under 2 seconds. Today you learn exactly who does what — and where things can break.

POS to Switch Flow Acquiring Bank Issuing Bank Card Network Settlement
01 The Simple Idea First
Real-life Analogy

Think of a card payment like a phone call between two banks.

The merchant's bank (acquirer) dials the call. The card network (Visa / 1LINK) is the telephone exchange that connects the call. The customer's bank (issuer) picks up and says yes or no.

The POS machine is the phone the merchant uses to start that call. The whole conversation happens in under 2 seconds. As L2, you trace what was said at each step when something goes wrong.

02 The 4 Key Players in Every POS Transaction
🏪
Player 1

Merchant & POS Terminal

The shop and its card machine. The POS reads the card chip/tap and sends the payment request. It is the starting point of every acquiring transaction.

🏦
Player 2

Acquiring Bank

The merchant's bank — the bank that gave the merchant their POS machine and processes their card receipts. It receives the request from the POS and sends it into the card network.

🔀
Player 3

Card Network / Switch

The routing layer — Visa, Mastercard, or 1LINK (domestic). It receives from the acquirer, identifies which bank issued the card, and routes the authorization request to that bank.

💳
Player 4

Issuing Bank & CMS

The customer's bank — the bank that issued the card being used. Its CMS receives the authorization request, checks balance and limits, and sends back approved or declined.

💡 Simple way to remember: Acquirer = merchant's bank. Issuer = customer's bank. The card network is the highway connecting them. As L2, your company could be sitting on either side — as the acquirer, the issuer, or both.

Issuing vs Acquiring — What's the Difference?

Issuing is what we covered in CMS (Day 2) — your bank issued a card to a customer. When that customer uses their card anywhere, your CMS is the issuer that approves or declines.

Acquiring is the other side — your bank has merchants who use your POS machines. When those merchants accept card payments, your system is the acquirer that processes the incoming transactions and settles funds into the merchant's account.

Many banks do both — they issue cards to customers AND provide POS machines to merchants. As L2, you need to know which side a ticket is coming from before you start investigating.

03 POS to Switch Flow — Full Step by Step

💳 POS Transaction Flow — From Tap to Approval

🏪
Step 1 — POS Terminal
Customer taps or inserts card at POS
POS reads card data from chip, tap (NFC), or swipe. It creates an authorization request with: card number, amount, merchant ID, terminal ID, and transaction time. This is sent to the acquiring bank's switch.
POS → Authorization Request → Acquirer Switch
🏦
Step 2 — Acquiring Bank Switch
Acquirer validates and logs the request
The acquirer's switch receives the request, validates the format, checks merchant status (is the merchant active, not blacklisted), logs the transaction, and forwards it to the card network.
Merchant active check → Log TXN → Forward to Network
🔀
Step 3 — Card Network (Visa / 1LINK)
Network routes to the issuing bank
The card network reads the card BIN (first 6 digits) to identify which bank issued the card, and routes the authorization request to that bank's CMS. For domestic cards in Pakistan, 1LINK handles this routing.
BIN lookup → Identify Issuer → Route to Issuer CMS
💳
Step 4 — Issuing Bank CMS
Issuer checks card, balance, and limits
The issuer's CMS receives the request and runs all checks — Is the card active? Is it not blocked? Does the account have enough balance? Is the amount within daily limits? Is this merchant category allowed?
All checks pass → APPROVED (00) | Any fail → DECLINED (code)
🔀
Step 5 — Response travels back
Authorization response routed back to POS
The approval or decline response travels back the same path — Issuer → Network → Acquirer Switch → POS Terminal. The entire round trip takes under 2 seconds.
Issuer → 1LINK → Acquirer Switch → POS → Shows APPROVED or DECLINED
💰
Step 6 — Settlement
End of day settlement — funds move to merchant
At end of day, all approved authorizations are batched and settled. The issuing bank moves funds through the network to the acquiring bank, which then credits the merchant's account minus any fees.
Batch settlement → Issuer debits → Network clears → Acquirer credits merchant

Authorization vs Settlement — Two Different Things

Authorization is the real-time check and reservation of funds. It happens in 2 seconds. Money is not moved yet — it is just reserved (a hold is placed on the account).

Settlement is when the money actually moves. It typically happens at end of day in a batch. The hold is converted to a real debit and funds transfer from the issuer to the acquirer to the merchant.

Why this matters for L2: A merchant saying "card was approved but I didn't receive funds" is a settlement issue — not an authorization issue. These are investigated completely differently.

❌ POS Decline Codes — Common Ones You Will See
CodeMeaningIssuer or Acquirer?L2 Action
00Approved — transaction successfulAll good — no action needed
51Insufficient fundsIssuerClient side — customer's account balance too low
54Expired cardIssuerCard has expired — reissue via CMS
55Incorrect PINIssuerCustomer entered wrong PIN — verify attempt count
57Transaction not permitted to cardholderIssuerCard not enabled for this transaction type — update CMS settings
61Exceeds withdrawal limitIssuerDaily limit hit — advise customer or update limit
62Restricted cardIssuerCard blocked — check who blocked it and why in CMS
91Issuer unavailableIssuerP1 check — issuer CMS unreachable. All transactions for that bank failing.
96System malfunctionAcquirer / SwitchEscalate — internal system error. Check switch logs immediately.
41Lost cardIssuerCard flagged as lost. Transaction correctly declined. Inform merchant.
43Stolen cardIssuerCard flagged as stolen. Correct security behavior. Log and inform.
🔴 Acquiring Breakpoints — Where POS Transactions Fail
BreakpointWhere it happensHow to spot it
POS not connectingPOS → AcquirerPOS shows "connection error" or "host unavailable" — check acquirer switch service
Merchant not activeAcquirer validationResponse code 58 — merchant blocked or suspended in acquirer system
Switch routing failureAcquirer → NetworkTransactions timing out before reaching issuer — check switch logs
Issuer CMS downNetwork → IssuerCode 91 across all cards of one bank — only that bank's cards declining
Settlement mismatchEnd of day batchMerchant reports funds not received despite approvals — check settlement batch
04 Hands-on Lab — Trace a POS Transaction

🔬 Lab: Investigate a POS Transaction Failure

Acquirer Investigation
01
Merchant says: "Card was declined at my POS — don't know why"
Start at the acquirer switch log — find the transaction and check the response code.
SQL — Acquirer switch log
SELECT TXN_ID, CARD_NUMBER, AMOUNT,
       MERCHANT_ID, TERMINAL_ID,
       RESPONSE_CODE, TXN_TIME
FROM POS_TRANSACTIONS
WHERE TERMINAL_ID = 'TERM-8801'
ORDER BY TXN_TIME DESC
LIMIT 10;
→ RESPONSE_CODE = 62 means card is restricted. RESPONSE_CODE = 91 means issuer CMS is down.
02
Check if the merchant is active in the acquirer system
If the merchant was suspended or has a configuration issue, all their POS transactions will fail.
SQL — Merchant check
SELECT MERCHANT_ID, MERCHANT_NAME,
       STATUS, MCC_CODE, SETTLEMENT_ACCOUNT
FROM MERCHANT_MASTER
WHERE MERCHANT_ID = 'MRCH-4421';
→ STATUS = SUSPENDED means all POS transactions for this merchant are being declined by the acquirer before they even reach the network.
03
Check the full transaction trace — every hop
Trace the transaction through each layer — acquirer sent it, network received it, issuer responded.
SQL — full transaction trace
SELECT TXN_ID, HOP, FROM_NODE,
       TO_NODE, STATUS, RESPONSE_CODE, HOP_TIME
FROM TXN_TRACE_LOG
WHERE TXN_ID = 'TXN-POS-9901'
ORDER BY HOP ASC;
→ Shows exactly where the transaction stopped — POS→Acquirer (OK), Acquirer→Network (OK), Network→Issuer (TIMEOUT = issuer unreachable)
04
Merchant says: "Payments were approved but funds not in my account"
This is a settlement issue — check the end-of-day settlement batch for this merchant.
SQL — settlement check
SELECT BATCH_ID, MERCHANT_ID,
       TXN_COUNT, TOTAL_AMOUNT,
       SETTLED_AMOUNT, STATUS, SETTLEMENT_DATE
FROM SETTLEMENT_BATCH
WHERE MERCHANT_ID = 'MRCH-4421'
AND SETTLEMENT_DATE = '2024-03-15';
→ STATUS = PENDING means settlement batch ran but funds not yet transferred. Check if batch processing job completed.
05
Find all declines in the last hour — scope the issue
Quickly check if declines are isolated to one merchant or system-wide.
SQL
SELECT RESPONSE_CODE, COUNT(*) AS TOTAL
FROM POS_TRANSACTIONS
WHERE STATUS = 'DECLINED'
AND TXN_TIME > NOW() - INTERVAL '1 hour'
GROUP BY RESPONSE_CODE
ORDER BY TOTAL DESC;
→ Mostly code 91 = issuer CMS down (P1). Mixed codes = normal decline activity. All code 96 = acquirer switch issue (P1).
05 Real L2 Scenarios
01

Merchant calls: "Every single card is being declined at my POS since 30 minutes." You run the decline count query — 100% code 91 in last 30 minutes. The issuer bank's CMS is down. This is a P1 — open bridge. Every transaction for that bank's cards is failing across all merchants.

02

Merchant says: "A customer's card was declined but they have money in their account." You check POS_TRANSACTIONS — response code 57 (transaction not permitted). Card is not enabled for POS transactions — only ATM. Customer needs to enable POS usage in their bank app or CMS settings.

03

Merchant says: "Yesterday's sales are approved but money not in account." You check SETTLEMENT_BATCH — STATUS = FAILED. The settlement job crashed last night. This is not an authorization issue — the transactions are all approved. The settlement processing failed. Escalate to the batch processing team to rerun the settlement.

04

New merchant onboarded but their POS is declining all transactions with code 58. You check MERCHANT_MASTER — STATUS = PENDING_ACTIVATION. Merchant setup is incomplete. The acquiring team needs to activate the merchant account before the POS can process transactions.

✅ Week 4 · Day 5 Outcomes