Skip to main content
Dodo CLI आपके terminal से Dodo Payments संसाधनों को प्रबंधित करता है, अंतर्निहित AI assistant की मदद से आपके account से जुड़े प्रश्नों के उत्तर देता है, checkout sessions बनाता है और webhooks का परीक्षण करता है। इसका interactive TUI उपयोग करें या scripts से सीधे subcommands चलाएँ।

सुविधाएँ

  • Interactive TUI: बिना arguments के dodo चलाकर command palette, history और live notifications वाले interactive interface को खोलें।
  • Built-in AI assistant: /ai के साथ सामान्य English में प्रश्न पूछें या actions लें। Assistant स्थानीय रूप से dodopayments-mcp पर चलता है और इसके लिए किसी अतिरिक्त setup की आवश्यकता नहीं है।
  • Encrypted credentials: API keys को ~/.dodopayments/config.json में संग्रहीत किया जाता है और AES-256-GCM से encrypt किया जाता है। Encryption key आपकी machine से derive की जाती है। कोई भी plaintext credentials disk पर संग्रहीत नहीं होते।
  • Auto update: CLI startup पर नए versions की जाँच करता है और TUI में सूचना देता है। npm और Bun installs के लिए, वहीं upgrade करने हेतु /update चलाएँ।
  • Webhook tooling: Test Mode webhooks को अपने local server पर forward करें या mock webhook payloads को offline भेजें।
  • Scaffolding: dodo init के साथ Next.js, Express और Better Auth projects में billing routes जोड़ें।

Installation

macOS या Linux पर install script के साथ नवीनतम release binary install करें:
Script binary को release के SHA-256 checksums से verify करता है। यह dodo को /usr/local/bin, ~/.local/bin और ~/bin में से पहली writable directory में install करता है, या यदि इनमें से कोई भी writable न हो तो ~/.local/bin में install करता है। किसी specific release को install करने के लिए DODO_VERSION environment variable को उसके tag पर set करें। Directory चुनने के लिए DODO_INSTALL_DIR set करें।

NPM या Bun के साथ Install करें

यदि आपके पास Node.js या Bun है, तो dodopayments-cli package को globally install करें। Package manager installs नवीनतम published version प्राप्त करते हैं:
dodo login जैसे direct subcommands Node.js 18 या उसके बाद के versions पर चलते हैं। Package manager के माध्यम से install करने पर interactive TUI के लिए Bun भी आवश्यक है। Release binaries के लिए किसी runtime की आवश्यकता नहीं होती।

Manual Installation (Node / Bun के बिना)

Remote script चलाए बिना install करने के लिए binary को स्वयं download करें।
1

Download the Binary

नवीनतम GitHub Release से अपने platform के लिए binary download करें।
2

Rename the Binary to dodo

3

Move It to a Directory on Your PATH

Windows पर file को C:\Windows\System32 में move करने के लिए administrator privileges आवश्यक हैं।
4

(Optional) Verify the Download

प्रत्येक release में एक SHA256SUMS.txt file प्रकाशित होती है। इसे binary के पास download करें, फिर binary को verify करें:

Authentication

अपने account को पढ़ने या बदलने वाले commands चलाने से पहले API key से log in करें। Direct subcommand से log in करने के लिए key और उसका mode, test या live, pass करें:
या interactive TUI के भीतर से:
TUI login flow:
  1. आपके browser में dashboard का Developer → API Keys page खोलता है।
  2. आपको अपनी API key paste करने के लिए कहता है।
  3. आपको Test Mode या Live Mode चुनने के लिए कहता है।
दोनों commands API को request भेजकर key verify करते हैं, फिर उसे ~/.dodopayments/config.json में encrypted रूप से store करते हैं।
Encryption key आपकी machine से derive की जाती है, इसलिए stored credentials केवल उसी machine पर काम करते हैं। यदि आप v3.0.x से upgrade कर रहे हैं, जिसमें keys OS keychain में store होती थीं, तो dodo login फिर से चलाएँ। पुराने plaintext ~/.dodopayments/api-key file में मौजूद keys अपने-आप migrate हो जाती हैं और वह file delete कर दी जाती है।

Modes बदलना और Log Out करना

आप एक test mode key और एक live mode key को एक ही समय में logged in रख सकते हैं। TUI में active mode बदलने के लिए /switch चलाएँ। Stored keys हटाने के लिए:
Direct mode में test, live या all pass करें। TUI में /logout आपसे All accounts, Test Mode या Live Mode चुनने के लिए कहता है, फिर confirmation माँगता है।

उपयोग

आप CLI को दो modes में उपयोग कर सकते हैं।

1. Interactive TUI (अनुशंसित)

Interactive interface खोलने के लिए बिना arguments के dodo चलाएँ:
Command palette खोलने के लिए / टाइप करें। / से शुरू न होने वाला text AI assistant को भेजा जाता है।

2. Direct Subcommands

TUI खोले बिना command चलाएँ:
उदाहरण के लिए:
नीचे दी गई reference tables direct-mode form में प्रत्येक command को सूचीबद्ध करती हैं। TUI में dodo को / से बदलें, जैसे /payments list 1। TUI only चिह्नित commands interactive wizards हैं। Direct mode में वे ऐसा message print करते हैं जो आपको TUI खोलने के लिए कहता है।

AI Assistant

अपने account के बारे में प्रश्न पूछें या सामान्य English में actions लें। Assistant आपकी machine पर dodopayments-mcp चलाता है, इसलिए किसी अतिरिक्त setup या OAuth flow की आवश्यकता नहीं होती। यह आपकी machine से stored key का उपयोग करके Dodo Payments API को call करता है और आपके prompts को language model को भेजता है। Direct mode में dodo ai के बाद अपना प्रश्न चलाएँ। TUI में उदाहरण:
Assistant आपके active mode (test mode या live mode) का उपयोग करता है और केवल उसी mode के data के साथ काम करता है।

Project Scaffolding

dodo init किसी existing project में Dodo Payments billing routes जोड़ता है। यह route files लिखता है, matching @dodopayments/* adapter package install करता है और आपके .env file में missing DODO_PAYMENTS_* variables को placeholder values के साथ जोड़ता है। यह पहले से मौजूद files और variables को skip करता है और बिना log in किए चलता है।
Better-Auth scaffold के लिए generate किए जाने वाले plugins की comma-separated list pass कर सकते हैं: checkout, portal, usage और webhooks। List न देने पर सभी चार generate किए जाते हैं।
यदि आपके project में src/ directory है, तो scaffolder उसके अंदर files लिखता है। यह आपके project की lock file (bun, pnpm या yarn) से install command चुनता है और कोई lock file न मिलने पर npm का उपयोग करता है।

Command Reference

इन commands के लिए logged-in API key आवश्यक है। List commands एक optional page number लेते हैं, जिसका default 1 है, और प्रत्येक page पर अधिकतम 100 items दिखाते हैं।

Products

अपने product catalog को manage करें।

Payments

Payment transactions देखें।

Customers

अपने customers को manage करें।

Discounts

Discount codes manage करें।

Licenses

License keys देखें। Command की spelling licences है।

Addons

Product add-ons manage करें।

Refunds

Refund information देखें।

Checkout

Hosted checkout sessions बनाएँ।

Webhooks

CLI में development के लिए दो webhook tools हैं: एक listener, जो test mode webhooks को आपके local server पर forward करता है, और एक trigger, जो किसी भी endpoint पर mock webhook payloads भेजता है। Direct mode में arguments आवश्यक हैं। TUI में बिना arguments के /wh listen या /wh trigger चलाकर interactive wizard खोलें।

Webhooks के लिए Listen करें

अपने Dodo Payments account से webhooks को real time में अपने local development server पर forward करें।
dodo wh listen के लिए Test Mode API key आवश्यक है। Listen flow में Live Mode keys समर्थित नहीं हैं।
1

Enter Your Local Endpoint URL

वह local URL pass करें जिस पर webhooks प्राप्त होने चाहिए, उदाहरण के लिए http://localhost:3000/webhook। TUI wizard में CLI आपसे यह URL पूछता है।
2

Automatic Setup

यदि आपके account में CLI के relay server के लिए कोई webhook endpoint नहीं है, तो CLI एक endpoint बनाता है। Endpoint Developer → Webhooks में दिखाई देता है। इसके बाद CLI events प्राप्त करने के लिए relay से WebSocket connection खोलता है।
3

Receive and Forward

जब कोई webhook event fire होता है, जैसे test payment या subscription change से, तो CLI payload और headers को आपके local endpoint पर POST request के रूप में forward करता है। यह event type और आपके endpoint के response को log करता है और response को relay को वापस भेजता है।
Listener मूल webhook headers (webhook-id, webhook-signature, webhook-timestamp) को आपके local endpoint पर forward करते समय preserve करता है, ताकि आप अपनी signature verification logic का परीक्षण कर सकें।
फ़ॉरवर्ड करने से पहले relay और CLI JSON body को parse करके उसे फिर से serialize करते हैं। यदि फ़ॉरवर्ड की गई body मूल body से byte दर byte अलग होती है, उदाहरण के लिए number formatting में, तो headers सही होने के बावजूद signature verification विफल हो जाता है।

Test Webhooks Trigger करें

Real transactions बनाए बिना किसी भी endpoint पर mock webhook payload भेजें।
Triggered events signed नहीं होते: request में webhook-id, webhook-signature या webhook-timestamp header नहीं होता। Testing के दौरान इन्हें unwrap के बजाय unverified method (TypeScript में unsafeUnwrap, Python में unsafe_unwrap और Go में UnsafeUnwrap) से parse करें और live होने से पहले वापस unwrap पर switch करें।
Direct mode में payload placeholder IDs और customer details का उपयोग करता है। TUI में /wh trigger wizard आपको इन steps से guide करता है:
  1. Destination endpoint URL set करना।
  2. Payload के लिए वैकल्पिक रूप से Business ID, Product ID, Metadata (एक JSON object), Customer email और Customer ID दर्ज करना। खाली fields में placeholder values का उपयोग होता है।
  3. Interactive menu से भेजने के लिए कोई event चुनना। आप लगातार कई events भेज सकते हैं। समाप्त करने के लिए exit चुनें।
dodo wh trigger के लिए login आवश्यक नहीं है। यह एक local, offline webhook payload generator के रूप में काम करता है।

समर्थित Webhook Events

dodo wh trigger उन 48 event types में से 46 के लिए mock payloads भेज सकता है जिन्हें Dodo Payments deliver करता है। यह subscription.past_due या subscription.unpaused को support नहीं करता। Event name को ठीक वैसे ही pass करें जैसा सूची में दिया गया है: तीन trigger names उनके द्वारा भेजे जाने वाले payload में event type से अलग होते हैं: payment.success, payment.succeeded भेजता है; refund.success, refund.succeeded भेजता है; और licence.created, license_key.created भेजता है।
Mock payload shapes API reference में दिए गए संबंधित schemas का अनुसरण करते हैं। प्रत्येक event का अर्थ और production में Dodo Payments उसे कब emit करता है, यह जानने के लिए Webhook Events देखें।
payout.created तब emit होता है जब payout अभी भी not_initiated status report कर रहा होता है, इसलिए mock payload भी यही दर्शाता है। पूर्ण payout lifecycle के लिए Payout Events देखें।

Environment Variables

यह variable बदलता है कि dodo wh listen किस तरह connect करता है:

Updates

CLI startup पर नए version की जाँच करता है और version उपलब्ध होने पर status bar में notification दिखाता है। TUI से npm या Bun install को upgrade करने के लिए चलाएँ:
/update release binary को upgrade नहीं कर सकता। Binary installs, जिसमें install script वाले installs भी शामिल हैं, के लिए यह इसके बजाय नवीनतम GitHub release का link देता है। Shell से upgrade करने के लिए वह command फिर से चलाएँ जिससे आपने install किया था:

Resources

GitHub Repository

Source code और releases।

npm Package

npm registry पर dodopayments-cli package।

Support

अंतिम संशोधन 26 सितंबर 2026