Chuyển đến nội dung chính
BilgeQor

Dịch vụ Ứng dụng & Sản phẩm

Tích hợp API an toàn: Stripe, Shopify, Salesforce và webhook

Đọc 4 phút

Các tích hợp với những nền tảng như Stripe, Shopify và Salesforce thường là nơi dữ liệu và dòng tiền quan trọng đối với hoạt động kinh doanh di chuyển giữa các hệ thống. Đây cũng là nơi thường xuất hiện các lối tắt: một khóa API được dán vào mã front-end, một endpoint webhook chấp nhận mọi yêu cầu, hoặc một tác vụ đồng bộ âm thầm thất bại. Mỗi nhà cung cấp đều công bố hướng dẫn bảo mật chi tiết, nhưng mã tích hợp do đội ngũ của bạn viết vẫn thuộc trách nhiệm của bạn. Hướng dẫn này trình bày các biện pháp kiểm soát thực tế giúp tích hợp an toàn và đáng tin cậy hơn.

Đây là gì

Một tích hợp an toàn bảo vệ ba yếu tố: thông tin xác thực cấp quyền truy cập, dữ liệu di chuyển giữa các hệ thống và tính toàn vẹn của các sự kiện nghiệp vụ kích hoạt hành động. Thông tin xác thực bao gồm khóa API, token OAuth và client secret; chúng chỉ nên nằm ở phía máy chủ, trong một trình quản lý bí mật (secrets manager) hoặc cấu hình môi trường được bảo vệ, với quyền hạn hẹp nhất mà tích hợp cần. Dữ liệu khi truyền đi sử dụng HTTPS, và dữ liệu lưu trữ được giới hạn ở những gì doanh nghiệp thực sự cần lưu. Tính toàn vẹn của sự kiện phụ thuộc vào việc xác minh rằng các webhook đến thực sự xuất phát từ nhà cung cấp. Ví dụ, Stripe ký các sự kiện webhook bằng một signing secret và cung cấp một header chữ ký mà endpoint của bạn nên xác minh; Shopify ký webhook bằng một header HMAC; các tích hợp Salesforce thường dựa vào OAuth thông qua một connected app hoặc phiên bản mới hơn tương đương là external client app, với quyền hạn được giới hạn phạm vi. Độ tin cậy cũng quan trọng. Webhook có thể đến muộn, đến nhiều lần hoặc sai thứ tự, vì vậy các trình xử lý cần có tính idempotent (xử lý lặp lại không gây tác dụng trùng), và các lệnh gọi đi cần xử lý giới hạn tốc độ và thử lại mà không tạo trùng khoản thu, đơn hàng hoặc bản ghi. Stripe hỗ trợ idempotency key chính vì lý do này.

Dành cho ai

Hướng dẫn này dành cho:

  • Đội ngũ kết nối thanh toán, gói thuê bao hoặc luồng thanh toán đơn hàng với hệ thống của riêng mình
  • Doanh nghiệp thương mại điện tử đồng bộ đơn hàng, tồn kho hoặc khách hàng giữa Shopify và các nền tảng khác
  • Doanh nghiệp tích hợp dữ liệu CRM từ Salesforce với công cụ nội bộ hoặc cổng thông tin khách hàng
  • Chủ sở hữu sản phẩm đang rà soát công việc tích hợp do agency hoặc freelancer bàn giao

Giúp làm rõ điều gì

Thực hiện lần lượt các biện pháp kiểm soát giúp làm rõ:

  • Thông tin xác thực được lưu ở đâu, ai có thể truy cập và chúng được luân chuyển như thế nào
  • Endpoint webhook có xác minh chữ ký và từ chối các yêu cầu không có chữ ký hoặc bị phát lại hay không
  • Lỗi, việc thử lại và bản trùng được xử lý ra sao mà không làm hỏng dữ liệu
  • Dữ liệu nào được sao chép giữa các hệ thống, và liệu tất cả có thực sự cần thiết hay không

Những gì được bao gồm

  • Chỉ giữ khóa API bí mật ở phía máy chủ; sử dụng khóa publishable hoặc khóa công khai trên client khi nhà cung cấp hỗ trợ
  • Lưu bí mật trong trình quản lý bí mật hoặc cấu hình được bảo vệ, tuyệt đối không lưu trong kho mã nguồn
  • Yêu cầu phạm vi và quyền hạn hẹp nhất; sử dụng thông tin xác thực riêng cho từng môi trường
  • Luân chuyển thông tin xác thực theo lịch và ngay lập tức sau khi có thay đổi về nhân sự hoặc nhà cung cấp
  • Xác minh chữ ký webhook bằng phương pháp được nhà cung cấp mô tả trong tài liệu và từ chối các yêu cầu không đạt
  • Kiểm tra dấu thời gian của sự kiện để giảm rủi ro phát lại, và ghi lại ID của các sự kiện đã xử lý
  • Làm cho trình xử lý có tính idempotent để các sự kiện lặp lại không tạo ra hành động trùng
  • Sử dụng idempotency key hoặc biện pháp bảo vệ tương đương cho các thao tác tạo mới gửi đi khi được hỗ trợ
  • Xử lý giới hạn tốc độ bằng cơ chế lùi thời gian (backoff) và đưa công việc vào hàng đợi thay vì bỏ qua
  • Ghi log sự kiện tích hợp mà không ghi bí mật, dữ liệu thẻ hoặc dữ liệu cá nhân không cần thiết
  • Cảnh báo cho người phụ trách khi tác vụ đồng bộ hoặc webhook thất bại nhiều lần
  • Kiểm thử trong sandbox hoặc chế độ thử nghiệm của nhà cung cấp trước khi chuyển sang thông tin xác thực thật

Những gì không được bao gồm

  • Xác nhận tuân thủ PCI DSS hoặc phê duyệt của đơn vị xử lý thanh toán
  • Vận hành chống gian lận hoặc quản lý tranh chấp bồi hoàn (chargeback)
  • Khẳng định rằng tuân thủ các biện pháp kiểm soát này ngăn chặn được mọi sự cố tích hợp
  • Vận hành các nền tảng bên thứ ba, vốn vẫn thuộc trách nhiệm của nhà cung cấp

Khi nào nên chọn

Hãy sử dụng danh sách kiểm tra này khi thiết kế một tích hợp mới, trước khi đưa vào hoạt động chính thức, khi tiếp nhận mã tích hợp từ một đội ngũ khác và sau bất kỳ sự cố nào liên quan đến thanh toán trùng, đơn hàng bị thiếu hoặc truy cập dữ liệu ngoài dự kiến. Điều này đặc biệt quan trọng khi một tích hợp có thể kích hoạt các hành động tài chính như thu tiền, hoàn tiền hoặc thay đổi gói thuê bao, hoặc có thể làm lộ hồ sơ khách hàng.

Phương pháp của chúng tôi

Hãy coi mỗi tích hợp là một sản phẩm nhỏ có người phụ trách, tài liệu và cơ chế giám sát riêng. Bắt đầu bằng việc lập danh mục các tích hợp, thông tin xác thực và endpoint webhook; nhiều tổ chức phát hiện ra những khóa mà không ai nhớ đã tạo. Sau đó áp dụng các biện pháp kiểm soát nêu trên theo thứ tự rủi ro: bí mật và xác minh chữ ký trước, tiếp đến idempotency và xử lý lỗi, rồi đến ghi log và cảnh báo. Dịch vụ Secure Backend & API Engineering của chúng tôi thiết kế và thực hiện công việc backend và tích hợp kèm hợp đồng API (API contract), bản tóm tắt kiểm thử và sổ tay vận hành (runbook), trong đó quyền truy cập production và dữ liệu khách hàng chỉ được sử dụng khi có ủy quyền bằng văn bản rõ ràng. Khi có liên quan đến logic thanh toán và thuê bao, dịch vụ Subscription & Payment Infrastructure Security có thể rà soát riêng các luồng thanh toán và quyền sử dụng đã thống nhất. Nếu bạn muốn kiểm tra độc lập các endpoint tích hợp hiện có, một đánh giá bảo mật ứng dụng có thể đưa chúng vào phạm vi.

Secure Backend & API Engineering

Xem trang dịch vụ Secure Backend & API Engineering

Câu hỏi thường gặp

Bài viết liên quan

Bắt đầu

Quý doanh nghiệp đang lên kế hoạch hoặc rà soát một tích hợp quan trọng đối với hoạt động kinh doanh?

Hãy chia sẻ các nền tảng liên quan, dữ liệu và sự kiện di chuyển giữa chúng, cùng mọi vấn đề doanh nghiệp của bạn đã gặp. Chúng tôi sẽ đề xuất phạm vi bằng văn bản.

Yêu cầu phạm vi bằng văn bản