Chuyển đến nội dung chính
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ỳ:
billing yêu cầu ít nhất mã ISO hai chữ cái country. customer chấp nhận hoặc { customer_id: "..." } để đính kèm khách hàng hiện tại hoặc { email: "...", name: "..." } để tạo mới. product_price là ở mệnh giá tiền tệ thấp nhất.

Phân trang

Tự động phân trang

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

Phân trang thủ công

Để kiểm soát phân trang nhiều hơn:

Xử lý Lỗi

Xử lý các lỗi API Dodo Payments khác nhau:
Triển khai logic thử lại với backoff lũy tiến cho các lỗi giới hạn tốc độ để đảm bảo ứng dụng của bạn xử lý tốt các tình huống tải lớn.

An toàn loại với Sorbet

Sử dụng Sorbet cho các tham số yêu cầu an toàn-loại:

Sử dụng Nâng cao

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

Gửi yêu cầu tới các endpoint không được tài liệu hóa:

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

Gửi tham số 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 Đối tượng Dịch vụ

Tạo dịch vụ thanh toán:

Tích hợp Controller

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

Tích hợp Sinatra

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

Tài nguyên

GitHub Repository

Xem mã nguồn và đóng góp

API Reference

Hoàn thành tài liệu API

Discord Community

Nhận trợ giúp và kết nối với các nhà phát triển

Report Issues

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

Hỗ trợ

Cần trợ giúp với Ruby SDK?

Đóng góp

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