विशेषताएँ
- License Key Validation: Dodo Payments API के विरुद्ध license keys को validate करता है।
- License Key Activation: activation limit वाली keys के लिए, instance name के साथ license keys को activate करता है।
- Environment Support: test mode और live mode दोनों के लिए configurable।
- TypeScript Support: error handling के साथ पूरी तरह typed implementation।
प्रारंभ करना
शुरू करने से पहले, आपके पास Figma desktop app और license keys जारी करने वाला Dodo Payments product होना चाहिए।1
Create Base Plugin
Figma’s plugin quickstart guide की सहायता से अपना Figma plugin project बनाएँ। Figma एक scaffold generate करता है, जिसमें
manifest.json file शामिल होती है।2
Clone the Example Implementation
dodopayments-figma repository को clone करें:Cloned
manifest.json में, name और id को अपने generated plugin की manifest.json से प्राप्त values से replace करें। यह example integration के लिए आपका starting point है।3
Install Dependencies
Project root में चलाएँ:
4
Configure Environment
src/ui/api.ts में API_MODE set करें:API_MODE API host चुनता है: test_mode के लिए https://test.dodopayments.com, या live_mode के लिए https://live.dodopayments.com।5
Customize Components
अपनी आवश्यकताओं के अनुसार
src/ui/components/ में plugin components को customize करें:- Valid license keys वाले users के लिए functionality expose करने हेतु
Authenticated.tsxको update करें। - अपने design से match करने के लिए
LicenseKeyInput.tsxको customize करें।
Authenticated.tsx में आप अपने plugin की premium सुविधाएँ जोड़ते हैं। Plugin इसे केवल license key के validate या activate होने के बाद दिखाता है।Configuration
1
Configure Network Access
यह उदाहरण हर license key request को
https://dodo-payments-proxy.aagarwal9782.workers.dev पर मौजूद CORS proxy के माध्यम से भेजता है, और इसका manifest.json केवल उस proxy तक network access की अनुमति देता है। Proxy उपलब्ध नहीं है, इसलिए Dodo Payments API को सीधे call करें। API किसी भी origin से आने वाली cross-origin requests स्वीकार करता है, जिसमें plugin UI का null origin भी शामिल है।अपने manifest.json में proxy domain को Dodo Payments API hosts से बदलें:src/ui/api.ts में, fetch(proxyReq) को fetch(req) से validateLicenseKey और activateLicenseKey में बदलें, ताकि हर request सीधे API पर जाए।इससे plugin Dodo Payments API के साथ license keys को validate और activate कर सकता है।2
Configure API Mode
src/ui/api.ts में API mode configure करें:Development
1
Import Plugin
Figma desktop app में plugin import करें:
- कोई design file खोलें।
- Figma menu खोलें और Plugins चुनें।
- Development के अंतर्गत Import new plugin from manifest… चुनें, फिर project root में मौजूद
manifest.jsonfile चुनें।
dist/ में मौजूद built files से plugin load करता है, इसलिए plugin चलाने से पहले development server शुरू करें या npm run build चलाएँ।Plugins को locally develop और test करने के लिए Figma desktop app आवश्यक है, क्योंकि Figma plugin code को local files से पढ़ता है।
2
Start Development Server
Source code में बदलाव करने पर आपका plugin अपने-आप rebuild हो जाता है।
Build Commands
Project में ये npm scripts शामिल हैं:License Key Integration
Example implementation plugin को unlock करने से पहले license key की जाँच करता है। आप हर step को customize कर सकते हैं:- User Input: Users plugin UI में अपनी license key enter करते हैं।
- Validation: Default रूप से, plugin Validate License (
POST /licenses/validate) के साथ key को validate करता है। - Activation: यदि आपकी license keys में activation limit है, तो
src/ui/components/Unauthenticated.tsxमेंneedsActivationकोtrueपर set करें। इसके बाद plugin key को validate करने के बजाय Activate License (POST /licenses/activate) के साथ activate करता है और instance का नामFigma Pluginरखता है। - Access Control: Valid key के लिए, plugin key को
figma.clientStorageके साथ save करता है औरAuthenticated.tsxदिखाता है। अगली बार plugin खुलने पर यह saved key को फिर से validate करता है।
Publishing
जब आपका plugin तैयार हो जाए:- Production के लिए build करें:
npm run build - Test mode और live mode दोनों में पूरी तरह testing करें।
- Figma’s plugin publishing guidelines का पालन करें।
- Figma Community के माध्यम से plugin को review के लिए submit करें।