হোস্টেড পেমেন্ট পেজ বনাম ইন-অ্যাপ পেমেন্ট: ব্যবহারিক তুলনা
হোস্টেড পেমেন্ট পেজ বনাম ইন-অ্যাপ পেমেন্ট আপনার প্রতারণা ঝুঁকি, PCI স্কোপ, লোকালাইজেশন কাজ, এবং দৈনন্দিন রিফান্ড ও চার্জব্যাক পরিচালনা কীভাবে পরিবর্তিত হবে তা প্রভাবিত করে।

আপনি আসলে কী নির্বাচন করছেন
হোস্টেড পেমেন্ট পেজ বনাম ইন-অ্যাপ পেমেন্টে প্রকৃত সিদ্ধান্ত কেবল কার্ড ফর্ম কোথায় থাকবে তা নয়। আপনি ঠিক করছেন কতটা সিকিউরিটি কাজ আপনার দায়িত্ব হবে, আপনি কত দ্রুত চালু করতে পারবেন, এবং দৈনন্দিনভাবে কতটা পেমেন্ট সমস্যা আপনার সাপোর্ট টিম পরিচালনা করবে।
হোস্টেড পেমেন্ট পেজে, আপনার অ্যাপ গ্রাহককে একটি পেমেন্ট প্রোভাইডারের পেজে পাঠায় (বা এটি একটি সিকিউর চেকআউট উইন্ডোতে খুলে)। প্রোভাইডার কার্ড বিস্তারিত সংগ্রহ করে, অতিরিক্ত চেক চালায় এবং সফলতা বা ব্যর্থতার ফলাফল ফেরত দেয়। আপনার অ্যাপ প্রধানত পেমেন্ট শুরু করে এবং ফল নিশ্চিত করে।
ইন-অ্যাপ পেমেন্টে, কার্ড এন্ট্রি আপনার ওয়েব বা মোবাইল UI-র মধ্যে থাকে। এটা আরও মসৃণ এবং ব্র্যান্ডিং-এ সহজ মনে হতে পারে, তবে এটি ভুলের সম্ভাবনাও বাড়ায়: আরও স্ক্রিন টেস্ট করতে হবে, বেশি এজ-কেস আছে, এবং একটি ছোট বাগও ব্যর্থ পেমেন্ট বা রাগি টিকিটে পরিণত হতে পারে।
এমনকি আপনি একই পেমেন্ট প্রোভাইডার ব্যবহার করলেও, আপনার দায়িত্ব ভিন্ন হয়। একই প্রতারণা সরঞ্জাম বা রিফান্ড ক্ষমতা থাকতে পারে, কিন্তু কমপ্লায়েন্স স্কোপ, আপনি যে ডেটা দেখেন, এবং কোনো সমস্যার অপারেশনাল বিস্তার পরিবর্তিত হতে পারে।
এই তুলনাটা সবচেয়ে গুরুত্বপূর্ণ যদি আপনি একজন প্রডাক্ট ওনার হন যারা স্পীড বা কন্ট্রোল ব্যালান্স করছেন, অপস বা সাপোর্ট লিড যারা দৈনন্দিন রিফান্ড ও ডিসপিউট নিয়ে কাজ করবেন, একজন প্রতিষ্ঠাতা যিনি সহজ রিস্ক প্রোফাইল চান, বা AppMaster-এর মত প্ল্যাটফর্ম ব্যবহার করে নির্মাতা যার পছন্দকৃত পেমেন্ট ফ্লো আপনার UI, লজিক ও রক্ষণাবেক্ষণ গঠনে প্রভাব ফেলে।
প্রথমে আপনি কী অপ্টিমাইজ করছেন (স্পীড, ঝুঁকি, বা কন্ট্রোল) তা নির্ধারণ করুন — তাহলে ট্রেড-অফগুলো অনেক স্পষ্ট হয়ে যায়।
দুইটি পেমেন্ট ফ্লো কিভাবে কাজ করে
সবচেয়ে বড় পার্থক্য হল গ্রাহক কোথায় তাদের কার্ডের তথ্য টাইপ করে এবং কে সেই ডেটায় অ্যাক্সেস করে। সেই একটা বিবরণ পরে আপনার দৈনন্দিন কাজ: নিরাপত্তা, সাপোর্ট, এবং আপনি কী কাস্টমাইজ করতে পারেন তা নির্ধারণ করে।
হোস্টেড পেমেন্ট পেজ (রিডাইরেক্ট বা এম্বেডেড)
হোস্টেড পেমেন্ট পেজে, আপনার অ্যাপ গ্রাহককে একটি পেমেন্ট প্রোভাইডারের পেজে হস্তান্তর করে। কখনও কখনও এটি পপআপ বা এমবেডেড ফ্রেমের মতো দেখাতে পারে, কিন্তু প্রোভাইডারই কার্ড ডেটা সংগ্রহ করে।
একটি সাধারণ ফ্লো দেখতে এ রকম:
- আপনার অ্যাপ প্রোভাইডারের সাথে একটি চেকআউট সেশন তৈরি করে।
- গ্রাহক প্রোভাইডারের পেজে কার্ড ডিটেইলস দেয়।
- প্রোভাইডার তার বিল্ট-ইন চেক চালায় (রিস্ক স্কোরিং, ভেলোসিটি রুল, এবং প্রয়োজন হলে 3DS/SCA)।
- আপনার অ্যাপ সফলতা বা ব্যর্থতার ফল পায় এবং অর্ডার সম্পন্ন করে।
কারণ আপনার অ্যাপ কখনও রাও কার্ড নম্বর পায় না, তাই সাধারণত আপনি কার্ড-সংক্রান্ত কিছুই সঞ্চয় করেন না। আপনি একটি রেফারেন্স যেমন ট্রানজ্যাকশন আইডি রাখতেন পারেন, এবং অনেক সেটআপে প্রোভাইডার দ্বারা তৈরি একটি টোকেন হিসেবে পুনঃব্যবহারযোগ্য পেমেন্ট মেথড সংরক্ষণ করা যায়।
ইন-অ্যাপ পেমেন্ট (অ্যাপে কার্ড ফর্ম)
ইন-অ্যাপ পেমেন্টে, ফর্মটি আপনার ওয়েব বা মোবাইল UI-র ভেতরেই থাকে। সবচেয়ে নিরাপদ ভার্সনগুলোতেও কার্ড ডেটা সরাসরি গ্রাহকের ডিভাইস থেকে প্রোভাইডারে পাঠানো হয় (টোকেনাইজেশন), তবে আপনার অ্যাপ অভিজ্ঞতার ওপর বেশি নিয়ন্ত্রণ রাখে।
প্রতারণা চেকগুলো আরও স্থানেই ঘটতে পারে। প্রোভাইডার এখনও নেটওয়ার্ক-লেভেলের চেক করে, কিন্তু আপনি আগেই আপনার নিজের লজিক যোগ করতে পারেন — সন্দেহজনক সাইনআপ ব্লক করা, ইমেইল ভেরিফিকেশন বাধ্যতামূলক করা, বা হাই-রিস্ক অর্ডার সীমাবদ্ধ করা।
3DS/SCA সাধারণত পেমেন্টের সময় একটি অতিরিক্ত ধাপ হিসেবে দেখা যায়। হোস্টেড পেজে এটি প্রোভাইডার-নিয়ন্ত্রিত চ্যালেঞ্জ স্ক্রিন হিসেবে আসে। ইন-অ্যাপে এটি প্রায়শই ইন-প্লেস মডাল বা ব্যাংক চ্যালেঞ্জ স্ক্রিন হিসেবে আসে, তাই আপনার UI-কে গ্রাহকের অথেন্টিকেশন স্টেটগুলো পরিষ্কারভাবে হ্যান্ডেল করতে হবে।
আপনি যদি AppMaster-এ নির্মাণ করেন, আপনি বেশি লজিক ভিজ্যুয়ালি রাখতে পারবেন এবং তবুও প্রোভাইডার টোকেনাইজেশনের উপর নির্ভর করতে পারবেন (উদাহরণস্বরূপ Stripe মডিউল ব্যবহার করে)। এতে সংবেদনশীল কার্ড ডেটা সরাসরি হাতে নেওয়া থেকে আপনি বাঁচতে পারেন।
প্রতারণার উন্মুক্ততা: কী বদলে যায় ও কী থাকে একই
হোস্টেড পেজ বনাম ইন-অ্যাপ পেমেন্টে বড় পরিবর্তন হলো আক্রমণকারীরা আপনার ফ্লোতে কোথায় স্পর্শ করতে পারে। প্রতারণা গায়েব হয় না, কিন্তু দুর্বল পয়েন্টগুলো শিফট হয়।
হোস্টেড পেজে (প্রোভাইডারের ডোমেইনে হোস্ট করা) পেমেন্ট ফর্ম ও কার্ড এন্ট্রি প্রোভাইডারের ডোমেইনে থাকে। এটি আপনার UI-তে কার্ড টেস্টিং কমাতে সাহায্য করে, কিন্তু একটি ভিন্ন ঝুঁকি আসে: যদি আপনার ইমেইল, বিজ্ঞাপন বা রিডাইরেক্টগুলি আলগা হয়, ব্যবহারকারীকে একটি নকল লুকালাইক পেজে ফাঁদে ফেলা যেতে পারে (ফিশিং)।
ইন-অ্যাপ পেমেন্টে (এম্বেডেড ফর্ম বা নেটিভ SDK), আপনি অভিজ্ঞতার উপর বেশি নিয়ন্ত্রণ রাখেন, যা কনভার্শন ও বিশ্বাস বাড়াতে সাহায্য করে। কিন্তু আপনি বেশি সারফেস এলাকা এক্সপোজ করছেন — বটিং, স্ক্রিপ্টেড কার্ড টেস্টিং, এবং সেশন অ্যাবিউজের ঝুঁকি বেড়ে যায়। আক্রমণকারীরা আপনার লগইন, চেকআউট, এবং প্রোমো লজিকই ধ্বংসাতে পারে এমনকি তারা আসল কার্ড এন্ট্রিতে পৌঁছানোর আগেই।
আপনি খুব বেশি সিকিউরিটি এক্সপার্ট না হলে ও কার্যকর নিয়ন্ত্রণ যোগ করতে পারেন। প্রতিটি অ্যাকাউন্ট, ডিভাইস ও IP-র জন্য চেকআউট প্রচেষ্টা রেট-লিমিট করুন। রিস্কি আচরণে স্টেপ-আপ চেক যোগ করুন (নতুন ডিভাইস, অনেক ব্যর্থতা, উচ্চ পরিমাণ)। রিক্যুয়েস্ট রেপ্লে ব্লক করতে idempotency কী ও সার্ভার-সাইড ভ্যালিডেশন ব্যবহার করুন। সাইনআপ, চেকআউট, ও পাসওয়ার্ড রিসেটের মতো কী পয়েন্টে বেসিক বট ফ্রিকশন যোগ করুন। রিডাইরেক্ট URLগুলো সঙ্কীর্ণ ও সাইন করা রাখুন যাতে টেম্পারিং বন্ধ থাকে।
সংবেদনশীল কার্ড ডেটা সংগ্রহ না করেই তদন্ত সহজ করা যায়। যা ঘটেছে তা লগ করুন, কার্ড নয়।
ফ্রড রিভিউর জন্য, একটি পরিষ্কার ট্রেলেই ফোকাস করুন: অর্ডার ও ইউজার আইডেন্টিফায়ার, টাইমস্ট্যাম্প, পরিমাণ ও মুদ্রা, পেমেন্ট ইন্টেন্ট স্ট্যাটাস পরিবর্তন ও প্রোভাইডার এরর কোড, ডিভাইস ও সেশন সিগন্যাল (হাশ করে), IP ও দেশ, এবং ব্যর্থতার একটি সহজ কাউন্ট কারণ ক্যাটেগরিতে। অ্যাডমিন কার্যক্রম যেমন রিফান্ড বা অ্যাকাউন্ট ব্লকও টাইমস্ট্যাম্পসহ লগ করুন।
উদাহরণ: AppMaster-এ তৈরি একটি কাস্টমার পোর্টাল PostgreSQL-এ এই ইভেন্টগুলো স্টোর করে এবং ব্যাহততা বাড়লে একটি ব্যবসায়িক প্রসেসে অ্যালার্ট ট্রিগার করতে পারে, যখন পেমেন্ট ডিটেইলগুলো প্রোভাইডারের মধ্যে থাকে।
PCI দায়িত্ব ও কমপ্লায়েন্স স্কোপ
PCI DSS হল কার্ড ডেটা সুরক্ষার নিয়মাবলি। সরলভাবে বললে এটি উত্তর দেয়: কার্ড নম্বর কোথায় যেতে পারে, কে তা স্পর্শ করতে পারে, কিভাবে তা সুরক্ষিত হবে, এবং আপনি কীভাবে প্রমাণ করবেন। এমনকি যদি একটি পেমেন্ট প্রোভাইডার চার্জ প্রসেস করে, আপনারও দায়িত্ব থাকে যদি আপনার সাইট বা অ্যাপ পেমেন্ট তৈরিতে প্রভাব ফেলতে পারে।
হোস্টেড পেমেন্ট পেজে, গ্রাহক প্রোভাইডারের পেজে কার্ড ডিটেইলস দেয়। সঠিকভাবে করা হলে এটি সাধারণত আপনার PCI স্কোপ কমিয়ে দেয় কারণ আপনার সার্ভারগুলো কখনও কার্ড নম্বর পায় না। হোস্টেড বনাম ইন-অ্যাপ সিদ্ধান্তে এটি প্রায়ই সবচেয়ে বড় কমপ্লায়েন্স পার্থক্য।
ইন-অ্যাপ পেমেন্ট দ্রুত স্কোপ বাড়িয়ে দেয়। যদি আপনার ওয়েব অ্যাপ সরাসরি কার্ড ফিল্ড রেন্ডার করে, পেমেন্ট স্ক্রিপ্ট লোড করে, বা আপনার ব্যাকএন্ড এমন কিছু স্পর্শ করে যা কার্ড ডেটা ধারণ করতে পারে (লগ, এরর ট্রেস, অ্যানালিটিক্স ইভেন্ট), তাহলে আপনি ভারী PCI ক্যাটাগরিতে চলে যেতে পারেন। মোবাইল অ্যাপগুলিও সমান — প্রোভাইডার SDK ব্যবহার করলে সাহায্য হয়, কিন্তু একবার আপনি নিজে কাঁচা কার্ড ডেটা সংগ্রহ বা ট্রান্সমিট করলে আপনি অনেক দায়বদ্ধতা গ্রহণ করেন।
অপারেশনালি, যে কয়েকটি চলমান কাজ পরিকল্পনা করুন: পেমেন্ট-সম্পর্কিত অ্যাডমিন টুল ও প্রোডাকশনের লগে অ্যাক্সেস সীমাবদ্ধ করা; চেকআউটে প্রভাব ফেলা সিস্টেমগুলোর ইনভেন্টরি রাখা (ওয়েব অ্যাপ, ব্যাকএন্ড, CDN, তৃতীয় পক্ষের স্ক্রিপ্ট); আপনার পেমেন্ট ফ্লো ডকুমেন্ট করা ও প্রতিবার সঠিক PCI স্ব-মূল্যায়ন সম্পন্ন করা; সন্দেহভাজন ডেটা এক্সপোজার ক্ষেত্রে ইনসিডেন্ট রেসপন্স পরিকল্পনা রাখা; এবং প্যাচিং, মনিটরিং ও চেঞ্জ কন্ট্রোলের মতো বেসিক সিকিউরিটি হাইজিন বজায় রাখা।
একটি ব্যবহারিক নিয়ম: যদি কার্ড ডেটা কখনো আপনার ইনফ্রাস্ট্রাকচারে না আসে, কমপ্লায়েন্স সহজ। যদি তা আসতে পারে, ধরে নিন অডিট ও কন্ট্রোলগুলো আপনার নিয়মিত অপারেশনের অংশ হবে।
লোকালাইজেশন প্রয়োজনীয়তা: ভাষা, পদ্ধতি ও আঞ্চলিক নিয়ম
লোকালাইজেশন এমন জায়গা যেখানে হোস্টেড বনাম ইন-অ্যাপ পেমেন্টের পার্থক্য দ্রুত স্পষ্ট হয়ে ওঠে। গ্রাহকরা শুধু তাদের ভাষা দেখতে চান না — তারা তাদের দেশে লোকেরা যেভাবে পে করে, সেইভাবে পে করতে চান: পরিচিত মুদ্রা, লোকাল পেমেন্ট মেথড এবং স্থানীয় নিয়ম অনুসারে ফিল্ড।
হোস্টেড পেজ প্রায়ই আপনাকে লোকালাইজেশন ফ্রি দিয়ে দেয় কারণ প্রোভাইডার ইতিমধ্যেই অনেক মুদ্রা, অনুবাদ ও লোকাল পেমেন্ট মেথড সাপোর্ট করে। ইন-অ্যাপে একই অভিজ্ঞতা মেলানো যায়, কিন্তু কাজ আপনাকে করতে হবে: UI বানানো, ইনপুট ভ্যালিডেশন, এজ-কেস পরীক্ষা, এবং নিয়ম বদলালে সব আপডেট রাখা।
লোকালাইজড মানে আসলে কী
এটি কেবল একটি ভাষা টগল নয়। আপনার চেকআউটে মুদ্রা প্রদর্শন (এবং রাউন্ডিং), লোকাল পেমেন্ট মেথড (কার্ড বনাম ব্যাংক ট্রান্সফার বনাম ওয়ালেট), এবং দেশ-নির্দিষ্ট ফিল্ডগুলো হ্যান্ডেল করতে হবে।
সরল উদাহরণ: জার্মানিতে বিক্রি করলে প্রায়ই VAT প্রয়োজন এবং ঠিকানা প্রত্যাশা কঠোর হতে পারে। ব্রাজিলে বিক্রি করলে লোকাল মেথড ও বিভিন্ন ডকুমেন্ট ফিল্ড থাকতে পারে। এমনকি ফোন নম্বর ফরম্যাটও একটি পেমেন্ট ভাঙিয়ে দিতে পারে যদি আপনার ফর্ম বৈধ ইনপুট ব্লক করে।
ইন-অ্যাপ ফ্লোতে, সাধারণত আপনি মূল্য উপস্থাপনা (ট্যাক্স-সহ বা ট্যাক্স-বিহীন), পেমেন্ট মেথড মিক্স, ঠিকানা ও ফোন ফরম্যাটিং বিধি, ট্যাক্স/VAT ফিল্ড ও রসিদ প্রয়োজনীয়তা, এবং সঠিক ভাষায় স্পষ্ট SCA মেসেজিং-এর মতো বিস্তারিতগুলো নিজেরাই পরিচালনা করবেন।
SCA একটি ভালো উদাহরণ—এটি লুকানো জটিলতা এনে দিতে পারে। কিছু অঞ্চলে গ্রাহকরা অতিরিক্ত যাচাইকরণ ধাপ আশা করে (যেমন 3D Secure)। যদি আপনার ইন-অ্যাপ UI এটি খারাপভাবে ব্যাখ্যা করে, ব্যবহারকারীরা পেমেন্ট ছেড়ে চলে যেতে পারে এবং আপনার সাপোর্ট টিমকে 'আমি কেন দুবার চার্জ হল?' ধরণের টিকেট মোকাবিলা করতে হবে।
এটা সাপোর্ট ও বিতর্কগুলোকে কিভাবে প্রভাব করে
লোকালাইজেশন ফাঁকগুলো অপারেশনাল নোয়েজে পরিণত হয়। যদি রসিদে প্রয়োজনীয় ট্যাক্স তথ্য মিস থাকে, গ্রাহকরা ঠিক করা ইনভয়েস চাইবে। যদি একটি লোকাল মেথড অফার না করা হয়, তারা কার্ড ব্যবহার করে ব্যর্থ SCA-এর সম্মুখীন হতে পারে এবং পরে দাবি করতে পারে যে তারা চার্জ অনুমোদন করেনি।
আপনি যদি AppMaster-এ প্রডাক্ট বানান, তাহলে ফ্লো তৈরি করার সময় লোকালাইজেশন বিবেচনায় রাখুন: কেবল প্রয়োজনীয় ফিল্ডগুলো সংগ্রহ করুন, সেগুলো সঙ্গতভাবে সংরক্ষণ করুন, এবং পেমেন্ট স্ট্যাটাস মেসেজগুলো ভাষাভেদে স্পষ্ট রাখুন যাতে আপনার টিম রিফান্ড অনুরোধ ও বিতর্ক সমাধান করতে পারছে গেস না করে।
রিফান্ড: দৈনন্দিন অপারেশন
রিফান্ড শোনাতে সহজ লাগে যতক্ষণ আপনি প্রতিদিন তা করেন না: একটি গ্রাহক মত বদলে দেয়, শিপমেন্ট দেরি হয়, বা সাপোর্ট ডুপ্লিকেট চার্জ দেখাবে। হোস্টেড বনাম ইন-অ্যাপ পেমেন্টে সবচেয়ে বড় পার্থক্য হল কাজ কোথায় হয় এবং আপনার টিম যখন রিফান্ড করে তখন তাদের কাছে কত কনটেক্সট থাকে।
হোস্টেড পেজে রিফান্ড প্রায়ই পেমেন্ট প্রোভাইডারের ড্যাশবোর্ডে শুরু হয় কারণ ট্রানজ্যাকশনের ডিটেইলস প্রথমে সেখানে থাকে। আপনার সাপোর্ট টিম হয়ত আপনার সিস্টেম থেকে একটি অর্ডার আইডি কপি করে প্রোভাইডারে সার্চ করে এবং সেখান থেকে রিফান্ড করবে। এটি দ্রুত, কিন্তু যদি আপনি একটি শক্ত সিঙ্ক না করেন তাহলে এটি আপনার নিজসন্হ অর্ডার স্ট্যাটাস থেকে আলাদা মনে হতে পারে।
ইন-অ্যাপ পেমেন্টে, রিফান্ড সাধারণত আপনার নিজের অ্যাডমিন বা সাপোর্ট টুল থেকেই ইনিশিয়েট করা হয়, তারপর API-র মাধ্যমে প্রোভাইডারে পাঠানো হয়। এতে কারণ (রিটার্ন রিজন, টিকিট নম্বর, ফ্রড নোট) অর্ডারের পাশে থাকে। যদি আপনি কোনো নো-কোড ব্যাক অফিস যেমন AppMaster ব্যবহার করেন, টিমগুলো প্রায়শই একটি সহজ রিফান্ড স্ক্রিন ও বড় অর্ডারের জন্য একটি অনুমোদন ধাপ সেট আপ করে।
পার্শিয়াল রিফান্ড, ডিলেড ক্যাপচার, এবং ক্যান্সেলেশনগুলো সূক্ষ্মতা যোগ করে। যদি আপনি এখন অথরাইজ করে পরে ক্যাপচার করেন, ক্যান্সেল সাধারণত একটি ভয়েড হয় (রিফান্ড প্রয়োজন নেই), যা স্টেটমেন্টগুলিতে বিভ্রান্তি কমায়। যদি আপনি ইতিমধ্যেই ক্যাপচার করে থাকেন, তা তখন রিফান্ডে পরিণত হয়। পার্শিয়াল রিফান্ডে স্পষ্ট নিয়ম থাকা উচিৎ (ফেরত দেওয়া আইটেম, ফি রাখা, শিপিং)।
গ্রাহকরা কী দেখে তা গুরুত্বপূর্ণ। কিছু প্রোভাইডার আপনার ডিসক্রিপ্টর দেখায়, অন্যরা প্যারেন্ট কোম্পানির নাম দেখায়। একজন গ্রাহক যদি চার্জ চিনতে না পারে, তারা রিফান্ড চাওয়ার বদলে একটি বিতর্ক খুলবে।
রিফান্ড স্পিড সাপোর্ট ভলিউম ড্রাইভ করে। প্রত্যাশা সেট করুন এবং স্ট্যাটাস আপডেট অটোমেট করুন। নিশ্চিত করুন অর্ডার হিস্টরি 'রিফান্ড ইনিশিয়েটেড' এবং 'রিফান্ডেড' আলাদা করে দেখায়, এটি ব্যাংকের টাইমলাইন (সাধারণত 3-10 ব্যবসায়িক দিন) সহ একটি সাদাসিধা কনফার্মেশন মেসেজ পাঠান, রিফান্ড কারণগুলির জন্য একটি একক সূত্র রাখুন, প্রোভাইডারে সফল কিন্তু আপনার সিস্টেমে আপডেট ব্যর্থ হওয়া রিফান্ডগুলো ফ্ল্যাগ করুন, এবং পার্শিয়াল রিফান্ডগুলো পরিষ্কারভাবে দেখান যাতে গ্রাহক সম্পূর্ণ উল্টোপ্রত্যাশা না করেন।
চার্জব্যাক: বাস্তবে বিতর্ক কিভাবে ভিন্ন
চার্জব্যাক হল কার্ডহোল্ডার তাদের ব্যাংককে বলছে 'আমি এটি অনুমোদন করিনি' অথবা 'আমি যা পরিশোধ করেছি তা পাইনি।' ব্যাংক প্রথমে অর্থ টেনে নিয়ে যায়, তারপর মার্চেন্টকে জবাব দিতে বলে। আপনি হোস্টেড পেজ ব্যবহার করুন বা ইন-অ্যাপ, টাইমলাইন সমান, কিন্তু দৈনন্দিন কাজ ও আপনি যে প্রমাণ ব্যবহার করতে পারবেন তা প্রায়ই পরিবর্তিত হয়।
লাইফসাইকেল সাধারণত এ রকম: আপনি আপনার পেমেন্ট প্রোভাইডার থেকে একটি নোটিফিকেশন পান, আপনার কাছে উত্তর দেওয়ার জন্য একটি সংক্ষিপ্ত ডেডলাইন থাকে, আপনি প্রমাণ জমা দেন, তারপর একটি ফলাফল পান (জয়, পরাজয়, বা আংশিক)। ডেডলাইনগুলো কড়া। একটি মিসকরা ব্যাক হলে প্রায়ই স্বয়ংক্রিয়ভাবে হারেন, এমনকি যদি আপনার কেস ভালোও থাকে।
সবচেয়ে বেশি পার্থক্য যেখানে দেখা যায় তা হল প্রমাণ সংগ্রহ। হোস্টেড চেকআউটে, প্রোভাইডারের কাছে প্রায়ই পেমেন্ট ধাপ সম্পর্কে শক্ত স্ট্যান্ডার্ডাইজড সিগন্যাল থাকে (অথেন্টিকেশন ফলাফল, ডিভাইস চেক, রিস্ক স্কোরিং)। ইন-অ্যাপে, আপনাকে আপনার নিজের অ্যাপ-সাইড গল্প আরও বিশদে দেখাতে বলা হতে পারে: ইউজার কী করেছে, কখন করেছে, এবং কোন অ্যাকাউন্ট থেকে।
দুই মডেলেই যা প্রমাণ হিসেবে কাজে লাগে তা সাধারণ ও ব্যবহারিক: ব্যবহারকারী অথেন্টিকেট ছিল তার প্রমাণ (লগইন হিস্টরি, ইমেইল বা ফোন ভেরিফিকেশন, 3DS ফলাফল যদি ব্যবহার করা হয়), অর্ডার ও ডেলিভারি প্রমাণ (শিপিং ক্যারিয়ার স্ক্যান, ডাউনলোড অ্যাক্সেস লগ, সাবস্ক্রিপশন অ্যাক্টিভেশন), গ্রাহক যোগাযোগ (টিকিট, রিফান্ড অনুরোধ, টার্মসের স্বীকৃতি), ব্যবহার ইতিহাস (সেশন, IP অঞ্চলের সামঞ্জস্য, ডিভাইস ফিঙ্গারপ্রিন্ট যদি সংগ্রহ করে), এবং পেমেন্ট, অ্যাকাউন্ট এবং ডেলিভারির মধ্যে টাইমস্ট্যাম্প।
অপারেশনালি, বিতর্কগুলো সাপোর্টকে রিশেপ করে। হোস্টেড পেজগুলো পেমেন্ট-স্টেপ সম্পর্কিত যুক্তি কমাতে পারে কারণ চেকআউট একটি পরিচিত ফ্লো, কিন্তু সাপোর্টকে এখনও ফালফিলমেন্ট ও নীতির প্রমাণ লাগবে। ইন-অ্যাপ ফ্লোতে সাধারণত আরও অভ্যন্তরীণ সমন্বয় প্রয়োজন: সাপোর্ট, প্রডাক্ট, ও ইঞ্জিনিয়ারিং দ্রুত লগ তুলতে পারে, বিশেষ করে যদি আপনার সিস্টেম পরিষ্কার অডিট ট্রেইল না রাখে।
খরচের জন্য পরিকল্পনা করুন: চার্জব্যাক ফি, ইতিমধ্যেই ডেলিভার করা পণ্য বা সার্ভিসের ক্ষতি, স্টাফ টাইম, এবং অ্যাকাউন্ট রিস্ক। বেশি বিতর্ক হলে রিজার্ভ, উচ্চ প্রসেসিং খরচ, বা এমনকি অ্যাকাউন্ট টার্মিনেশন হতে পারে। যদি একজন ইউজার একটি মাস ব্যবহার করার পরে প্রতারণার দাবি করে, আপনার সেরা প্রতিরক্ষা হলো লগইন থেকে ফিচার ব্যবহার ও ডেলিভারি পর্যন্ত সোজা প্রমাণ-চেইন, ডেডলাইনের আগে প্রস্তুত।
কীভাবে নির্বাচন করবেন: সহজ ধাপে ধাপে সিদ্ধান্ত প্রক্রিয়া
হোস্টেড বনাম ইন-অ্যাপ পেমেন্ট বেছে নেওয়া মূলত কে ঝুঁকি ও প্রচেষ্টা বহন করবে এবং আপনি কঠিন অংশগুলো কোথায় রাখতে চান: আপনার প্রডাক্টে নাকি পেমেন্ট প্রোভাইডারের চেকআউটে।
কিছু লিখে শুরু করুন বিল্ড করার আগে:
-
আপনার অবশ্যই থাকা পেমেন্ট মেথড ও অঞ্চলগুলো তালিকা করুন। যদি আপনাকে লোকাল মেথড (ব্যাংক ট্রান্সফার, ওয়ালেট, বা BNPL) বা অনেক মুদ্রা দরকার হয়, হোস্টেড পেজ সাধারণত আপনাকে দ্রুত সেখানে নিয়ে যাবে। যদি আপনার দরকার সিম্পল (শুধু কার্ড, কিছু দেশ), ইন-অ্যাপ কার্যকর হতে পারে।
-
ঠিক করুন কারা চেকআউট UX ও অ্যানালিটিক্সের মালিক। হোস্টেড পেজ আপনাকে একটি প্রুভেন ফ্লো দেয়, কিন্তু প্রতিটি ডিটেইলে কম কন্ট্রোল। ইন-অ্যাপ পূর্ণ নিয়ন্ত্রণ দেয়, কিন্তু আপনাকে ত্রুটি স্টেট, রিট্রাই, ট্র্যাকিং এবং 3DS চ্যালেঞ্জের পরে কী হবে তা ডিজাইন করতে হবে।
-
আপনার PCI কমপ্লায়েন্স দায়িত্ব ও সিকিউরিটি সক্ষমতা ম্যাপ করুন। আপনার কি লোক ও প্রসেস আছে বেশি সংবেদনশীল পেমেন্ট হ্যান্ডল করতে? না হলে প্রোভাইডারের হোস্টেড পেজে কার্ড এন্ট্রি রেখে স্কোপ কমান।
-
লঞ্চের আগে রিফান্ড ও চার্জব্যাক ওয়ার্কফ্লো ডিজাইন করুন। কে রিফান্ড করতে পারবে, পার্শিয়াল রিফান্ড কিভাবে কাজ করবে, "রিফান্ড অনুমোদিত কিন্তু কাস্টমার এখনও_pending_ দেখছে" এর মতো পরিস্থিতি কিভাবে হ্যান্ডেল করবেন, এবং বিতর্কের জন্য আপনি কী প্রমাণ সংরক্ষণ করবেন তা সংজ্ঞায়িত করুন।
-
একটি ছোট পাইলট চালান এবং প্রকৃত ফলাফল মাপুন। একটি প্রোডাক্ট বা অঞ্চল বেছে নিয়ে পরীক্ষা করুন, তারপর ড্রপ-অফ, প্রতারণা ফ্ল্যাগ, রিফান্ড রেট, এবং প্রতি 100 পেইড সাইনআপে সাপোর্ট টিকিট তুলনা করুন।
আপনি যদি AppMaster-এ একটি নতুন অ্যাপ বানান, একটি পাইলট সাধারণত সহজতম শুরু। প্রথমে একটি চেকআউট পথ শিপ করুন, তারপরই বিস্তৃত করুন যতক্ষণ না আপনি দেখেন কোথায় ইউজাররা ছাড়ছে এবং আপনার সাপোর্ট টিম কী নিয়ে সময় ব্যয় করছে।
সাধারণ ভুল যা সাপোর্ট ব্যথা বাড়ায়
পেমেন্টে বেশিরভাগ সাপোর্ট ইস্যু পেমেন্ট বাগ নয়। এগুলো ফ্লো, মেসেজিং, বা আপনার অ্যাপ ও প্রোভাইডারের মধ্যে হ্যান্ডঅফে ফাঁক। এখানে হোস্টেড বনাম ইন-অ্যাপ পেমেন্ট দৈনন্দিনভাবে অনেক আলাদা মনে হতে পারে।
একটি সাধারণ ফাঁদ হল ধরে নেওয়া যে হোস্টেড পেজ মানে শূন্য দায়িত্ব। আপনি হয়ত সরাসরি কার্ড ডেটা হ্যান্ডেল না করলেও, গ্রাহক অভিজ্ঞতা, অর্ডার স্টেট, কনফার্মেশন স্ক্রিন, রসিদ, এবং ব্যর্থ হলে আপনি গ্রাহককে কী বলবেন — এগুলো আপনার দায়িত্ব।
টিকিটে পরিণত হওয়া ভুলগুলো
এই প্যাটার্নগুলো প্রায়শই এড়ানো যোগ্য সাপোর্ট ভলিউম তৈরি করে:
- হোস্টেড চেকআউটকে সেট-অ্যান্ড-ফরগেট ধরলে_declines_, ডুপ্লিকেট পেমেন্ট, এবং পেন্ডিং স্ট্যাটাস নিয়ে অবাক হওয়া।
- পেমেন্ট UI এম্বেড করা কিন্তু 3DS/SCA ধাপ, ব্যাংক অ্যাপ রিডাইরেক্ট, টাইমআউট, এবং চ্যালেঞ্জ ফেইলিউরগুলোর পরিকল্পনা না করা। ব্যবহারকারীরা চার্জ হয়েছে মনে করে যখন তারা কেবল অথেন্টিকেট করেছে।
- ওয়েবহুক/ইভেন্টগুলো বাদ দেওয়া, ফলে রিফান্ড, পার্শিয়াল ক্যাপচার, রিভার্সাল বা বিতর্ক কখনও আপনার ডাটাবেসে আপডেট হয় না। সাপোর্ট একটি স্ট্যাটাস দেখে আর ফাইন্যান্স আরেকটি।
- সাপোর্ট স্ক্রিপ্ট লেখা যা প্রোভাইডারের টার্মের সাথে মেলে না। ব্যবহারকারী রিফান্ড বলে, প্রসেসর রিভার্সাল দেখায়, ব্যাংক চার্জব্যাক দেখায়, এবং সবাই একে অপরকে বোঝে না।
- চেকআউট পেজ ভাষা লোকালাইজ করা কিন্তু রসিদ এবং স্টেটমেন্ট ডিসক্রিপ্টর ভুলে যাওয়া। গ্রাহক চার্জ চিনতে পারে না এবং বিতর্ক খুলে দেয়।
একটি বাস্তবসম্মত পরিস্থিতি: একজন ইউজার 3DS সম্পন্ন করে, রিডাইরেক্ট হয়ে ফিরে আসে, এবং আপনার অ্যাপ সেশন হারায়। ইভেন্ট হ্যান্ডলিং ব্যতীত অর্ডার অপরিশোধিত থাকে, তারা আবার চেষ্টা করে, এবং আপনি একটি ডুপ্লিকেট চার্জ ক্লেইম পান।
আপনি যদি AppMaster-এ আপনার অ্যাপ বানান, পেমেন্ট ইভেন্টকে প্রথম-শ্রেণির ডেটা হিসেবে বিবেচনা করুন: প্রোভাইডার আইডি স্টোর করুন, স্পষ্ট স্ট্যাটাস টাইমলাইন রাখুন, এবং সাপোর্ট স্ক্রিনগুলোতে প্রোভাইডারে যা ঘটেছে তা সাধারণ ভাষায় দেখান।
চূড়ান্ত সিদ্ধান্ত নেওয়ার আগে দ্রুত চেকলিস্ট
হোস্টেড বনাম ইন-অ্যাপ পেমেন্ট লক ইন করার আগে অপারেশনাল বিবরণগুলো দ্রুত দেখে নিন। বেশিরভাগ পেমেন্ট সমস্যা পরে সাপোর্ট টিকিট, মিসিং অডিট ট্রেইল, বা ঝামেলার রিকনসিলিয়েশন হিসেবে দেখা দেয়, কার্ড চার্জ ব্যর্থ হওয়া হিসেবে নয়।
আপনার পরিকল্পনা চাপ দিন:
- কার্ড ডেটা টাচপয়েন্ট: প্রতিটি স্ক্রিন, API কল, লগ, এবং সাপোর্ট টুল ম্যাপ করুন। আপনার অ্যাপ যদি কখনও ফুলি কার্ড নম্বর দেখে বা সংবেদনশীল ডেটা স্টোর করে, আপনার ঝুঁকি ও কমপ্লায়েন্স স্কোপ দ্রুত বাড়ে।
- রিফান্ড কন্ট্রোল: কে রিফান্ড ট্রিগার করতে পারে, কোন সীমা প্রযোজ্য, এবং কী রেকর্ড হবে তা নিশ্চিত করুন। রোল-ভিত্তিক পারমিশন, একটি স্পষ্ট রিজন কোড, এবং ফাইন্যান্স ব্যবহারযোগ্য একটি অডিট লগ লক্ষ রাখুন।
- লোকাল পেমেন্ট এবং ভাষা: লক্ষ্য দেশ, মুদ্রা, এবং সেখানে ব্যবহৃত পেমেন্ট মেথডগুলোর তালিকা করুন। প্রয়োজনীয় ফিল্ড ও আইনী পাঠ কিভাবে উপস্থাপন করবেন তা নিশ্চিত করুন।
- বিতর্ক প্রস্তুতি: চার্জব্যাকের জন্য একটি সাধারণ প্রমাণ প্যাক সংজ্ঞায়িত করুন (অর্ডার ডিটেইল, ডেলিভারি প্রমাণ, গ্রাহক যোগাযোগ, পলিসি গ্রহণ, টাইমস্ট্যাম্প)। এটি মিনিটে সংগ্রহযোগ্য করে নিন, দিন নয়।
- পরিষ্কার রিকনসিলিয়েশন: একটি আইডেন্টিফায়ার বেছে নিন যা সবকিছুকে একত্রে বাঁধবে (অর্ডার ID, ইনভয়েস নম্বর, অথবা কাস্টমার ID) এবং নিশ্চিত করুন এটি পেমেন্ট ইভেন্ট, রিফান্ড ও অ্যাকাউন্টিং এক্সপোর্টে প্রবাহিত হয়।
একটি বাস্তব পরীক্ষা: কল্পনা করুন একটি সাপোর্ট এজেন্ট একটি রাগি গ্রাহককে হ্যান্ডেল করছে যিনি রিফান্ড চান আর অন্যদিকে কেউ ব্যাংক ডিসপিউট অ্যাকশনে আছে। যদি আপনি লগ ও পারমিশন থেকে 'কে কি করেছে, কখন, এবং কেন' সহজে বলতে না পারেন, আপনি স্কেলে তা অনুভব করবেন।
আপনি যদি AppMaster-এ ব্যাক অফিস বা অ্যাডমিন টুল বানান, শুরু থেকেই রিফান্ড, বিতর্ক নোট, এবং রিকনসিলিয়েশন আইডি-কে বাস্তব ফিল্ড ও ওয়ার্কফ্লো হিসেবে বিবেচনা করুন।
একটি বাস্তব উদাহরণ পরিস্থিতি
একটি ছোট সাবস্ক্রিপশন SaaS US ও কিছু EU দেশে $29/মাস প্ল্যান বিক্রি করে। টিমে একজন ডেভেলপার, একটি সাপোর্ট ইনবক্স, এবং একটি স্পষ্ট লক্ষ্য: কোয়ার্টারের মধ্যে পেমেন্ট শুরু করা কোনো অপ্রত্যাশিত কমপ্লায়েন্স কাজ সৃষ্টি না করে।
অপশন A: হোস্টেড পেমেন্ট পেজ। তারা প্রোভাইডারের হোস্টেড চেকআউট ব্যবহার করে এবং পেমেন্টের সময় ইউজারকে রিডাইরেক্ট করে। রোলআউট প্রায় দুই সপ্তাহ নেয় কারণ অ্যাপ কাঁচা কার্ড ডেটা স্পর্শ করে না, এবং PCI দায়িত্ব বেশিরভাগই প্রোভাইডারের ওপর থাকে। প্রথম 60 দিনে সাপোর্টে পেমেন্ট ব্যর্থ টিকিট কম দেখা যায় কারণ হোস্টেড পেজ সাধারণ 3DS ও ব্যাংক প্রম্পটগুলোই হ্যান্ডেল করে। লোকালাইজেশনও সহজ: চেকআউট স্থানীয় ভাষা ও সাধারণ EU মেথড দেখাতে পারে টিমকে প্রতিটি এজ-কেস নির্মাণ না করেই।
অপশন B: ইন-অ্যাপ পেমেন্ট। তারা সম্পূর্ণ পেমেন্ট ফর্ম প্রোডাক্টের ভেতরে এম্বেড করে একটি ঘনিষ্ঠ, বেশি নেটিভ UX তৈরি করে। রিটার্নিং ইউজারদের জন্য কনভার্শন সামান্য উন্নত হতে পারে, কিন্তু টিম অপারেশনাল কাজে বেশি সময় ব্যয় করে: কার্ড ফর্ম ত্রুটি হ্যান্ডেল, পেমেন্ট মেথড সঠিকভাবে সংরক্ষণ, এবং প্রতিটি স্ক্রিন কমপ্লায়েন্ট রাখা।
প্রথম 60 দিনে, দৈনন্দিন কাজ কয়েকজায়গায় আলাদা মনে হয়। হোস্টেড পেজে রিফান্ড প্রায়ই প্রোভাইডার ড্যাশবোর্ডে হয়, আর ইন-অ্যাপে শক্ত সিঙ্ক থাকা লাগবে আপনার বিলিং স্ক্রিনের সঙ্গে। চার্জব্যাক দুই পদ্ধতিতে সময়রেখা একই, কিন্তু ইন-অ্যাপে বেশি অভ্যন্তরীণ লগ থাকবে যা সংগঠিত রাখা দরকার। লোকালাইজেশন সাধারণত হোস্টেড পেজে দ্রুত হয়, ইন-অ্যাপে প্রতিটি অঞ্চলের UI, কপি ও QA আপনারই করতে হবে।
সাপ্তাহিক পর্যবেক্ষণ সহজ: চেকআউট কনভার্শন রেট, অনলাইন পেমেন্টে প্রতারণা রেট, রিফান্ড রেট, ডিসপিউট রেট, এবং প্রতি 100 পেইড সাইনআপে সাপোর্ট টিকিট।
যদি তারা একটি নো-কোড টুল যেমন AppMaster ব্যবহার করে, একই ট্রেড-অফ প্রযোজ্য: হোস্টেড চেকআউট দিয়ে দ্রুততা ও কম কমপ্লায়েন্স, অথবা বেশি কন্ট্রোল নিতে চাইলে ইন-অ্যাপ—কিন্তু চলমান দায়িত্ব বেশি।
পরবর্তী ধাপ: একটি পথ বেছে নিন এবং রোলআউট পরিকল্পনা করুন
শুরুতে লিখে রাখুন আপনার পেমেন্টে "ডন" কী দেখতে হবে। সবচেয়ে বড় অপ্রত্যাশ্যতা সাধারণত অপারেশন থেকে আসে, চেকআউট স্ক্রিন থেকে নয়। কোথায় আপনি বিক্রি করবেন, কোন পেমেন্ট মেথডগুলো গুরুত্বপূর্ণ, এবং কিছু ভুল হলে কাজ কারা করবে তা স্পষ্ট করুন।
একটি সংক্ষিপ্ত পরিকল্পনা যা বাস্তবে ভালো কাজ করে:
- লক্ষ্য অঞ্চল, মুদ্রা, এবং আপনার অবশ্যই সমর্থন করতে হবে এমন পেমেন্ট মেথডগুলো তালিকাভুক্ত করুন।
- মালিক বরাদ্দ করুন: রিকনসিলিয়েশনের জন্য ফাইন্যান্স, রিফান্ড ও ডিসপিউটের জন্য সাপোর্ট, ইন্টিগ্রেশনের জন্য ইঞ্জিনিয়ারিং, এবং PCI স্কোপ ও কন্ট্রোলের জন্য সিকিউরিটি/কমপ্লায়েন্স।
- ন্যূনতম প্রতারণা নিয়ন্ত্রণ ও একটি সাপোর্ট প্লেবুক সংজ্ঞায়িত করুন: কী অটো-অনুমোদিত, কী রিভিউ হবে, কী প্রমাণ সংগ্রহ করবেন, এবং রেসপন্স টাইম টার্গেট।
- উভয় ফ্লো প্রোটোটাইপ করুন এবং বাস্তব ডিভাইস ও ইউজারের সাথে টেস্ট করুন, 3DS, ব্যর্থ পেমেন্ট, এবং বিঘ্নিত নেটওয়ার্কের মত এজ-কেস সহ।
- আপনার ডেটা ও রিপোর্টিং পরিকল্পনা করুন: CRM/হেল্পডেস্কে কী যাবে, অর্ডার স্ট্যাটাস কিভাবে ট্র্যাক করবেন, এবং রিফান্ড অডিট কিভাবে করবেন।
টেস্ট করার সময় একটি সিনারিও অন্তর্ভুক্ত করুন: ফ্রান্সের একজন গ্রাহক লোকাল মেথড দিয়ে পে করে, একটি পার্শিয়াল রিফান্ড চায়, পরে বিতর্ক করে। এন্ড-টু-এন্ড চালান এবং টাইম করুন টিমকে ট্রানজ্যাকশন খুঁজে পেতে, ডেলিভারি নিশ্চিত করতে, এবং জবাব দিতে কত সময় লাগে।
যদি আপনি চেকআউটের বাইরে দ্রুত এগোতে চান, পুরো সিস্টেমটি তার চারপাশে তৈরি করুন: অ্যাডমিন প্যানেল, ব্যাকএন্ড লজিক, কাস্টমার পোর্টাল, ও মোবাইল অ্যাপ। AppMaster (appmaster.io) এন্ড-টু-এন্ড বিল্ডের জন্য ডিজাইন করা হয়েছে, তাই আপনি পেমেন্ট ফ্লো, ওয়ার্কফ্লো, এবং সাপোর্ট টুলিং পুনরায় তৈরি করে না দিয়ে ধারাবাহিকভাবে ইটারেট করতে পারবেন।
প্রশ্নোত্তর
প্রতি-ডিফল্টভাবে দ্রুত চালু করতে এবং কার্ড-ডেটা এক্সপোজার কম রাখতে হোস্টেড পেমেন্ট পেজ বেছে নিন। ইন-অ্যাপ পেমেন্ট তখনই বেছে নিন যখন আপনি চেকআউট UI-র উপর পূর্ণ নিয়ন্ত্রণ চাইছেন এবং বেশি টেস্টিং, এজ-কেস এবং অপারেশনাল রক্ষণাবেক্ষণ নিতে প্রস্তুত আছেন।
প্রায়ই, হ্যাঁ — কারণ প্রোভাইডার যখন কার্ড এন্ট্রি হোস্ট করে, আপনার অ্যাপ সাধারণত কাঁচা কার্ড নম্বর পায় না। এর ফলে লগ, অ্যানালিটিক্স বা বাগ থেকে ডেটা লিক হওয়ার সম্ভাবনা কমে, তবে আপনার চেকআউট ইনিশিয়েশন এবং ফালফিলমেন্ট ধাপগুলো ঠিক রাখা জরুরি।
হোস্টেড পেমেন্ট পেজগুলো সাধারণত আপনার PCI স্কোপ ছোট করে কারণ প্রোভাইডার তাদের পেজে কার্ড ডিটেইলস সংগ্রহ করে। ইন-অ্যাপ পেমেন্টে, যদি আপনার ওয়েব/মোবাইল অ্যাপ বা ব্যাকএন্ড কার্ড ডেটা স্পর্শ করতে পারে (প্রতিফলন বা লগে), তাহলে PCI স্কোপ দ্রুত বড় হতে পারে।
আপনি ব্র্যান্ড নিয়ন্ত্রণ ও মসৃণ, নেটিভ অভিজ্ঞতা পান, বিশেষ করে রিটার্নিং ইউজারদের জন্য। এর বিনিময়ে আপনাকে ত্রুটি অবস্থা, রিট্রাই, 3DS/SCA ফ্লো এবং ডিভাইস-আপডেট অনুযায়ী UI বজায় রাখতে বেশি কাজ করতে হবে।
হোস্টেড চেকআউটগুলো সাধারণত এই ধাপগুলো প্রোভাইডার স্তরে স্ট্যান্ডার্ডভাবে হ্যান্ডেল করে, তাই আপনার UI-তে কম কাজ থাকে। ইন-অ্যাপে আপনি চ্যালেঞ্জ স্টেটগুলো পরিষ্কারভাবে হ্যান্ডেল না করলে ইউজার আটকে পড়তে পারেন বা দ্ব্যর্থবোধ সৃষ্টি হতে পারে।
হোস্টেড পেজগুলো আপনার UI-তে নির্দিষ্ট কার্ড-এন্ট্রি আক্রমণের সংখ্যাকে কমাতে পারে, কিন্তু পুরো ফ্রড ঝুঁকি দূর করে না। ইন-অ্যাপ ফ্লোগুলোতে আপনার অ্যাপ লজিক বেশি এক্সপোজড থাকে, তাই সাধারণত রেট-লিমিট, স্টেপ-আপ চেক, idempotency কী ও সার্ভার-সাইড ভ্যালিডেশন লাগবে।
হোস্টেড পেজে রিফান্ড প্রায়ই প্রোভাইডারের ড্যাশবোর্ড থেকেই শুরু হয়; দ্রুত কিন্তু আপনার অর্ডার সিস্টেমের সঙ্গে আলাদা লাগতে পারে যদি সিঙ্ক না থাকে। ইন-অ্যাপে সাধারণত আপনার নিজের অ্যাডমিন টুল থেকে রিফান্ড ট্রিগার করা হয় এবং প্রোভাইডারে API-এর মাধ্যমে পাঠানো হয়, ফলে কারন ও অনুমোদন অর্ডারের পাশে থাকে।
ব্যাংক টাইমলাইন ও প্রোভাইডার প্রসেস দুই ক্ষেত্রেই সাদৃশ্য রাখে, তবে প্রমাণ-চেইনে পার্থক্য থাকে। হোস্টেড চেকআউটগুলোতে প্রোভাইডার দিক থেকে স্ট্যান্ডার্ড সিগন্যাল থাকতে পারে; ইন-অ্যাপে আপনাকে ব্যবহারকারীর অ্যাপ-সাইড স্টোরি (কী করেছিল, কখন, কোন অ্যাকাউন্ট থেকে) দেখাতে বলা হতে পারে।
হোস্টেড পেজগুলো সাধারণত বহুভাষা, মুদ্রা ও লোকাল পেমেন্ট মেথড দ্রুত সমর্থন করে বলে লোকালাইজেশন সহজ করে। ইন-অ্যাপেও এটি মেলা যায়, কিন্তু আপনাকেই UI, ইনপুট ভ্যালিডেশন এবং আঞ্চলিক QA-র কাজ নিতে হবে।
প্রোভাইডার আইডি সংরক্ষণ করুন, একটি পরিষ্কার পেমেন্ট স্ট্যাটাস টাইমলাইন রাখুন, এবং ওয়েবহুক/ইভেন্টগুলোর উপর নির্ভর করুন যাতে রিফান্ড, ডিস্পিউট ও পার্শিয়াল অ্যাকশনগুলো আপনার ডাটাবেসে আপডেট হয়। AppMaster-এ এগুলোকে PostgreSQL-এ মডেল করে অ্যাডমিন স্ক্রিন ও ব্যবসায়িক প্রসেস বানানো যায়, ফলে আপনি কাঁচা কার্ড ডেটা হ্যান্ডেল করতে হবে না।


