Integrasikan Dodo Payments ke dalam aplikasi TypeScript dan Node.js Anda dengan keamanan tipe dan dukungan async/await modern
SDK TypeScript menyediakan akses server-side yang nyaman ke Dodo Payments REST API untuk aplikasi TypeScript dan JavaScript. Ini memiliki definisi tipe yang komprehensif, penanganan kesalahan, pengulangan, batas waktu, dan auto-pagination untuk pemrosesan pembayaran yang mulus.
Inisialisasi klien dengan kunci API Anda dan mulai memproses pembayaran:
Salin
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);
Selalu simpan kunci API Anda dengan aman menggunakan variabel lingkungan. Jangan pernah mengkomitnya ke kontrol versi atau mengeksposnya dalam kode sisi klien.
Acara harus memiliki nilai event_id yang unik untuk idempotensi. ID duplikat dalam permintaan yang sama ditolak, dan permintaan berikutnya dengan ID yang ada diabaikan.
// 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, },});
Kontrol tingkat verbosity log menggunakan variabel lingkungan atau opsi klien:
Salin
// Via client optionconst client = new DodoPayments({ logLevel: 'debug', // Show all log messages});
Salin
# Via environment variableexport DODO_PAYMENTS_LOG=debug
Tingkat log yang tersedia:
'debug' - Tampilkan pesan debug, info, peringatan, dan kesalahan
'info' - Tampilkan pesan info, peringatan, dan kesalahan
'warn' - Tampilkan peringatan dan kesalahan (default)
'error' - Tampilkan hanya kesalahan
'off' - Nonaktifkan semua logging
Pada tingkat debug, semua permintaan dan respons HTTP dicatat, termasuk header dan tubuh. Beberapa header otentikasi disunting, tetapi data sensitif dalam tubuh mungkin masih terlihat.