Skip to main content
SDK Ruby cung cấp một cách đơn giản và trực quan để tích hợp Dodo Payments vào các ứng dụng Ruby của bạn. Nó tuân theo các quy ước và thực tiễn tốt nhất của Ruby, cung cấp xử lý lỗi toàn diện, phân trang và hỗ trợ middleware.

Cài đặt

Thêm gem vào Gemfile của bạn:
Gemfile
Luôn sử dụng phiên bản SDK mới nhất để truy cập các tính năng mới nhất của Dodo Payments. Chạy bundle update dodopayments thường xuyên để luôn cập nhật.
Sau đó chạy:
SDK hỗ trợ Ruby 3.2.0 và các phiên bản mới hơn, với các kiểu toàn diện, xử lý lỗi và cơ chế thử lại.

Khởi động nhanh

Khởi tạo client và tạo một phiên giao dịch thanh toán:
Lưu trữ khóa API của bạn một cách an toàn bằng biến môi trường. Không bao giờ đưa chúng vào hệ thống kiểm soát phiên bản hoặc để lộ trong mã của bạn.

Tính năng chính

Ruby Conventions

Tuân theo quy ước đặt tên và các mẫu ngữ cảnh của Ruby

Elegant Syntax

API sạch, dễ đọc mang lại cảm giác tự nhiên cho các nhà phát triển Ruby

Auto-Pagination

Trình lặp phân trang tự động tích hợp cho các phản hồi danh sách

Type Safety

Các kiểu Sorbet tùy chọn để tăng cường tính an toàn kiểu

Cấu hình

Cấu hình thời gian chờ

Cấu hình thời gian chờ yêu cầu:

Cấu hình thử lại

Cấu hình hành vi thử lại tự động:

Các thao tác phổ biến

Tạo một phiên giao dịch thanh toán

Tạo một phiên giao dịch thanh toán:

Quản lý khách hàng

Tạo và truy xuất thông tin khách hàng:

Xử lý đăng ký

Tạo và quản lý các đăng ký định kỳ:
POST /subscriptions (phương thức subscriptions.create của SDK) đã deprecated. Phương thức này vẫn hoạt động đối với các integration hiện có, nhưng các integration mới nên tạo subscription thông qua Checkout Session.
billing yêu cầu tối thiểu mã ISO gồm hai chữ cái country. customer chấp nhận { customer_id: "..." } để liên kết với customer hiện có hoặc { email: "...", name: "..." } để tạo customer mới. product_price được tính theo mệnh giá thấp nhất của currency.

Phân trang

Phân trang tự động

Tự động lặp qua tất cả các trang:

Phân trang thủ công

Để kiểm soát việc phân trang tốt hơn:

Xử lý lỗi

Xử lý nhiều loại lỗi API của Dodo Payments:
Triển khai logic retry với exponential backoff cho các lỗi rate limit để đảm bảo ứng dụng của bạn xử lý các tình huống có lưu lượng lớn một cách ổn định.

Type Safety với Sorbet

Sử dụng Sorbet để đảm bảo type safety cho các request parameters:

Sử dụng nâng cao

Endpoints không được tài liệu hóa

Thực hiện request đến các endpoints không được tài liệu hóa:

Parameters không được tài liệu hóa

Gửi các parameters không được tài liệu hóa:

Tích hợp Rails

Tạo Initializer

Tạo config/initializers/dodo_payments.rb:

Mẫu Service Object

Tạo một payment service:

Tích hợp Controller

Sử dụng trong các Rails controller của bạn:

Tích hợp Sinatra

Sử dụng với các ứng dụng Sinatra:

Tài nguyên

GitHub Repository

Xem source code và đóng góp

API Reference

Tài liệu API đầy đủ

Discord Community

Nhận hỗ trợ và kết nối với các developer

Report Issues

Báo cáo bug hoặc yêu cầu tính năng

Hỗ trợ

Bạn cần trợ giúp về Ruby SDK?

Đóng góp

Chúng tôi hoan nghênh các đóng góp! Xem hướng dẫn đóng góp để bắt đầu.
Lần sửa đổi cuối 17 tháng 8, 2026