ট্রাভেল পেমেন্ট 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চূড়ান্ত
বাতিল (void)
ক্যাপচারের আগে হোল্ড বাতিল হয়, তাই ভ্রমণকারীর কাছ থেকে কিছু কাটা হয় না।
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 PHPTRAVELS যুক্ত করে এমন সব API তালিকাভুক্ত করে।
এটি পেমেন্ট কোম্পানির দেওয়া ওয়েব সার্ভিসের একটি সংকলন, যা দিয়ে একটি ওয়েবসাইট নিজে কার্ড ডেটা সংরক্ষণ না করেই পেমেন্ট তৈরি করতে, অনুমোদনের জন্য কার্ড ব্যাংকে পাঠাতে, টাকা ক্যাপচার করতে, রিফান্ড দিতে এবং ওয়েবহুকে স্ট্যাটাস আপডেট পেতে পারে।
গেটওয়ে হলো সেই অংশ যার সঙ্গে আপনার ওয়েবসাইট কথা বলে: এটি নিরাপদে কার্ড সংগ্রহ করে অনুরোধ এগিয়ে দেয়। প্রসেসর লেনদেনটি কার্ড নেটওয়ার্কের মধ্য দিয়ে ইস্যুকারী ব্যাংকে পৌঁছে দেয়। অনেক প্রদানকারী দুটিকেই একটি সেবা হিসেবে দেয়।
যেটি আপনার ব্যবসা অনুমোদন করে, গ্রাহকদের দেশ, মুদ্রা ও পেমেন্ট পদ্ধতি সমর্থন করে এবং আলাদা অথরাইজ ও ক্যাপচার ও আংশিক রিফান্ড দেয়। অনেক এজেন্সি একটি বৈশ্বিক কার্ড গেটওয়ের সঙ্গে একটি আঞ্চলিক গেটওয়ে মিলিয়ে ব্যবহার করে।
অথরাইজ ভ্রমণকারীর কার্ডে পরিমাণটি সংরক্ষণ করে; ক্যাপচার তা তুলে নেয়। দুটি আলাদা করলে সরবরাহকারী বুকিং নিশ্চিত করার পরেই চার্জ করা যায়, আর না করলে হোল্ড বাতিল করা যায়।
ইউরোপীয় অর্থনৈতিক অঞ্চল ও যুক্তরাজ্য-সহ অনেক অঞ্চলে বেশিরভাগ অনলাইন কার্ড পেমেন্টে শক্তিশালী গ্রাহক অথেনটিকেশন বাধ্যতামূলক, আর কার্ড তা পূরণ করে 3-D Secure দিয়ে। গেটওয়ে API চ্যালেঞ্জ সামলায়; আপনার বুকিং ফ্লো ফলাফলের অপেক্ষা করে।
একা নয়। গেটওয়ের হোস্টেড ফিল্ড বা পেমেন্ট পাতা কার্ড ডেটা আপনার সার্ভার থেকে দূরে রাখে ও PCI DSS স্কোপ কমায়, কিন্তু আপনার অ্যাকোয়ারার যে মূল্যায়ন চায় তা আপনাকে এখনো সম্পূর্ণ করতে হবে।
হ্যাঁ, গেটওয়ে আংশিক রিফান্ড সমর্থন করলে, যা বেশিরভাগ কার্ড গেটওয়ে করে। আপনি মূল পেমেন্টের বিপরীতে কম পরিমাণের রিফান্ড পাঠান, যেমন দাম থেকে বাতিলের ফি বাদ দিয়ে।
না। আপনি বেছে নেওয়া গেটওয়ের কাছে মার্চেন্ট অ্যাকাউন্ট খোলেন এবং তাদের সঙ্গে ফি ঠিক করেন। অ্যাডমিনে আপনার দেওয়া API কী দিয়ে PHPTRAVELS আপনার বুকিং প্ল্যাটফর্মকে সেই অ্যাকাউন্টে যুক্ত করে।
হ্যাঁ। ডকুমেন্টেড API আছে এমন যেকোনো গেটওয়ে কাস্টম ইন্টিগ্রেশন হিসেবে যোগ করা যায়, আর সোর্স কোড অন্তর্ভুক্ত থাকায় আপনার ডেভেলপাররা পেমেন্ট ফ্লোও বাড়াতে পারেন।
আরও দেখুন
প্ল্যাটফর্ম সম্পর্কে আরও
- পেমেন্ট গেটওয়ে ইন্টিগ্রেশনচেকআউট, 3D Secure, রিফান্ড ও ওয়েবহুক
- Stripe পেমেন্টকার্ড ও ওয়ালেট চেকআউট, রিফান্ড ও পেআউটসহ
- PayPal পেমেন্টফ্লাইট, হোটেল ও ট্যুরের জন্য PayPal চেকআউট
- B2B এজেন্ট ওয়ালেটএজেন্ট ডিপোজিট, ক্রেডিট লিমিট এবং প্রতিটি এজেন্টের লেজার
- ট্রাভেল APIGDS, হোটেল, ট্যুর, গাড়ি ও পেমেন্ট API
- ফ্লাইট APIGDS, NDC ও কনসোলিডেটর ফ্লাইট API এক প্ল্যাটফর্মে
