Whizi চেকআউটে কার্ড ডিক্লাইন বা পেমেন্ট ব্যর্থ হওয়া

দ্রুত উত্তর

যদি Whizi চেকআউটে আপনার কার্ড সত্যিই ডিক্লাইন হয়ে থাকে, তাহলে প্রত্যাখ্যানটা এসেছে আপনার ব্যাংক থেকে Stripe-এর মাধ্যমে, Whizi থেকে নয়, তাই সমাধান হলো একটা ভিন্ন কার্ড ব্যবহার করা বা আপনার ব্যাংকে ফোন করা। Whizi-তে কোথাও কোনো কার্ড ডিক্লাইন মেসেজ নেই, তাই এররে Whizi-এর নিজস্ব লেখা থাকা মানে সেটা ডিক্লাইন ছিল না।

সংক্ষিপ্ত উত্তর

যদি আপনার কার্ড সত্যিই ডিক্লাইন হয়ে থাকে, তাহলে প্রত্যাখ্যানটা এসেছে আপনার ব্যাংক থেকে Stripe-এর মাধ্যমে, Whizi থেকে নয়, তাই সমাধান হলো একটা ভিন্ন কার্ড অথবা আপনার ব্যাংকে ফোন করা। ব্যাংকগুলো প্রথমেই কেন AI সাবস্ক্রিপশন পেমেন্ট ব্লক করে, আর ছয়টা কারণের মধ্যে কোনটার মুখোমুখি আপনি হয়েছেন তা কীভাবে বুঝবেন, তা আছে আপনার কার্ড ডিক্লাইন হলে AI-এর জন্য কীভাবে পেমেন্ট করবেন-এ। Whizi-তে কোথাও কোনো কার্ড ডিক্লাইন মেসেজ নেই। কার্ডের তথ্য দেওয়া হয় Stripe-এর হোস্ট করা চেকআউট পেজে, যেটা Whizi-এর কোডবেসের বাইরে থাকে, আর Whizi-এর Stripe ওয়েবহুক হ্যান্ডলারে আপনাকে দেখানোর মতো কোনো ডিক্লাইন্ড পেমেন্ট মেসেজ নেই।

তাই যদি আপনি এমন একটা এরর দেখে থাকেন যাতে Whizi-এর নিজস্ব লেখা আছে, সেটা ডিক্লাইন ছিল না। সেটা নিচের স্ট্রিংগুলোর একটা ছিল, আর প্রতিটার কারণ আর সমাধান আলাদা।

যে তিনটাকে সবচেয়ে সহজে ডিক্লাইন ভেবে ভুল করা যায়:

আপনি যা দেখেছেনএর মানে কীকী করবেন
A $1 intro trial has already been used with this payment method.সেই কার্ড ইতিমধ্যে ইন্ট্রো ট্রায়াল ব্যবহার করে ফেলেছেস্বাভাবিক রেটে সাবস্ক্রাইব করুন, অথবা এমন একটা কার্ড ব্যবহার করুন যেটা এখনো ট্রায়াল ব্যবহার করেনি। রিট্রাই করলে কাজ হবে না
Pricing is temporarily unavailable.Whizi Stripe থেকে প্রাইস টেবিল পড়তে পারেনিঅপেক্ষা করুন আর পরে আবার চেষ্টা করুন। আপনার দিক থেকে এটা ঠিক করার কিছু নেই
Failed to create Stripe checkout session.চেকআউট কলটা ব্যর্থ হয়েছে আর ব্যাকএন্ড কোনো মেসেজ দেয়নিএকবার রিট্রাই করুন। যদি আবার হয়, সাপোর্টে যোগাযোগ করুন

চেকআউটে Whizi ব্যাকএন্ড যে প্রতিটা এরর ফেরত দেয়

এগুলো সার্ভার থেকে আসে, তাই এগুলোর সাথে একটা HTTP স্ট্যাটাস আর একটা এরর কোড থাকে যা সাপোর্ট নেটওয়ার্ক ট্রেসে মিলিয়ে দেখতে পারে। প্রতিটা ব্যাকএন্ড এরর বডি {"error": {"code": "...", "message": "..."}} এই আকারে JSON হয়, তাই কোডটা মেসেজের পাশেই বসে থাকে। নিচের সারিগুলো HTTP স্ট্যাটাস অনুযায়ী সাজানো।

মেসেজHTTPকোডকখন ঘটে
A plan and billing cycle are required.400invalid_checkout_requestচেকআউট বডি পার্স করা যায়নি
Invalid plan or billing cycle.400invalid_plan_or_cycleপ্ল্যান বা সাইকেলটা কোনো পরিচিত Stripe প্রাইসের সাথে মেলে না
No subscription item found for the active subscription.400subscription_item_missingএকটা ইন প্লেস প্ল্যান পরিবর্তন এমন একটা সাবস্ক্রিপশনের বিরুদ্ধে চলেছে যাতে কোনো আইটেম নেই
The supplied discount must be an active 100% promotion code or coupon ID.400invalid_discountদেওয়া কোডটা কোনো সক্রিয় 100 শতাংশ প্রোমোশন কোড বা কুপন আইডি নয়
Temporary email addresses are not allowed. Please use a permanent email address.400disposable_email_blockedসাইন ইন করা অ্যাকাউন্টের ইমেইলটা ডিসপোজেবল ডোমেইন তালিকায় আছে
A $1 intro trial has already been used with this payment method.403duplicate_trial_payment_methodকার্ড ফিঙ্গারপ্রিন্টটা ইতিমধ্যে ইন্ট্রো ট্রায়াল দাবি করে ফেলেছে
User not found.404not_foundচেকআউট রুটটা আপনার ইউজার রো পড়তে পারেনি
Pricing is temporarily unavailable.503pricing_unavailableStripe থেকে লোকালাইজড প্রাইস টেবিল পড়া যায়নি

প্রতিটার জন্য কী করবেন। ইন্ট্রো ট্রায়াল প্রত্যাখ্যানের নিজস্ব সেকশন নিচে আছে। Pricing is temporarily unavailable. সার্ভার সাইড: HTTP 503, যখন Stripe থেকে লোকালাইজড প্রাইস টেবিল পড়া যায় না তখন এটা ফেরত আসে, আর আপনার অ্যাকাউন্টে এমন কোনো সেটিং নেই যা এটা বদলাবে। Failed to create Stripe checkout session. আসলে কোনো সার্ভার মেসেজই না, তাই এটা কোনো কারণ বলে না: এটা ওয়েবসাইটের নিজস্ব ফলব্যাক টেক্সট, যা দেখানো হয় যখন চেকআউট কলটা ব্যর্থ হয় আর ব্যাকএন্ড কোনো মেসেজ দেয় না। দুটোতেই অপেক্ষা করে আবার চেষ্টা করাই সমাধান।

A plan and billing cycle are required. আর Invalid plan or billing cycle. দুটোরই মানে হলো রিকোয়েস্টটা সার্ভারের চেনা কোনো প্ল্যান বহন করেনি, তাই পুরনো বা এডিট করা কোনো চেকআউট লিংক আবার ব্যবহার না করে প্রাইসিং পেজ থেকে আবার শুরু করুন আর সেখান থেকে প্ল্যান আর মাসিক বা বার্ষিক টগলটা বেছে নিন।

User not found. মানে আপনার সেশনটা এমন একটা ইউজার রো নির্দেশ করছে যা সার্ভার পড়তে পারছে না। সাইন আউট করুন, আবার সাইন ইন করুন, তারপর আবার চেকআউট শুরু করুন।

No subscription item found for the active subscription. প্রথম কেনাকাটার সময় নয়, একটা প্ল্যান পরিবর্তনের সময় ঘটে, আর এটা ইন্টারফেস থেকে ঠিক করা যায় না। সাপোর্টে যোগাযোগ করুন।

চেকআউট খোলার আগেই ওয়েবসাইট যে এররগুলো দেখায়

এগুলো ব্রাউজার থেকে আসে, সার্ভার থেকে নয়, তাই এগুলোতে কোনো HTTP কোড থাকে না। এগুলো সব একই বড় ব্যাপার বোঝায়: Stripe-এর কাছে হ্যান্ডওভারের জন্য আপনার অ্যাকাউন্ট প্রস্তুত করার সময় কিছু একটা ব্যর্থ হয়েছে, তাই কোনো চার্জই চেষ্টা করা হয়নি।

মেসেজকখন ঘটে
Failed to create Stripe checkout session.চেকআউট কলটা ব্যর্থ হয়েছে আর ব্যাকএন্ড কোনো মেসেজ দেয়নি
Could not open checkout. Please try again.আপগ্রেড মোডালের চেকআউট কলটা কোনো মেসেজ ছাড়াই থ্রো করেছে
Authentication failed. Please sign in again.চেকআউটের আগে টোকেন ফেচ কিছুই ফেরত দেয়নি
Failed to save user before checkout.প্রি চেকআউট ইউজার সেভ কলটা OK ছিল না
Could not prepare your account for checkout.প্রাইসিং পেজ চেকআউটের আগে ইউজার সেভ করতে পারেনি
Missing user or Stripe customer details.চেকআউটের সময় ইউজার আইডি অনুপস্থিত ছিল
Checkout response did not include a Stripe URL.চেকআউট সফল হয়েছিল কিন্তু কোনো URL বা সাবস্ক্রিপশন আইডি ফেরত দেয়নি
Something went wrong while starting your trial. Please try again.প্রাইসিং পেজের সাধারণ ট্রায়াল স্টার্ট ব্যর্থতা

এই তালিকার যেকোনো কিছুর জন্য, সাইন আউট করুন, আবার সাইন ইন করুন, আর প্রাইসিং পেজ থেকে আবার চেকআউট শুরু করুন। এটা সেই কেসগুলো সমাধান করে যেখানে চেকআউটের আগে টোকেন ফেচ কিছুই ফেরত দেয়নি, যা Authentication failed. Please sign in again. রিপোর্ট করে।

Checkout response did not include a Stripe URL. একটা ব্যতিক্রম: এর মানে কলটা সফল হয়েছিল। আবার পেমেন্ট করার চেষ্টা করার আগে, আপনার অ্যাকাউন্ট সেটিংস খুলে দেখুন সেখানে ইতিমধ্যে কোনো সাবস্ক্রিপশন আছে কিনা।

আরও দুটো দেখা যায় সাইন ইন আর সাইন আপ পেজে, যখন আপনি প্রথমে একটা প্ল্যান বেছে নেন আর পরে অথেন্টিকেট করেন: Signed in, but checkout could not start. Please choose your plan again. আর Your account was created, but checkout could not start. Please sign in and choose your plan again. দুটোরই মানে অ্যাকাউন্টের অংশটা কাজ করেছে আর শুধু হ্যান্ডওভারটা ব্যর্থ হয়েছে। আপনার অ্যাকাউন্ট আছে। প্রাইসিংয়ে যান আর আবার প্ল্যান বেছে নিন।

একটা রহস্যময় ব্যর্থতার শেষ কারণ: বারবার পরপর চেকআউট রিট্রাই করলে রেট লিমিটার ট্রিগার হতে পারে, যা HTTP 429 আর Too many requests. Please wait and try again. ফেরত দেয়। অ্যাকাউন্টের প্রতিটা রিকোয়েস্ট, যে রুটই হোক না কেন, প্রতি মিনিটে 30টার একটা সীমার বিরুদ্ধে গোনা হয়। আবার ক্লিক করার বদলে এক মিনিট অপেক্ষা করুন।

ইন্ট্রো ট্রায়াল প্রত্যাখ্যান, যা কোনো রিট্রাই দিয়ে সরানো যায় না

A $1 intro trial has already been used with this payment method. হলো HTTP 403, কোড duplicate_trial_payment_method সহ। এই পেজের একমাত্র চেকআউট এরর যা কোনো রিট্রাই দিয়ে কখনো সরানো যাবে না।

চেকটা অ্যাকাউন্টের বদলে কার্ডের সাথে বাঁধা: প্রত্যাখ্যানটা তখনই ফেরত আসে যখন কার্ড ফিঙ্গারপ্রিন্টটা ইতিমধ্যে ইন্ট্রো ট্রায়াল দাবি করে ফেলেছে।

এই এররটা খুঁজছেন হলে একটা বিস্তারিত তথ্য: স্ট্রিংটা সত্যিই "$1" লেখে, যদিও ইন্ট্রো চার্জটা নিজে USD-তে $0.99। এর লেখা মিলিয়ে দেখুন, কারণ "$1" ফর্মটাই সার্ভার ঠিক যা পাঠায়।

আপনার দুটো অপশন: আপনি যে প্ল্যান চান তার স্ট্যান্ডার্ড রেটে সাবস্ক্রাইব করুন, অথবা এমন একটা পেমেন্ট মেথড দিয়ে পেমেন্ট করুন যেটা আগে ট্রায়াল দাবি করেনি।

প্ল্যানের দাম, ট্রায়ালের শর্ত আর কনভার্সনের সময় কী ঘটে, সবকিছু আছে বিলিং, ট্রায়াল আর কীভাবে বাতিল করবেন-এ।

পেমেন্ট সফল হয়েছে কিন্তু অ্যাকাউন্ট এখনো ফ্রি প্ল্যানে আছে

একটা চার্জ হওয়া কার্ড আর একটা অ্যাকাউন্ট যা এখনো ফ্রি হিসেবে আচরণ করছে, এটা চেকআউট ব্যর্থ হওয়া থেকে আলাদা একটা লক্ষণ, আর এর নিজস্ব একটা পেজ আছে।

সেই অবস্থায় যে স্ট্রিংগুলো দেখা যায়, কোন অ্যাকাউন্ট সাবস্ক্রিপশনটা ধরে আছে তা বলে দেওয়া চেক, আর সাপোর্টকে কী পাঠাবেন, তার জন্য পড়ুন আপনি পেমেন্ট করেছেন কিন্তু প্ল্যানের ফিচার এখনো লক করা

Whizi আপনাকে যা বলতে পারে না

তিনটা ফাঁক, যাতে আপনি এমন উত্তর খুঁজে সময় নষ্ট না করেন যা আসলে নেই।

Whizi কখনো দেখে না কেন আপনার ব্যাংক একটা কার্ড ডিক্লাইন করেছে, কারণ সেই আদান-প্রদান ঘটে Stripe-এর হোস্ট করা চেকআউট পেজে, Whizi-এর কোডবেসের বাইরে। উভয় Whizi রিপো তল্লাশি করে কোনো ধরনের কার্ড ডিক্লাইন বা পেমেন্ট ডিক্লাইন স্ট্রিং পাওয়া যায়নি, আর Stripe ওয়েবহুক হ্যান্ডলারে কোনো ডিক্লাইন্ড পেমেন্ট মেসেজ নেই। তাই আপনার অ্যাকাউন্টে কোনো ডিক্লাইন কারণ জমা থাকে না, কোনো রিট্রাই বাটন নেই, আর Whizi-এর ওভাররাইড করার মতো কিছু নেই। কারণটা থাকে আপনার ব্যাংকের কাছে।

Whizi-এর কাছে ব্যর্থ বা ওভারডিউ রিনিউয়ালের জন্যও কোনো মেসেজ নেই। এর জন্য কোনো ইউজার-ফেসিং স্ট্রিং কোনো রিপোতেই নেই, তাই পরে যদি একটা রিনিউয়াল চার্জ ব্যর্থ হয় আপনি সেটা ব্যাখ্যা করা কোনো Whizi এরর পাবেন না। রিনিউয়াল-সংলগ্ন একমাত্র যে নোটিশটা আসলে আছে সেটা হলো একটা পুশ নোটিফিকেশন, যাতে লেখা "Your subscription is no longer active." শিরোনাম "Whizi subscription updated"-এর নিচে, যা পাঠানো হয় যখন একটা RevenueCat ওয়েবহুক একটা অ্যাকাউন্টকে ফ্রি টিয়ারে নামিয়ে সিঙ্ক করে। এটা RevenueCat ওয়েবহুক পথ, তাই এটা কোনো Stripe রিনিউয়াল ব্যর্থতার রিপোর্ট নয়।

Whizi বিলিং চলে Stripe-এর মাধ্যমে, তাই কোন কার্ড দিয়ে আদৌ পেমেন্ট করা যাবে তা Whizi-তে নয়, সেখানেই ঠিক হয়। একটা রাশিয়ান বা ইরানিয়ান কার্ড রেজিস্ট্রেশন সম্পূর্ণ করতে পারে না। ইউক্রেন, কাজাখস্তান, তুরস্ক, ইন্দোনেশিয়া আর ভারত পুরোপুরি কাজ করে।

চেকলিস্ট
  • একটা আসল কার্ড ডিক্লাইন আসে আপনার ব্যাংক থেকে Stripe-এর মাধ্যমে, Whizi থেকে নয়
  • Whizi-এর কোনো কার্ড ডিক্লাইন মেসেজ নেই আর আপনাকে দেখানোর মতো কোনো ডিক্লাইন কারণ নেই
  • এরর-এ Whizi-এর নিজস্ব লেখা থাকা মানে সেটা ডিক্লাইন ছিল না
  • সাইন আউট আর আবার সাইন ইন করে, তারপর প্রাইসিং থেকে রিট্রাই করলে সেশন এরর সরে যায়
  • Pricing is temporarily unavailable সার্ভার সাইড: অপেক্ষা করুন, লুপে রিট্রাই করবেন না
  • ইন্ট্রো ট্রায়ালটা অ্যাকাউন্টের বদলে কার্ড ফিঙ্গারপ্রিন্টের সাথে বাঁধা
  • চার্জ হয়েছে কিন্তু এখনো ফ্রি প্ল্যানে থাকা একটা আলাদা লক্ষণ, যা subscription-not-active-এ আলোচনা করা হয়েছে

প্রায়ই জিজ্ঞাসিত প্রশ্ন

Whizi কেন বলে আমার পেমেন্ট ব্যর্থ হয়েছে কিন্তু আমার ব্যাংকে কোনো চেষ্টার হদিস নেই?

কারণ আপনি যে স্ট্রিংটা দেখেছেন সেটা Stripe-এ পৌঁছানোর আগেই ওয়েবসাইট তুলেছিল, তাই কোনো চার্জেরই চেষ্টা হয়নি। এগুলোকে একটা আসল ব্যাকএন্ড প্রত্যাখ্যান থেকে আলাদা করার দ্রুত উপায়: একটা ব্যাকএন্ড প্রত্যাখ্যান JSON হিসেবে আসে যাতে pricing_unavailable বা invalid_plan_or_cycle-এর মতো একটা এরর কোড থাকে, আর নেটওয়ার্ক ট্রেসে একটা HTTP স্ট্যাটাস দেখায়। একটা ব্রাউজার-সাইড স্ট্রিংয়ে এর কোনোটাই থাকে না। আপনি যা দেখেছেন তাতে যদি কোনো কোড না থাকে, আপনার ব্যাংকে কিছুই পৌঁছায়নি।

A $1 intro trial has already been used with this payment method.-এর মানে কী?

এর মানে আপনি যে কার্ডটা দিয়েছেন সেটা ইতিমধ্যে ইন্ট্রো ট্রায়াল দাবি করে ফেলেছে। এটা ডিক্লাইন নয়: Whizi-এর কোনো কার্ড ডিক্লাইন স্ট্রিংই নেই, আর এটা আসে Whizi-এর নিজস্ব চেকআউট রুট থেকে HTTP 403 হিসেবে, কোড duplicate_trial_payment_method সহ, যা লিখলে উদ্ধৃত করার মতো। হয় স্ট্যান্ডার্ড রেটে সাবস্ক্রাইব করুন, নয়তো এমন একটা পেমেন্ট মেথড ব্যবহার করুন যেটা ট্রায়াল দাবি করেনি।

আমি Pricing is temporarily unavailable. পেয়েছি। সমস্যাটা কি আমার কার্ডে?

না। এটা HTTP 503 pricing_unavailable, আর এটা আসে সেই রুট থেকে যা Stripe থেকে লোকালাইজড প্রাইস টেবিল পড়ে, কার্ড নেওয়া চেকআউট রুট থেকে নয়। আপনার দিক থেকে এটা ঠিক করার কিছু নেই, তাই ভিন্ন কার্ড চেষ্টা করার বদলে অপেক্ষা করুন। যদি এর বদলে আপনি Failed to create Stripe checkout session. দেখে থাকেন, সেটা একটা আলাদা উৎসের আলাদা স্ট্রিং: ওয়েবসাইটের ফলব্যাক, যখন চেকআউট কলটা ব্যর্থ হয় আর ব্যাকএন্ড কোনো মেসেজ দেয় না।

আমার প্রোমো কোডটা প্রত্যাখ্যাত হয়েছে। কেন?

চেকআউট The supplied discount must be an active 100% promotion code or coupon ID. HTTP 400 invalid_discount হিসেবে ফেরত দেয়। চেকআউটের ডিসকাউন্ট ফিল্ডটা শুধু একটা সক্রিয় 100 শতাংশ প্রোমোশন কোড বা কুপন আইডি গ্রহণ করে, তাই একটা মেয়াদোত্তীর্ণ কোড বা আংশিক ডিসকাউন্ট কোড সেখানে প্রত্যাখ্যাত হবে। এখনই অ্যাক্সেস দরকার হলে সেটা সরিয়ে দিয়ে স্বাভাবিক দামে চেকআউট করুন।

Whizi চেকআউটে আমার ইমেইল প্রত্যাখ্যান করেছে। কী হয়েছে?

আপনি দেখেছেন Temporary email addresses are not allowed. Please use a permanent email address. চেকআউট রুটটা এটা HTTP 400 disposable_email_blocked হিসেবে ফেরত দেয় যখন সাইন ইন করা অ্যাকাউন্টের ইমেইল ডোমেইনটা ডিসপোজেবল তালিকায় থাকে। একই স্ট্রিং সাইন আপেও HTTP 403 হিসেবে ব্যবহার হয়। অ্যাকাউন্টে একটা স্থায়ী ঠিকানা ব্যবহার করুন আর চেকআউট এগিয়ে যাবে।

আমাকে দুইবার চার্জ করা হয়েছে। আমার কী করা উচিত?

না দেখে বাতিল করার বদলে দুটো Stripe রসিদসহ সাপোর্টে যোগাযোগ করুন। বাতিল করা একটা আলাদা কাজ যার নিজস্ব ফলাফল আছে: একটা সক্রিয় সাবস্ক্রিপশনের জন্য বাতিল রুটটা উত্তর দেয় Subscription cancellation scheduled for end of billing period., তাই সেই সাবস্ক্রিপশনটা ইতিমধ্যে পেমেন্ট করা পিরিয়ডের শেষ পর্যন্ত চলে।