Lewati ke konten utama
menjadi.dev
Chapter 39.6 API & Auth Lanjutan

PCI Compliance & Security Basics

Apa yang wajib diketahui developer tentang keamanan data pembayaran

Tujuan Pembelajaran

  • Memahami level PCI DSS dan kewajiban merchant
  • Mengerti kenapa JANGAN PERNAH menyimpan nomor kartu kredit
  • Mampu menerapkan best practices: tokenization, encryption, audit trail

Analogi

Diagram

      PCI DSS = Standar Keamanan Restoran:

Level 4 (volume rendah):
→ Self-assessment. Pastikan dapur bersih, bahan tidak kadaluarsa.

Level 1 (volume tinggi, jutaan transaksi):
→ Audit eksternal wajib. Semua harus documented.

Rule paling penting:
JANGAN simpan nomor kartu kredit di server-mu.
Seperti restoran: jangan simpan fotokopi KTP pelanggan di meja kasir.
    

PCI DSS seperti standar keamanan restoran. Rule nomor 1: JANGAN simpan data kartu kredit di server-mu.

Penjelasan Konsep

PCI DSS (Payment Card Industry Data Security Standard) adalah standar keamanan untuk semua pihak yang memproses, menyimpan, atau mentransmisikan data kartu kredit.

Apa yang WAJIB diketahui developer: (1) JANGAN PERNAH simpan nomor kartu (PAN), CVV, expiry date di database-mu. Gunakan tokenization — PG menyimpan data kartu, kamu hanya menyimpan token. (2) JANGAN log request/response yang mengandung data kartu. (3) Gunakan HTTPS everywhere — tidak boleh ada HTTP untuk halaman checkout. (4) JANGAN kirim data kartu ke backend-mu untuk diteruskan ke PG — kirim langsung dari frontend ke PG (client-side encryption / iframe).

PCI DSS Levels: Level 1 (>6 juta transaksi/tahun) — audit on-site wajib. Level 2 (1-6 juta). Level 3 (20rb-1 juta). Level 4 (<20rb/tahun e-commerce) — self-assessment questionnaire.

How to minimize PCI scope: (1) Gunakan hosted payment page (Midtrans Snap, Stripe Checkout) — semua data kartu ditangani PG. (2) Gunakan iframe/tokenization — data kartu tidak pernah menyentuh server-mu. (3) JANGAN bangun custom payment form yang mengirim data kartu ke server-mu.

Audit trail: setiap aksi payment-admin (refund, manual capture) harus dilog — siapa, kapan, apa, dari IP mana.

Inti yang Perlu Dipahami

Bagian ini berfokus pada memahami level PCI DSS dan kewajiban merchant., mengerti kenapa JANGAN PERNAH menyimpan nomor kartu kredit., dan mampu menerapkan best practices: tokenization, encryption, audit trail. Jangan terburu-buru menghafal istilahnya. Lebih penting untuk memahami peran setiap konsep dan kapan konsep itu muncul dalam pekerjaan web development.

Saat membaca PCI Compliance & Security Basics, gunakan tujuan belajar sebagai penanda arah. Kalau kamu sudah bisa menjelaskan tujuan itu dengan kata-katamu sendiri, berarti fondasinya mulai terbentuk.

Cara Membayangkannya

PCI DSS seperti standar keamanan restoran. Rule nomor 1: JANGAN simpan data kartu kredit di server-mu. Analogi ini dipakai supaya konsep teknis tidak terasa melayang. Hubungkan setiap istilah dengan perannya: siapa yang meminta, siapa yang memproses, data apa yang berpindah, dan hasil apa yang diharapkan.

Kalau analoginya sudah terasa masuk akal, barulah lihat istilah teknisnya. Cara ini membuat materi lebih mudah dipahami daripada langsung menghafal definisi.

Konteks dalam Perjalanan Belajar

Setiap konsep di platform ini dipilih karena dipakai di industri. Fokus pada pemahaman, bukan hafalan.

Kamu sudah di bagian lanjutan. Mulai pikirkan bagaimana konsep ini dipakai di dunia kerja — bukan hanya untuk belajar, tapi untuk membangun produk nyata.

Gunakan pertanyaan reflektif dan prompt AI di akhir chapter sebagai latihan aktif. Membaca saja tidak cukup — kamu perlu menjelaskan ulang dengan kata-katamu sendiri.

Prompt AI

Audit aplikasi-mu: apakah ada data kartu yang tersimpan atau ter-log? Apakah halaman checkout menggunakan HTTPS? Apakah kamu minimize PCI scope dengan tokenization?

Pertanyaan Reflektif

PCI compliance bukan cuma untuk perusahaan besar. Kalau kamu simpan 1 nomor kartu kredit di database dan terjadi breach — itu sama seriusnya dengan perusahaan yang simpan jutaan.