اسے خرید بٹن کے بغیر استعمال کریں
خرید بٹن سہولت کی ایک پرت ہے۔ نیچے، Coin Moebius ایک کرائے کا ویب ہک اور چند JSON اینڈ پوائنٹس ہے۔ اگر آپ اپنا UI بنانا، اپنا چیک آؤٹ فلو چلانا، یا Coin Moebius کو کسی ایسی چیز میں لگانا چاہیں جسے بٹن نہیں سنبھال سکتا (Square یا Authorize.Net سبسکرپشنز، ایک حسبِ ضرورت ادائیگی فارم، ایک سرور سائڈ اسکرپٹ، ایک موبائل ایپ)، تو ہر وہ اینڈ پوائنٹ جو بٹن استعمال کرتا ہے کسی بھی چیز سے کال کیا جا سکتا ہے۔ ہماری طرف کوئی کوڈ تبدیلی نہیں۔
بیک اینڈ کالز کی تصدیق
آپ اپنے سرور سے جو کالز کرتے ہیں وہ آپ کے پروجیکٹ کی API key کو bearer token کے طور پر لے جا سکتی ہیں۔ ڈیش بورڈ میں، اپنے پروجیکٹ کی API keys کے تحت ایک key بنائیں (یہ cmk_ سے شروع ہوتی ہے)، اور اسے Authorization ہیڈر میں بھیجیں:
Authorization: Bearer cmk_live_xxxxxxxxxxxxxxxxxxxxxxxxkey ایک پروجیکٹ سے بندھی ہے، اور تصدیق شدہ کالز کو گمنام کالز سے زیادہ ریٹ لمٹ ملتی ہے۔ خود خرید بٹن عوامی ہے اور کسی key کی ضرورت نہیں۔ اپنی key اپنے سرور پر رکھیں۔ اسے کبھی براؤزر یا دیگر کلائنٹ سائڈ کوڈ میں نہ ڈالیں۔
یہ سب اینڈ پوائنٹس آپ کے پروجیکٹ URL کے تحت رہتے ہیں۔ پروڈکشن میں وہ بنیاد ہے https://api.coinmoebius.com۔ ہر ایک کا مکمل URL نیچے دکھایا گیا ہے ({…} حصوں کو اپنی قدروں سے بدلیں)۔
| اینڈ پوائنٹ | یہ کیا کرتا ہے |
|---|---|
POST https://api.coinmoebius.com/api/checkout/{provider}/{projectId} | ایک چیک آؤٹ شروع کریں۔ POST { productId, metadata }؛ واپس وہی پائیں جو فراہم کنندہ کو چاہیے (Stripe کے لیے ایک redirect URL، PayPal کے لیے ایک منظوری 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 اصل پروڈکٹ ہے۔
خریدار ایونٹس سننا
element تین براؤزر ایونٹس چلاتا ہے۔ element پر addEventListener کے ساتھ سنیں (یا document پر، ایونٹس bubble کرتے ہیں)۔ تمام ایونٹس قابلِ منسوخ ہیں، event.preventDefault() کال کرنا ڈیفالٹ فلو روک دیتا ہے۔
| ایونٹ | یہ کب چلتا ہے | تفصیل پے لوڈ |
|---|---|---|
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 / ایک ٹائم آؤٹ) نہ دیکھے، پھر آرڈر پورا کریں۔