
Chào anh em đồng dâm thợ code. Hôm nay lướt HN (Hacker News) thấy quả tin khá thú vị: hệ thống của chính phủ Anh Quốc (Gov.uk) vừa chính thức "đá đít" Stripe để lên thuyền với Adyen - một pháp sư thanh toán đến từ Hà Lan.
Anh em nào làm mảng e-commerce hay SaaS chắc đ*o lạ gì hai cái tên sừng sỏ này. Nhưng tại sao một hệ thống chính phủ lại quay xe đổi core payment? Cùng mổ xẻ tí nhé.
Nói tóm tắt cho anh em lười đọc, Gov.uk Pay là cái cổng thanh toán xịn xò con bò của chính phủ Anh, chuyên dùng để thu đủ thứ tiền từ người dân (từ phí làm passport, nộp phạt giao thông đến tiền thuế). Từ trước đến nay, họ dùng Stripe làm engine chìm bên dưới để xử lý dòng tiền.
Nhưng đùng một cái, báo chí đưa tin họ quyết định chuyển nhà sang Adyen. Stripe chính thức bị cho ra rìa sau bao năm cày cuốc gánh vác các giao dịch của người dân Anh.
Lý do thật sự là gì? Mặc dù các cốp lớn nói mấy câu xã giao về "tầm nhìn tương lai" hay "chuyển đổi số", nhưng anh em trong ngành đều thừa hiểu: 99% các vụ chính phủ đổi nhà cung cấp ở quy mô này là bài toán tối ưu chi phí. Adyen nổi tiếng với khả năng deal phí cực gắt nếu volume giao dịch ở tầm vĩ mô. Thêm nữa, Adyen ôm trọn gói từ acquiring đến gateway, bỏ qua được vài lớp trung gian, giúp tiết kiệm một mớ tiền thuế của dân.
Dù bài post không có quá nhiều comment combat nảy lửa, nhưng lướt qua các diễn đàn công nghệ, giang cư mận đã chia thành vài luồng ý kiến rõ rệt:
Bỏ qua chuyện chính trị hay tiền bạc, nhìn từ góc độ kỹ thuật, vendor lock-in luôn là cái bẫy chết người. Việc Gov.uk đổi được từ Stripe sang Adyen (dù có đau thương) chứng tỏ kiến trúc hệ thống của họ trên các máy chủ được thiết kế khá decouple. Đổi gateway không đến mức sập server toàn tập.
Bài học sinh tồn cho anh em đây: Lúc code integrate payment, đừng bao giờ hardcode thẳng cái SDK của thằng Stripe hay PayPal vào mọi ngóc ngách của core business logic. Viết một cái Adapter hay Interface ở giữa đi các đạo hữu. Lỡ một ngày đẹp trời sếp vỗ vai bảo: "Em ơi, tháng sau mình chuyển sang xài VNPay hay MoMo cho rẻ nhé", thì anh em chỉ việc code thêm một module mới mà cắm vào, chứ không phải đi hotfix từng dòng code rồi toang mẹ cả database.
Giữ cho code lỏng lẻo với bên thứ 3 chính là cách anh em tự bảo vệ bát cơm và giữ gìn giấc ngủ cuối tuần của mình đấy!
Nguồn tham khảo:
Chính phủ Anh (Gov.uk) chính thức chia tay Stripe để chuyển sang cổng thanh toán Adyen. Cùng hóng lý do quay xe và rút ra bài học xương máu về thiết kế hệ thống cho dev.