Codex · III

API का उपयोग

इसे बाय बटन के बिना इस्तेमाल करें

बाय बटन एक सुविधा की परत है। नीचे, Coin Moebius एक किराए का वेबहुक और कुछ JSON एंडपॉइंट है। अगर आप अपना खुद का UI बनाना पसंद करें, अपना खुद का चेकआउट प्रवाह चलाएं, या Coin Moebius को किसी ऐसी चीज़ में जोड़ें जिसे बटन संभाल नहीं सकता (Square या Authorize.Net सब्सक्रिप्शन, एक कस्टम पेमेंट फ़ॉर्म, एक सर्वर-साइड स्क्रिप्ट, एक मोबाइल ऐप), तो बटन जो भी एंडपॉइंट इस्तेमाल करता है वह किसी से भी कॉल किया जा सकता है। हमारी तरफ कोई कोड बदलाव नहीं।

बैकएंड कॉल प्रमाणित करना

जो कॉल आप अपने खुद के सर्वर से करते हैं वे आपके प्रोजेक्ट की API कुंजी को एक bearer token के रूप में ले जा सकती हैं। डैशबोर्ड में, अपने प्रोजेक्ट की API कुंजियों के तहत एक कुंजी बनाएं (यह cmk_ से शुरू होती है), और इसे Authorization हेडर में भेजें:

Authorization: Bearer cmk_live_xxxxxxxxxxxxxxxxxxxxxxxx

कुंजी एक प्रोजेक्ट से बंधी होती है, और प्रमाणित कॉल गुमनाम कॉल से ऊंची रेट सीमा पाते हैं। बाय बटन स्वयं सार्वजनिक है और इसे किसी कुंजी की ज़रूरत नहीं। अपनी कुंजी अपने सर्वर पर रखें। इसे कभी ब्राउज़र या अन्य क्लाइंट-साइड कोड में न डालें।

ये सभी एंडपॉइंट आपके प्रोजेक्ट URL के तहत रहते हैं। उत्पादन में वह आधार है https://api.coinmoebius.com। हर एक के लिए पूरा URL नीचे दिखाया गया है ({…} हिस्सों को अपने खुद के मानों से बदलें)।

एंडपॉइंटयह क्या करता है
POST https://api.coinmoebius.com/api/checkout/{provider}/{projectId}एक चेकआउट शुरू करें। POST { productId, metadata }; बदले में वह पाएं जो प्रोवाइडर को चाहिए (Stripe के लिए एक redirect URL, PayPal के लिए एक approval URL, Authorize.Net Accept Hosted के लिए एक token)। इसे जैसे चाहें रेंडर करें।
POST https://api.coinmoebius.com/webhook/{provider}/{projectId}प्रोवाइडर यहां पोस्ट करता है। हम सिग्नेचर सत्यापित करते हैं, इवेंट सामान्यीकृत करते हैं, इसे संग्रहित करते हैं, कोटा गिनते हैं। प्रोवाइडर के वेबहुक को इस URL पर इंगित करें चाहे मूल चेकआउट हमारे बटन से आया हो या आपके अपने इंटीग्रेशन से।
GET https://api.coinmoebius.com/status/{projectId}/{txId}किसी भुगतान या सब्सक्रिप्शन की वर्तमान स्थिति के लिए पोल करें। वही सामान्यीकृत आकार लौटाता है जो बाय बटन को मिलता है।
POST https://api.coinmoebius.com/api/subscriptions/{projectId}/{subscriptionId}/portal-urlखरीदार के अपनी सब्सक्रिप्शन प्रबंधित करने के लिए एक प्रोवाइडर-होस्टेड पोर्टल URL उत्पन्न करें। किसी भी प्रोवाइडर के लिए काम करता है जिसके पास एक पोर्टल है।

चेकआउट कॉल पर metadata.customerRef पास करके अपने खुद के सिस्टम में खरीदार की पहचान करें। यह प्रोवाइडर के ज़रिए और हर वेबहुक इवेंट पर वापस पहुंचता है, इसलिए आप Coin Moebius के रिकॉर्ड को अपने खुद के उपयोगकर्ता डेटाबेस से जोड़ सकते हैं बिना हमारे खरीदार के बारे में कुछ संग्रहित किए।

कोई इस रास्ते का उपयोग क्यों करता है: एक स्टैटिक-साइट निर्माता जो अपनी साइट के डिज़ाइन से मेल खाने के लिए अपना खुद का बटन लिखना चाहता है और बस वेबहुक संभाला हुआ चाहता है। एक डेवलपर जो बटन को पूरी तरह छोड़कर अपने खुद के सर्वर से API कॉल करना चाहता है। एक व्यापारी जो Square या Authorize.Net सब्सक्रिप्शन चलाना चाहता है और कार्ड संग्रहण खुद जोड़ने में सहज है। बटन एक शुरुआती बिंदु है। API असली उत्पाद है।

खरीदार इवेंट सुनना

एलिमेंट तीन ब्राउज़र इवेंट चलाता है। एलिमेंट पर (या document पर, इवेंट bubble होते हैं) addEventListener के साथ सुनें। सभी इवेंट cancelable हैं, event.preventDefault() कॉल करने से डिफ़ॉल्ट प्रवाह रुक जाता है।

इवेंटयह कब चलता हैDetail payload
cm-load-providersपिकर मॉडल इस प्रोजेक्ट पर कॉन्फ़िगर किए प्रोवाइडरों की सूची के लिए API से पूछने वाला है।खाली।
cm-checkout-startedखरीदार ने एक प्रोवाइडर चुना और Coin Moebius एक चेकआउट सेशन बनाने वाला है (Stripe / NOWPayments) या एक संदर्भ कोड उत्पन्न करने वाला है (manual)।{ provider: 'stripe' | 'nowpayments' | 'manual', ... }
cm-errorकुछ विफल हुआ: नेटवर्क त्रुटि, सिग्नेचर विफलता, कोई प्रोवाइडर कॉन्फ़िगर नहीं।{ error: Error }
document.addEventListener('cm-error', (event) => {
  console.error('Coin Moebius:', event.detail.error);
  // Show your own error UI, send to your analytics, etc.
});

खरीदार के ब्राउज़र में कोई cm-success इवेंट नहीं है। जब तक भुगतान असल में पूरा होता है, तब तक खरीदार को पेमेंट प्रोवाइडर के होस्टेड चेकआउट (Stripe Checkout, NOWPayments इनवॉइस पेज) पर रीडायरेक्ट किया जा चुका होता है। वे आपके कॉन्फ़िगर किए success_url के ज़रिए आपकी साइट पर लौटते हैं (अगला अनुभाग देखें), और आपका सर्वर भुगतान के बारे में डैशबोर्ड के ज़रिए या /status एंडपॉइंट को पोल करके जानता है।

अपने बैकएंड से पोलिंग

सर्वर-साइड सच के स्रोत के लिए, अपने बैकएंड से GET /status/:projectId/:txId पोल करें। प्रतिक्रिया का आकार:

{
  "status": "succeeded",
  "amount": 29.99,
  "currency": "USD",
  "isTest": false,
  "createdAt": "2026-05-14T01:04:21.000Z",
  "updatedAt": "2026-05-14T01:04:21.000Z"
}

स्थिति मान डैशबोर्ड जैसे ही enum का अनुसरण करते हैं (लेन-देन स्थितियां देखें)। एंडपॉइंट अप्रमाणित है पर प्रति IP 60 अनुरोध / मिनट तक रेट-लिमिटेड है। आप जो लेन-देन id पास करते हैं वह वही है जो SDK ने cm-checkout-started इवेंट में लौटाया या जो डैशबोर्ड के Reference कॉलम में दिखाया गया है।

एक सामान्य पैटर्न: जब आपका success_url पेज लोड होता है, तो एक बैकएंड जॉब शुरू करें जो हर 15 सेकंड में /status/:projectId/:txId पोल करता है जब तक यह succeeded (या failed / एक timeout) नहीं देखता, फिर ऑर्डर पूरा करें।

इसे जोड़ने के लिए तैयार हैं?

फ्री टियर ज़्यादातर साइटों को कवर करता है और कभी कार्ड नहीं मांगता।