سفری پیمنٹ API
سفری بکنگ کے لیے پیمنٹ گیٹ وے API: چیک آؤٹ سے ریفنڈ تک
پیمنٹ گیٹ وے API کے ذریعے آپ کی بکنگ سائٹ مسافر سے رقم وصول کرتی ہے اور کارڈ کو کبھی ہاتھ تک نہیں لگاتی۔ یہ صفحہ ایک کارڈ پیمنٹ کی کالز، پیمنٹ کے مراحل، سفری ادائیگیاں ریٹیل سے مشکل کیوں ہیں، اور PHPTRAVELS آپ کے بکنگ فلو کو آپ کے منتخب کردہ گیٹ وے سے کیسے جوڑتا ہے، یہ سب بتاتا ہے۔
- سیشن، 3-D Secure، کیپچر
- پیمنٹ کے تمام اسٹیٹس
- کارڈ، والٹ، بینک، کریڈٹ
- آپ کے سرور پر کارڈ ڈیٹا نہیں
کالز کیسے کام کرتی ہیں
ایک کارڈ پیمنٹ، کال بہ کال
پیمنٹ گیٹ وے API ویب سروسز کا ایک مجموعہ ہے جو ادائیگی کی کمپنی تاجروں کے لیے کھولتی ہے۔ آپ کا سرور اس سے رقم اور کرنسی کے ساتھ پیمنٹ بنانے کو کہتا ہے، مسافر کارڈ گیٹ وے کے اپنے فارم میں درج کرتا ہے، اور گیٹ وے کارڈ نیٹ ورک اور جاری کنندہ بینک سے بات کرتا ہے۔ آپ کا سرور کارڈ نمبر کبھی نہیں دیکھتا؛ اسے صرف پیمنٹ ID اور اسٹیٹس ملتا ہے۔
چار فریق شامل ہوتے ہیں۔ ڈایاگرام انہیں کالمز کی صورت میں اور ہر پیغام کو نمبر والے تیر کی صورت میں دکھاتا ہے۔ ہر گیٹ وے میں نام مختلف ہوتے ہیں (payment intent، سیشن، آرڈر، چارج) مگر ترتیب وہی رہتی ہے۔

ٹوٹی لکیر والا تیر ایک ویب ہُک ہے: گیٹ وے خود آپ کے سرور کو کال کرتا ہے، اس لیے مسافر براؤزر بند بھی کر دے تو پیمنٹ بکنگ کو اپ ڈیٹ کر دیتی ہے۔ پیمنٹ گیٹ وے انٹیگریشن صفحہ بتاتا ہے کہ PHPTRAVELS میں ہر مرحلہ بکنگ سے کیسے جڑتا ہے۔
- مسافر
- آپ کی سائٹ
- گیٹ وے
- کارڈ نیٹ ورک / بینک
01چیک آؤٹمسافر آپ کی سائٹ
مسافر سفر دیکھ کر Pay دباتا ہے۔ بکنگ سپلائر کے پاس روکی جاتی ہے، ابھی کنفرم نہیں ہوتی۔
02Payment intent یا سیشن بناناآپ کی سائٹ گیٹ وے
آپ کا سرور اپنی خفیہ API کلید کے ساتھ رقم، کرنسی، بکنگ ریفرنس اور ایک idempotency کلید بھیجتا ہے۔ گیٹ وے پیمنٹ ID لوٹاتا ہے۔
03ہوسٹڈ فیلڈز یا ری ڈائریکٹگیٹ وے مسافر
کارڈ فارم گیٹ وے فراہم کرتا ہے، آپ کے صفحے کے اندر یا اپنے صفحے پر، اس لیے کارڈ ڈیٹا سیدھا اسی کے پاس جاتا ہے۔
043-D Secureکارڈ نیٹ ورک / بینک مسافر
اگر جاری کنندہ بینک مانگے تو مسافر بینکنگ ایپ میں یا ایک بار استعمال ہونے والے کوڈ سے ادائیگی کی تصدیق کرتا ہے۔
05آتھرائزگیٹ وے کارڈ نیٹ ورک / بینک
گیٹ وے کارڈ نیٹ ورک کے ذریعے جاری کنندہ سے رقم منظور کرنے کو کہتا ہے۔
06منظور، رقم روک لی گئیکارڈ نیٹ ورک / بینک گیٹ وے
جاری کنندہ کارڈ پر رقم محفوظ کر لیتا ہے۔ ابھی کچھ منتقل نہیں ہوا۔
07نتیجہ آپ کی سائٹ کوگیٹ وے آپ کی سائٹ
مسافر پیمنٹ ID کے ساتھ آپ کی سائٹ پر لوٹتا ہے۔ آپ کا سرور API سے اسٹیٹس پڑھتا ہے اور سپلائر کے پاس بکنگ کنفرم کرتا ہے۔
08کیپچرآپ کی سائٹ گیٹ وے
سپلائر کے کنفرم کرنے پر آپ کا سرور پوری یا کم رقم کیپچر کرتا ہے۔ کئی گیٹ وے فوراً بھی کیپچر کر سکتے ہیں۔
09ویب ہُکگیٹ وے آپ کی سائٹگیٹ وے خود بھیجتا ہے
گیٹ وے آپ کے اینڈ پوائنٹ کو دستخط شدہ ایونٹ (پیمنٹ کیپچر، ریفنڈ، تنازع) بھیجتا ہے۔ آپ کا سرور دستخط جانچ کر بکنگ اپ ڈیٹ کرتا ہے۔
پیمنٹ اسٹیٹس
پیمنٹ کی زندگی بطور اسٹیٹ مشین
ہر گیٹ وے API ہر پیمنٹ کا ایک اسٹیٹس بتاتا ہے۔ الفاظ مختلف ہو سکتے ہیں مگر وہ انہی چند حالتوں میں آتے ہیں، اور آپ کی بکنگ لاجک کو ہر ایک پر ردعمل دینا چاہیے۔
created
بنائی گئی
پیمنٹ رقم اور کرنسی کے ساتھ موجود ہے اور مسافر کی منتظر ہے۔
failedحتمی
ناکام
مسترد، 3-D Secure مکمل نہ ہوا یا ادھورا چھوڑ دیا گیا۔ کچھ چارج نہیں ہوتا۔
authorized
آتھرائزڈ
جاری کنندہ نے رقم منظور کر کے کارڈ پر روک لی ہے۔
voidedحتمی
کالعدم
کیپچر سے پہلے ہولڈ منسوخ ہو جاتا ہے، اس لیے مسافر سے کبھی چارج نہیں ہوتا۔
captured
کیپچرڈ
رقم لے لی گئی اور آپ کے مرچنٹ اکاؤنٹ میں سیٹل ہوگی۔
partially_refundedحتمی
جزوی ریفنڈ
کیپچر شدہ رقم کا ایک حصہ لوٹایا جاتا ہے، مثلاً منسوخی فیس کے بعد۔
refundedحتمی
ریفنڈ شدہ
پوری کیپچر شدہ رقم کارڈ پر لوٹا دی جاتی ہے۔
آتھرائزیشن ہمیشہ نہیں رہتی: وقت پر کیپچر نہ ہو تو ہولڈ ختم ہو جاتا ہے اور بینک رقم چھوڑ دیتا ہے۔ جزوی ریفنڈ شدہ پیمنٹ کیپچر شدہ رقم تک مزید ریفنڈ ہو سکتی ہے۔
سفر مشکل کیوں ہے
سفری ادائیگیاں مختلف کیوں ہیں
دکان وہ بیچتی ہے جو اس کے اسٹاک میں ہو۔ سفر بیچنے والا ایسی بکنگ کی رقم لیتا ہے جسے سپلائر نے ابھی کنفرم کرنا ہوتا ہے، اکثر سفر سے مہینوں پہلے۔ پیمنٹ API کو اس کے مطابق ہونا چاہیے۔
01
ابھی آتھرائز، بعد میں کیپچر
آن ریکوئسٹ ہوٹل، گروپ فیئر اور ٹورز آرڈر کے گھنٹوں یا دنوں بعد کنفرم ہوتے ہیں۔ پہلے آتھرائز اور کنفرمیشن پر کیپچر کا مطلب ہے کہ جو بکنگ ہوئی ہی نہیں اس کا چارج نہیں لگتا۔
02
سپلائر اب بھی انکار کر سکتا ہے
پیمنٹ اور ٹکٹنگ کے درمیان کوئی فیئر ختم ہو سکتا ہے۔ آتھرائزیشن میں رقم void سے چھوٹ جاتی ہے؛ کیپچر کے بعد یہ ریفنڈ بن جاتا ہے۔
03
منسوخی فیس کے بعد جزوی ریفنڈ
قیام یا ٹکٹ منسوخ کرنے پر عموماً فیس کٹتی ہے۔ ریفنڈ کال اصل پیمنٹ کے مقابلے میں کم رقم بھیجتی ہے، جتنی بار قواعد تقاضا کریں۔
04
کثیر کرنسی
مسافر اپنی کرنسی میں ادا کرتے ہیں جبکہ سپلائر اپنی کرنسی میں انوائس کرتے ہیں۔ گیٹ وے کو پریزنٹمنٹ کرنسی سپورٹ کرنی چاہیے اور آپ کے ریکارڈ میں دونوں رقوم محفوظ ہونی چاہئیں۔
05
بڑی رقم پر فراڈ چیک
کل کے ٹکٹ، کسی اور کے لیے، نئے کارڈ سے ادائیگی: فراڈ کا کلاسک پیٹرن۔ 3-D Secure، گیٹ وے کی رسک اسکورنگ اور دستی جائزے کی قطار قیمتی آرڈرز کو بچاتی ہیں۔
06
مہینوں بعد چارج بیک
تنازعات اکثر سفر کے بعد آتے ہیں۔ تصدیق کا نتیجہ، بکنگ دستاویزات اور گیٹ وے ایونٹس ایک ساتھ رکھیں تاکہ ثبوت کے ساتھ جواب دے سکیں۔
ادائیگی کے طریقے
پیمنٹ گیٹ وے API ادائیگی کے کون سے طریقے سنبھالتی ہے
کارڈ صرف ایک آپشن ہیں۔ مسافر اور ایجنٹ مختلف طریقوں سے ادا کرتے ہیں، اور ہر طریقے کا ریفنڈ الگ ہوتا ہے۔
| طریقہ | یہ کیا ہے | رقم کب پہنچتی ہے | ریفنڈ |
|---|---|---|---|
| کارڈ | گیٹ وے کے ذریعے ڈیبٹ اور کریڈٹ کارڈ، جہاں جاری کنندہ مانگے وہاں 3-D Secure کے ساتھ۔ | چیک آؤٹ پر آتھرائز؛ فوراً یا سپلائر کے کنفرم کرنے پر کیپچر۔ | API کے ذریعے اسی کارڈ پر مکمل یا جزوی ریفنڈ۔ |
| ڈیجیٹل والٹ | گیٹ وے کے سپورٹ کردہ والٹ اکاؤنٹ، جیسے PayPal یا ٹوکنائزڈ کارڈ والا موبائل والٹ۔ | چیک آؤٹ پر، مسافر کے والٹ میں منظوری دینے کے بعد۔ | گیٹ وے کے ذریعے والٹ یا اس کے پیچھے موجود کارڈ پر واپس۔ |
| بینک ٹرانسفر | مسافر یا ایجنٹ آپ کے بینک اکاؤنٹ میں رقم بھیجتا ہے اور پیمنٹ بکنگ کے ساتھ درج ہوتی ہے۔ | دنوں بعد؛ بکنگ تب تک رکی رہتی ہے جب تک آپ کی ٹیم وصولی کی تصدیق نہ کرے۔ | ٹرانسفر کے ذریعے واپس، گیٹ وے سے باہر۔ |
| بعد میں ادائیگی | بکنگ ابھی ہوتی ہے اور ادائیگی بعد میں؛ آپ کی ٹیم رقم آنے پر پیمنٹ درج کرتی ہے۔ | بکنگ کے بعد، جب مسافر ادا کرے۔ | صرف وہی لوٹایا جاتا ہے جو واقعی ادا ہوا۔ |
| B2B ایجنٹ والٹ یا کریڈٹ | سب ایجنٹ پہلے سے بھرے ہوئے بیلنس یا آپ کی دی ہوئی کریڈٹ حد سے ادا کرتے ہیں۔ | بکنگ پر کٹوتی؛ ڈپازٹ اور کریڈٹ آپ کی شرائط پر سیٹل۔ | ایجنٹ کے بیلنس میں واپس جمع۔ |
بینک ٹرانسفر، بعد میں ادائیگی اور والٹ بیلنس پلیٹ فارم کے اپنے سیٹلمنٹ آپشن ہیں، گیٹ وے نہیں۔ ایجنٹ بیلنس اور کریڈٹ حدود B2B ایجنٹ والیٹ صفحے پر اور بینک پیمنٹ بینک ٹرانسفر ادائیگی صفحے پر بیان ہیں۔
PHPTRAVELS میں تیار
پہلے سے منسلک پیمنٹ گیٹ وے API
یہ گیٹ وے پہلے ہی PHPTRAVELS سے منسلک ہیں۔ آپ فراہم کنندہ کے ساتھ مرچنٹ اکاؤنٹ کھولتے ہیں، ایڈمن میں اپنی API کلیدیں درج کرتے ہیں، اس کے سینڈ باکس میں ٹیسٹ کرتے ہیں اور لائیو ہو جاتے ہیں۔ فہرست ہماری انٹیگریشن ڈائریکٹری کی لائیو فہرست ہے۔
Stripeانٹیگریشن گائیڈPayPalانٹیگریشن گائیڈ
xMoney
Fawaterk
Cashfree
Paystack
Flutterwave
Adyen
MyFatoorah
SSLcommerz
Razorpay- تمام پیمنٹ انٹیگریشنز
فیس اور مرچنٹ منظوری ادائیگی کی کمپنی سے طے ہوتی ہے، PHPTRAVELS سے نہیں۔ جو گیٹ وے یہاں نہیں ہے اسے کسٹم API انٹیگریشن کے طور پر شامل کیا جا سکتا ہے، اور پیمنٹ گیٹ وے انٹیگریشن صفحہ بتاتا ہے کہ ہر ایک کیسے سیٹ اپ ہوتا ہے۔
سیکیورٹی
کارڈ ڈیٹا کو اپنے سسٹم سے باہر رکھنا
سب سے محفوظ کارڈ نمبر وہ ہے جو آپ کے سرور تک کبھی پہنچے ہی نہیں۔ پیمنٹ گیٹ وے API اسی لیے بنائی گئی ہے۔
کارڈ نمبر کبھی محفوظ نہ کریں
کارڈ کی تفصیلات گیٹ وے کو جاتی ہیں، جو ٹوکن یا پیمنٹ ID لوٹاتا ہے۔ آپ کا ڈیٹا بیس صرف یہ حوالہ رکھتا ہے، کارڈ نمبر یا سیکیورٹی کوڈ کبھی نہیں۔
ہوسٹڈ فیلڈز اور ری ڈائریکٹ PCI DSS کا دائرہ گھٹاتے ہیں
PCI DSS ہر اس شخص پر لاگو ہوتا ہے جو کارڈ ڈیٹا سنبھالے۔ جب کارڈ فارم گیٹ وے کا اپنا صفحہ یا ایمبیڈڈ فیلڈز ہو تو آپ کے سسٹم کا بہت کم حصہ دائرے میں آتا ہے۔ آپ کا ایکوائرر بتاتا ہے کہ آپ پر کون سا سیلف اسیسمنٹ لاگو ہے۔
ویب ہُکس کی دستخط سے تصدیق
ہر ویب ہُک مشترکہ راز سے بنا دستخط رکھتا ہے۔ آپ کا سرور اسے دوبارہ نکال کر ہر غیر مطابق ایونٹ مسترد کر دیتا ہے، اس لیے کوئی ادا شدہ بکنگ کی جعل سازی نہیں کر سکتا۔
خفیہ کلیدیں سرور پر رہتی ہیں
براؤزر کو صرف پبلک کلید ملتی ہے۔ جو خفیہ کلید پیمنٹ اور ریفنڈ بناتی ہے وہ آپ کی سرور کنفیگریشن میں رہتی ہے، اور ہر درخواست idempotency کلید رکھتی ہے تاکہ دوبارہ کوشش پر کبھی دو بار چارج نہ ہو۔
1$payload = file_get_contents("php://input"); 2$signature = $_SERVER["HTTP_X_SIGNATURE"] ?? ""; 3$expected = hash_hmac("sha256", $payload, $webhookSecret); 4 5if (!hash_equals($expected, $signature)) { 6 http_response_code(400); exit; // reject 7} 8$event = json_decode($payload, true); 9if (alreadyHandled($event["id"])) exit; // repeat delivery10updateBooking($event["data"]["metadata"]["booking_ref"], $event["type"]);
عمومی مثال۔ ہیڈر کے نام اور دستخط کا طریقہ آپ کے منتخب گیٹ وے کے مطابق ہوتے ہیں۔
PHPTRAVELS سیلف ہوسٹڈ سافٹ ویئر ہے، اس لیے PCI DSS کی تعمیل آپ کے کاروبار اور آپ کے سرور کے لیے جانچی جاتی ہے، صرف سافٹ ویئر کے لیے نہیں۔
ایک بکنگ کو ادا، کیپچر اور ریفنڈ ہوتے دیکھیں
لائیو ڈیمو میں سفر بک کریں اور ایڈمن میں پیمنٹ کو فالو کریں۔ Enterprise پلان میں PHPTRAVELS آپ کی ایپس اور پارٹنرز کے لیے اپنی REST API اور ویب ہُکس بھی دیتا ہے۔
فلائٹس بھی بیچنی ہیں؟ فلائٹس API صفحہ سپلائر کی طرف بیان کرتا ہے، اور ٹریول API ان تمام API کی فہرست دیتا ہے جو PHPTRAVELS جوڑتا ہے۔
یہ ویب سروسز کا ایک مجموعہ ہے جو ادائیگی کی کمپنی فراہم کرتی ہے تاکہ ویب سائٹ پیمنٹ بنا سکے، کارڈ منظوری کے لیے بینک کو بھیج سکے، رقم کیپچر کر سکے، ریفنڈ جاری کر سکے اور ویب ہُک سے اسٹیٹس اپ ڈیٹ حاصل کر سکے، بغیر خود کارڈ ڈیٹا محفوظ کیے۔
گیٹ وے وہ حصہ ہے جس سے آپ کی ویب سائٹ بات کرتی ہے: وہ کارڈ محفوظ طریقے سے لیتا ہے اور درخواست آگے بڑھاتا ہے۔ پروسیسر ٹرانزیکشن کو کارڈ نیٹ ورکس کے ذریعے جاری کنندہ بینک تک پہنچاتا ہے۔ کئی فراہم کنندہ دونوں ایک ہی سروس میں دیتے ہیں۔
وہ جو آپ کے کاروبار کو منظور کرے، آپ کے صارفین کے ممالک، کرنسیوں اور ادائیگی کے طریقوں کو سپورٹ کرے، اور الگ آتھرائز و کیپچر اور جزوی ریفنڈ دے۔ کئی ایجنسیاں عالمی کارڈ گیٹ وے کو علاقائی گیٹ وے کے ساتھ ملا کر چلاتی ہیں۔
آتھرائز کرنے سے مسافر کے کارڈ پر رقم محفوظ ہو جاتی ہے؛ کیپچر اسے لے لیتا ہے۔ دونوں کو الگ رکھنے سے آپ سپلائر کے بکنگ کنفرم کرنے کے بعد ہی چارج کرتے ہیں، اور کنفرم نہ ہو تو ہولڈ ختم کر دیتے ہیں۔
یورپی اقتصادی علاقے اور برطانیہ سمیت کئی خطوں میں زیادہ تر آن لائن کارڈ ادائیگیوں کے لیے مضبوط کسٹمر تصدیق لازمی ہے، اور کارڈ اسے 3-D Secure سے پورا کرتے ہیں۔ گیٹ وے API چیلنج سنبھالتی ہے؛ آپ کا بکنگ فلو نتیجے کا انتظار کرتا ہے۔
اپنے طور پر نہیں۔ گیٹ وے کے ہوسٹڈ فیلڈز یا پیمنٹ پیج کارڈ ڈیٹا کو آپ کے سرور سے دور رکھتے اور PCI DSS کا دائرہ گھٹاتے ہیں، لیکن آپ کو پھر بھی وہ اسیسمنٹ مکمل کرنی ہوگی جو آپ کا ایکوائرر مانگے۔
جی ہاں، اگر گیٹ وے جزوی ریفنڈ سپورٹ کرے، جو زیادہ تر کارڈ گیٹ وے کرتے ہیں۔ آپ اصل پیمنٹ کے مقابلے میں کم رقم کا ریفنڈ بھیجتے ہیں، مثلاً قیمت منفی منسوخی فیس۔
نہیں۔ آپ اپنے منتخب گیٹ وے کے ساتھ مرچنٹ اکاؤنٹ کھولتے ہیں اور اسی سے فیس طے کرتے ہیں۔ PHPTRAVELS آپ کے بکنگ پلیٹ فارم کو اس اکاؤنٹ سے ان API کلیدوں کے ذریعے جوڑتا ہے جو آپ ایڈمن میں درج کرتے ہیں۔
جی ہاں۔ دستاویزی API والا کوئی بھی گیٹ وے کسٹم انٹیگریشن کے طور پر شامل ہو سکتا ہے، اور چونکہ سورس کوڈ شامل ہے، آپ کے ڈویلپر پیمنٹ فلو کو وسعت بھی دے سکتے ہیں۔
مزید دیکھیں
پلیٹ فارم کے بارے میں مزید
- پیمنٹ گیٹ وے انٹیگریشنچیک آؤٹ، 3D Secure، ریفنڈز اور ویب ہکس
- Stripe ادائیگیاںکارڈ اور والیٹ چیک آؤٹ، ریفنڈ اور پے آؤٹ
- PayPal ادائیگیاںفلائٹس، ہوٹلز اور ٹورز کے لیے PayPal چیک آؤٹ
- B2B ایجنٹ والیٹایجنٹ ڈپازٹس، کریڈٹ لمٹس اور ہر ایجنٹ کا لیجر
- ٹریول APIGDS، ہوٹل، ٹور، گاڑی اور پیمنٹ API
- فلائٹس APIGDS، NDC اور کنسولیڈیٹر فلائٹ APIs ایک پلیٹ فارم پر
