آپ کو کیا درکار ہے
| فیلڈ | یہ کیا کرتا ہے |
|---|---|
| Client ID | API کالز پر آپ کی PayPal ایپ کی شناخت کرتی ہے۔ secret کے ساتھ جوڑی جاتی ہے۔ |
| Client secret | API توثیق کا خفیہ نصف۔ Client ID کے ساتھ، یہ آرڈر بناتی ہے۔ خفیہ۔ |
| Webhook ID | اُس webhook کی شناخت کرتی ہے جس پر PayPal دستخط کرتا ہے، تاکہ ہم ہر ترسیل کی تصدیق کر سکیں۔ |
| Success URL / Cancel URL | ادائیگی کے بعد یا واپس ہٹنے کے بعد خریدار کہاں پہنچتا ہے۔ |
ہم ہر فیلڈ کیوں مانگتے ہیں
Client ID
API کالز پر آپ کی PayPal ایپ کی شناخت کرتی ہے۔ یہ صرف اُسی وقت کام کرتی ہے جب Client secret کے ساتھ جوڑی جائے۔
Client secret
API توثیق کا نجی نصف۔ Client ID کے ساتھ، یہ ہمیں آرڈر بنانے دیتی ہے، تاکہ ادائیگی آپ کے اکاؤنٹ کے ذریعے چلے۔
Webhook ID
ہم کیسے تصدیق کرتے ہیں کہ ایک webhook واقعی PayPal سے ہے: PayPal ہر webhook کی شناخت ایک ID سے کرتا ہے، اور ہم اسے PayPal سے براہِ راست پوچھنے کے لیے استعمال کرتے ہیں کہ آیا کوئی دیا گیا پیغام مستند ہے۔ یہ کسی کو بھی جعلی "paid" ایونٹ بنانے سے روکتا ہے۔
Success and Cancel URL
سادہ ترتیبات: ادائیگی کے بعد یا واپس ہٹنے کے بعد خریدار کہاں پہنچتا ہے۔ خفیہ نہیں۔
سیٹ اپ
- PayPal Developer ڈیش بورڈ کھولیں
developer.paypal.com پر سائن اِن کریں۔ PayPal آپ کو ایک مفت Sandbox فراہم کرتا ہے جس میں جعلی بزنس اور خریدار اکاؤنٹس ہیں، تاکہ آپ حقیقی رقم منتقل کیے بغیر ٹیسٹ کر سکیں۔ یہ رہنما Sandbox کے ذریعے چلتا ہے؛ Live بہاؤ بالکل یکساں ہے، بس Sandbox / Live ٹوگل (اوپر بائیں) پلٹیں اور PayPal for Business اکاؤنٹ استعمال کریں۔ ڈیش بورڈ سے، Apps & Credentials کھولیں۔
PayPal Developer → Apps & Credentials - ایک ایپ بنائیں
API Credentials صفحے پر، تصدیق کریں کہ Sandbox ٹوگل منتخب ہے، پھر Create App (اوپر دائیں) پر کلک کریں۔
PayPal → Apps & Credentials → Create App - نام دیں اور Merchant چنیں
ایک App Name درج کریں (مثلاً "Coin Moebius")، Type کو Merchant پر رہنے دیں، اپنا sandbox بزنس اکاؤنٹ چنیں، اور Create App پر کلک کریں۔
PayPal → Create App - اپنا Client ID اور Client secret کاپی کریں
PayPal آپ کی نئی ایپ کھولتا ہے۔ Client ID کاپی کریں اور Secret key ظاہر کر کے کاپی کریں۔ (آپ دونوں API Credentials فہرست میں Default Application قطار سے بھی کاپی کر سکتے ہیں۔) انہیں الگ رکھیں۔
1. PayPal → API Credentials → فہرست میں آپ کی ایپ 2. PayPal → آپ کی ایپ → Client ID اور Secret Client secret خفیہ ہے، اسے پاس ورڈ کی طرح سمجھیں۔ sandbox ایپ اور live ایپ دونوں کی اپنی جوڑی ہوتی ہے، تو انہیں آپس میں ملائیں نہیں۔
- webhook شامل کریں
ایپ صفحے پر Sandbox Webhooks سیکشن تک نیچے سکرول کریں اور Add Webhook پر کلک کریں۔ Webhook URL فیلڈ میں، اپنے پروجیکٹ کا PayPal webhook پتہ (نیچے) پیسٹ کریں۔ پھر وہ ایونٹس چنیں جنہیں Coin Moebius سنتا ہے، اور Save کریں۔
- ایک-بار کی ادائیگیاں: CHECKOUT.ORDER.APPROVED, PAYMENT.CAPTURE.COMPLETED, PAYMENT.CAPTURE.DENIED, PAYMENT.CAPTURE.DECLINED, PAYMENT.CAPTURE.REFUNDED, PAYMENT.CAPTURE.REVERSED, CUSTOMER.DISPUTE.CREATED۔
- سبسکرپشنز (صرف اگر آپ انہیں بیچتے ہیں): BILLING.SUBSCRIPTION.ACTIVATED, BILLING.SUBSCRIPTION.UPDATED, BILLING.SUBSCRIPTION.CANCELLED, BILLING.SUBSCRIPTION.PAYMENT.FAILED, PAYMENT.SALE.COMPLETED۔ اگر آپ بار بار بلنگ نہیں کرتے، تو انہیں چھوڑ دیں۔
- جلدی میں ہیں؟ All Events (سب سے اوپر wildcard) منتخب کرنا بھی کام کرتا ہے، جو ہم استعمال نہیں کرتے اسے نظر انداز کر دیتے ہیں۔
https://api.coinmoebius.com/webhook/paypal/<your project id>PayPal → آپ کی ایپ → Add webhook آپ کی پروجیکٹ id Coin Moebius ڈیش بورڈ میں پروجیکٹ کے نام کے نیچے ہے؛ اسے اوپر دیے گئے پتے میں ڈالیں۔ منسلک فراہم کنندہ کارڈ (آخری مرحلہ) حوالے کے لیے وہی URL دکھاتا ہے۔
- Webhook ID کاپی کریں
آپ کا webhook اب Sandbox Webhooks فہرست میں ظاہر ہوتا ہے۔ اس کے ساتھ دکھایا گیا Webhook ID کاپی کریں۔ یہ وہ طریقہ ہے جس سے Coin Moebius PayPal سے پوچھتا ہے کہ ہر webhook اصلی ہے۔ sandbox اور live میں ایک الگ webhook رجسٹر کریں۔
PayPal → آپ کی ایپ → Sandbox Webhooks → Webhook ID - Coin Moebius میں: Add provider → PayPal
اپنے پروجیکٹ میں، Providers ٹیب کھولیں، Add provider پر کلک کریں، Connect a service چنیں، اور PayPal منتخب کریں۔ اپنا Success URL اور Cancel URL سیٹ کریں۔ sandbox اسناد سے ٹیسٹ کر رہے ہیں؟ Test (optional) ٹیب استعمال کریں اور اپنا Client ID، Client secret، اور Webhook ID وہاں پیسٹ کریں، پھر Save پر کلک کریں۔ سیدھے live جا رہے ہیں؟ Live ٹیب استعمال کریں۔ Test گروپ سب-یا-کچھ نہیں ہے: تینوں فیلڈز، یا کوئی نہیں۔
Coin Moebius → Add provider → PayPal - آپ منسلک ہو گئے
PayPal اب آپ کے Providers ٹیب پر منسلک ہونے کی تاریخ کے ساتھ ظاہر ہوتا ہے (جب آپ نے sandbox اسناد استعمال کیے تو TEST ٹیگ کے ساتھ)۔ کارڈ وہی webhook URL دکھاتا ہے جو آپ نے PayPal میں پیسٹ کی، ساتھ میں Edit اور Disconnect بھی۔
Coin Moebius → Providers → PayPal (connected) - sandbox خریدار سے ٹیسٹ کریں
ایک ٹیسٹ چیک آؤٹ کے ذریعے ادائیگی کے لیے آپ کو اپنا sandbox خریدار لاگ اِن درکار ہے۔ PayPal میں، Testing Tools → Sandbox Accounts کھولیں تاکہ اپنے جعلی Business اور Personal اکاؤنٹس دیکھ سکیں۔
PayPal → Testing Tools → Sandbox Accounts - خریدار لاگ اِن تفصیلات حاصل کریں
Personal (خریدار) اکاؤنٹ کھولیں تاکہ اس کی Login Info دیکھ سکیں: sandbox URL، ای میل، اور پاس ورڈ۔ جب کوئی ٹیسٹ چیک آؤٹ ادائیگی کے لیے کہے تو sandbox.paypal.com پر انہیں سے سائن اِن کریں۔ کوئی حقیقی رقم منتقل نہیں ہوتی۔
PayPal → Sandbox account → Login Info
منسلک کرنے کے بعد
لائیو ہونے سے پہلے ایک ٹیسٹ ادائیگی چلائیں:
- ایک پروڈکٹ بنائیں اور اس کا Environment Testing پر سیٹ کریں۔ یہ پروڈکٹ کو آپ کے سینڈ باکس اسناد پر چلاتا ہے، تو آپ رقم منتقل کیے بغیر مکمل آرڈر دے سکتے ہیں۔ (اگر آپ نے سینڈ باکس سیٹ چھوڑ دیا، تو ایک Testing پروڈکٹ لائیو پر واپس آ جاتی ہے، تو پہلے اسے شامل کریں۔)
- buy button کو ایک ایسے صفحے پر رکھیں (ایک مقامی HTML فائل کام کرتی ہے) جو آپ کے پروجیکٹ کی طرف اشارہ کرتا ہو۔
- اپنے سینڈ باکس خریدار اکاؤنٹ سے ادائیگی کر کے چیک آؤٹ مکمل کریں۔
- Transactions ٹیب کھولیں۔ ایک نئی قطار ظاہر ہوتی ہے، Testing کے ٹیگ کے ساتھ۔ جب اس کی حیثیت succeeded تک پہنچے، تو آپ کے اسناد اور webhook دونوں سرے سے سرے تک کام کر رہے ہیں۔
جب آپ حقیقی ادائیگیوں کے لیے تیار ہوں تو پروڈکٹ کا Environment Live پر سوئچ کریں۔
مسائل کا حل
Verify سے شروع کریں۔ ڈیش بورڈ میں، اپنے کلائنٹ اسناد جانچنے کے لیے Verify (یا سینڈ باکس کے لیے Verify test credentials) پر کلک کریں۔
Verify ناکام ہو جاتا ہے۔
Client ID اور Client secret دوبارہ کاپی کریں۔ سینڈ باکس ایپ اور لائیو ایپ کی الگ جوڑیاں ہوتی ہیں، تو انہیں آپس میں ملائیں نہیں۔
ادائیگی مکمل ہو جاتی ہے مگر آرڈر pending رہتا ہے۔
Webhook ID آپ کے کلائنٹ اسناد جیسی ہی ایپ اور ماحول سے آنی چاہیے۔ لائیو اسناد کو لائیو webhook id درکار ہوتا ہے۔ تصدیق کریں کہ webhook URL مطابقت رکھتا ہے۔
سرے سے سرے تک تصدیق کریں۔
PayPal Developer Dashboard → Webhooks Simulator: اپنے webhook URL پر ایک نمونہ ایونٹ بھیجیں، پھر آرڈر کو اپ ڈیٹ ہوتے دیکھیں۔
جاننا اچھا ہے
secrets گھمانا. کسی بھی وقت ایک نیا client secret بنائیں، پھر اسے پیسٹ کریں۔ خفیہ فیلڈز ترمیم پر خالی رہتی ہیں۔
سوالات؟ Join our Discord