Tích hợp Dodo Payments vào các ứng dụng TypeScript và Node.js của bạn với tính an toàn kiểu và hỗ trợ async/await hiện đại
SDK TypeScript cung cấp quyền truy cập thuận tiện từ phía máy chủ vào API REST Dodo Payments cho các ứng dụng TypeScript và JavaScript. Nó có các định nghĩa kiểu toàn diện, xử lý lỗi, thử lại, thời gian chờ và phân trang tự động để xử lý thanh toán liền mạch.
Khởi tạo client với khóa API của bạn và bắt đầu xử lý thanh toán:
Sao chép
import DodoPayments from 'dodopayments';const client = new DodoPayments({ bearerToken: process.env['DODO_PAYMENTS_API_KEY'], // This is the default and can be omitted environment: 'test_mode', // defaults to 'live_mode'});const checkoutSessionResponse = await client.checkoutSessions.create({ product_cart: [{ product_id: 'product_id', quantity: 1 }],});console.log(checkoutSessionResponse.session_id);
Luôn lưu trữ các khóa API của bạn một cách an toàn bằng cách sử dụng biến môi trường. Không bao giờ cam kết chúng vào kiểm soát phiên bản hoặc tiết lộ chúng trong mã phía client.
Các sự kiện phải có các giá trị event_id duy nhất để đảm bảo tính idempotency. Các ID trùng lặp trong cùng một yêu cầu sẽ bị từ chối, và các yêu cầu tiếp theo với các ID đã tồn tại sẽ bị bỏ qua.
// Get a specific eventconst event = await client.usageEvents.retrieve('api_call_12345');// List events with filteringconst events = await client.usageEvents.list({ customer_id: 'cus_abc123', event_name: 'api_request', start: '2024-01-14T10:30:00Z', end: '2024-01-15T10:30:00Z'});
import DodoPayments from 'dodopayments';import * as undici from 'undici';const proxyAgent = new undici.ProxyAgent('http://localhost:8888');const client = new DodoPayments({ fetchOptions: { dispatcher: proxyAgent, },});
Kiểm soát độ chi tiết của log bằng cách sử dụng biến môi trường hoặc tùy chọn client:
Sao chép
// Via client optionconst client = new DodoPayments({ logLevel: 'debug', // Show all log messages});
Sao chép
# Via environment variableexport DODO_PAYMENTS_LOG=debug
Các mức log có sẵn:
'debug' - Hiển thị thông điệp gỡ lỗi, thông tin, cảnh báo và lỗi
'info' - Hiển thị thông điệp thông tin, cảnh báo và lỗi
'warn' - Hiển thị cảnh báo và lỗi (mặc định)
'error' - Chỉ hiển thị lỗi
'off' - Vô hiệu hóa tất cả ghi log
Ở mức gỡ lỗi, tất cả các yêu cầu và phản hồi HTTP đều được ghi lại, bao gồm cả tiêu đề và nội dung. Một số tiêu đề xác thực sẽ bị ẩn, nhưng dữ liệu nhạy cảm trong nội dung có thể vẫn hiển thị.