# Payment Switching

Secara sederhana, Payment Switching adalah "Router" Jaringan Finansial.

Jika Payment Gateway adalah "Pintu Gerbang" yang menghubungkan *Merchant* ke *sistem pembayaran*, maka Payment Switching adalah "Jaringan Jalan Tol" yang menghubungkan *antar Bank* dan *antar Institusi Finansial*.

***

#### 1. Definisi dan Analogi

* Payment Switching (Switch) adalah sistem *backend* yang bertugas menerima, memvalidasi, dan me-routing (meneruskan) pesan transaksi finansial dari satu institusi ke institusi lainnya.<sup>2</sup>
* Anologi Terbaik: Anggap Bank BCA, Bank Mandiri, dan Bank BRI adalah tiga "gedung" (jaringan lokal/LAN) yang berbeda.
  * Payment Gateway: Adalah "lobi" atau "resepsionis" di *satu gedung* (misal: di gedung BCA) yang melayani merchant-merchant yang mau masuk ke gedung itu.
  * Payment Switching: Adalah "jaringan fiber optic" atau "Internet Service Provider (ISP)" yang memasang pipa koneksi *antar* ketiga gedung tersebut, sehingga orang di gedung BCA bisa mengirim pesan ke orang di gedung BRI.

#### 2. Masalah yang Dipecahkan

Bayangkan tidak ada switching.

Jika ATM BCA ingin bisa dipakai oleh nasabah Bank Mandiri, maka BCA harus membangun satu koneksi API/jaringan langsung ke Bank Mandiri.

Sekarang, jika ATM BCA ingin juga bisa dipakai nasabah BRI, BNI, dan 50 bank lainnya, BCA harus membangun 50 koneksi berbeda. Ini mimpi buruk secara teknis dan operasional.

Solusinya: Semua bank (BCA, Mandiri, BRI, BNI...) cukup terhubung satu kali ke satu Switch sentral. Switch inilah yang akan mengatur "lalu lintas" pesan antar mereka.

#### 3. Siapa Pelaku Payment Switching?

1. Jaringan Internasional (Global): Visa dan Mastercard. Mereka adalah *switch* raksasa yang menghubungkan bank-bank di seluruh dunia.
2. Jaringan Nasional (Indonesia): Di Indonesia, kita punya GPN (Gerbang Pembayaran Nasional).<sup>3</sup> GPN bukanlah satu perusahaan, melainkan sebuah *sistem* yang dijalankan oleh beberapa perusahaan *switching* berizin BI, seperti:
   * Artajasa (Jaringan ATM Bersama)<sup>4</sup>
   * Rintis Sejahtera (Jaringan PRIMA, ini yang banyak dipakai BCA)<sup>5</sup>
   * Jalin (Jaringan Link, milik Himbara/BUMN)<sup>6</sup>
   * Alto
3. Switch Internal: Bank besar atau Payment Gateway besar terkadang membangun "mini-switch" internal mereka sendiri untuk me-routing transaksi di dalam ekosistem mereka sebelum melemparnya ke jaringan eksternal.

***

#### 4. Alur Teknis: Contoh Tarik Tunai di ATM Berbeda

Ini adalah contoh klasik untuk memahami *switching*.

Skenario: Anda (Nasabah Bank BRI) menarik uang tunai di mesin ATM milik Bank BCA.

* Bank Penerbit (Issuer): Bank BRI (yang menerbitkan kartu Anda).
* Bank Pemroses (Acquirer): Bank BCA (yang memiliki mesin ATM).
* Switch: Jaringan PRIMA/GPN.

Berikut alur pesan transaksinya (dalam hitungan < 3 detik):

1. ATM BCA (Acquirer): Anda memasukkan kartu BRI. ATM membaca data kartu dan mengenali, "Oh, ini kartu Bank BRI, bukan kartu saya."
2. ATM BCA -> Switch: ATM BCA *tidak* mengirim pesan langsung ke BRI. Ia mengirim pesan transaksi ke Switch (PRIMA).
   * Pesan (Format ISO 8583): `[Financial Transaction Request]: "Kartu 12345 (BRI), di ATM 9876 (BCA), minta tarik tunai Rp 500.000, PIN terenkripsi: XYZ"`
3. Switch (PRIMA):
   * Switch menerima pesan dari BCA.
   * Ia melihat nomor kartu (BIN) `12345` dan langsung tahu, "Ini adalah kartu Bank BRI."
   * Switch me-routing (meneruskan) pesan ini ke tujuan yang tepat, yaitu ke Core Banking System (CBS) Bank BRI.
4. Core Banking BRI (Issuer):
   * CBS BRI menerima pesan dari Switch.
   * Ia melakukan validasi internal: "Apakah kartu `12345` valid? Apakah PIN `XYZ` benar? Apakah saldonya cukup untuk Rp 500.000?"
   * Misalkan semua valid, CBS BRI mendebet saldo Anda Rp 500.000 (plus biaya admin).
5. Core Banking BRI -> Switch: CBS BRI mengirim pesan balasan ke Switch (PRIMA).
   * Pesan Balasan (ISO 8583): `[Response]: "Kode 00: Approved (Disetujui)"`
6. Switch (PRIMA) -> ATM BCA: Switch menerima balasan "Approved" dari BRI dan langsung me-routing balasan itu kembali ke pengirim awal, yaitu ATM BCA.
7. ATM BCA (Acquirer): ATM BCA menerima pesan "Approved". Mesin pun mengeluarkan uang Rp 500.000 dan mencetak struk.

Transaksi selesai di mata Anda.

(Di Balik Layar - Settlement): Di akhir hari, Switch akan membuat laporan rekonsiliasi. "Hari ini Bank BCA (Acquirer) telah 'menalangi' uang tunai Rp 500.000 untuk nasabah Bank BRI (Issuer). Maka, Bank BRI harus mentransfer Rp 500.000 ke Bank BCA." Proses ini disebut Inter-bank Settlement.

***

#### Perbedaan Kunci: Payment Gateway vs. Payment Switching

Ini adalah pertanyaan wawancara yang sangat umum.

| **Fitur**       | **Payment Gateway (PG)**                              | **Payment Switching (Switch)**                       |
| --------------- | ----------------------------------------------------- | ---------------------------------------------------- |
| Fokus Utama     | Agregasi Metode Pembayaran                            | Routing Transaksi                                    |
| Pengguna        | Merchant (Toko online, UKM)                           | Institusi Keuangan (Bank, PJP)                       |
| Arah Koneksi    | *Satu ke Banyak* (1 Merchant ke banyak Bank/E-wallet) | *Banyak ke Banyak* (Bank A ke Bank B, PJP ke Bank C) |
| Protokol/Bahasa | API Modern (REST, JSON, gRPC)                         | Protokol Finansial (Mayoritas ISO 8583)              |
| Analogi         | API Gateway / Lobi Mal                                | Core Router / ISP / Jalan Tol                        |

#### Teknologi di Balik Payment Switching

Sebagai engineer, Anda akan tertarik dengan ini. Sistem *switching* adalah salah satu sistem *backend* paling *high-performance* di dunia.

1. Bahasa: Sangat umum menggunakan Go (Golang), Java, atau C++. Go sangat populer belakangan ini karena *concurrency*-nya yang ringan dan performa jaringan yang cepat, ideal untuk *router* I/O.
2. Protokol: Wajib bisa mem-parsing ISO 8583. Ini adalah format pesan biner (bukan JSON/XML) yang sangat ringkas dan standar di dunia perbankan/kartu kredit.
3. Tuntutan Sistem:
   * Low Latency: Transaksi harus selesai dalam milidetik.
   * High Throughput: Mampu menangani ribuan transaksi per detik (TPS).
   * High Availability (HA): Tidak boleh mati. *Uptime* harus 99.99% atau lebih.
   * Security: Enkripsi PIN harus sangat kuat, seringkali menggunakan HSM (Hardware Security Module).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://lab-sammi.gitbook.io/me/payment-switching.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
