আমরা এটি বের করেছিলাম।
কোনওভাবে "এএসপি.এনইT_সেশনআইডি" কুকির "সমেসাইট" বৈশিষ্ট্যটি "লক্ষ" -এ ডিফল্ট হয়েছে এবং এর ফলে পেমেন্ট গেটওয়ের জাভাস্ক্রিপ্ট কোড দ্বারা করা অনুরোধে সেশন কুকি যোগ করা হয়নি।
এই মানটিকে ওভাররাইড করতে এবং এটি "কিছুই নয়" এ সেট করার জন্য আমরা ওয়েবকনফিগ ফাইলটিতে নিম্নলিখিত নিয়ম যুক্ত করেছি।
<configuration>
<system.webServer>
<rewrite>
<outboundRules>
<rule name="Add SameSite" preCondition="No SameSite">
<match serverVariable="RESPONSE_Set_Cookie" pattern=".*" negate="false" />
<action type="Rewrite" value="{R:0}; SameSite=None" />
<conditions>
</conditions>
</rule>
<preConditions>
<preCondition name="No SameSite">
<add input="{RESPONSE_Set_Cookie}" pattern="." />
<add input="{RESPONSE_Set_Cookie}" pattern="; SameSite=None" negate="true" />
</preCondition>
</preConditions>
</outboundRules>
</rewrite>
</system.webServer>
</configuration>
আপডেট 1 : সবেমাত্র উপরের কনফিগারেশনটি যুক্ত করা আধুনিক ব্রাউজারগুলির সমস্যার সমাধান করেছে তবে আমরা বুঝতে পেরেছিলাম যে আমরা এখনও মাইক্রোসফট এজ এবং ইন্টারনেট এক্সপ্লোরার এর পুরানো সংস্করণ নিয়ে সমস্যা করছি।
সুতরাং আমাদের ওয়েলকনফিগ ফাইলে সেশনস্টেট নোডে কুকিসেমসাইট = "কিছুই নয়" বৈশিষ্ট্য যুক্ত করতে হবে।
<sessionState cookieSameSite="None" />
পুরানো। নেট ফ্রেমওয়ার্ক সংস্করণগুলি এটি সমর্থন করে না এবং আপনার সাইটের ত্রুটি পৃষ্ঠা প্রদর্শন করার কারণ হিসাবে এই কনফিগারেশন পরিবর্তনের সাথে সতর্ক থাকুন।
আইওএস 12-তে ব্রাউজারগুলির সাথে এখনও আমাদের সমস্যা রয়েছে But তবে আমি মনে করি এটি এটি নিশ্চিত হওয়া বাগের সাথে সম্পর্কিত
আপডেট 2 : আইওএস ইস্যু সম্পর্কে সম্ভাব্য ফিক্সের জন্য জিমিয়ানের উত্তর দেখুন
আপডেট 3 : জিমিয়ানের উত্তরের পরামর্শগুলির সাথে আমাদের অনুসন্ধানগুলি একত্রিত করে আমরা নিম্নলিখিত পুনর্লিখনের বিধিগুলি নিয়ে এসেছি। আমরা উত্পাদন এই কনফিগারেশন ব্যবহার করা হয়েছে। তবে সাবধান থাকুন: এটি সামঞ্জস্যযুক্ত ব্রাউজারগুলির জন্য সমস্ত কুকিগুলিকে "সেমসাইট: কিছুই নয়" চিহ্নিত করে এবং বেমানান ব্রাউজারগুলির জন্য সেমসাইট বৈশিষ্ট্যটি উপস্থিত থাকলে তা বাদ দেয়। এটি জটিল মনে হতে পারে তবে আমি মন্তব্য লাইনের মাধ্যমে ব্যাখ্যা করার চেষ্টা করেছি।
এটি আমরা উত্পাদনে ব্যবহৃত ফাইনাল কনফিগারেশন:
<configuration>
<system.webServer>
<rewrite>
<outboundRules>
<preConditions>
<!-- Browsers incompatible with SameSite=None -->
<preCondition name="IncompatibleWithSameSiteNone" logicalGrouping="MatchAny">
<add input="{HTTP_USER_AGENT}" pattern="(CPU iPhone OS 12)|(iPad; CPU OS 12)" />
<add input="{HTTP_USER_AGENT}" pattern="(Chrome/5)|(Chrome/6)" />
<add input="{HTTP_USER_AGENT}" pattern="( OS X 10_14).*(Version/).*((Safari)|(KHTML, like Gecko)$)" />
</preCondition>
<!-- Rest of the browsers are assumed to be compatible with SameSite=None -->
<preCondition name="CompatibleWithSameSiteNone" logicalGrouping="MatchAll">
<add input="{HTTP_USER_AGENT}" pattern="(CPU iPhone OS 12)|(iPad; CPU OS 12)" negate="true" />
<add input="{HTTP_USER_AGENT}" pattern="(Chrome/5)|(Chrome/6)" negate="true" />
<add input="{HTTP_USER_AGENT}" pattern="( OS X 10_14).*(Version/).*((Safari)|(KHTML, like Gecko)$)" negate="true" />
</preCondition>
</preConditions>
<!-- Rule 1: Remove SameSite part from cookie for incompatible browsers if exists -->
<rule name="Remove_SameSiteCookie_IfExists_ForLegacyBrowsers" preCondition="IncompatibleWithSameSiteNone">
<match serverVariable="RESPONSE_Set-Cookie" pattern="(.*)(SameSite=.*)" />
<action type="Rewrite" value="{R:1}" />
</rule>
<!-- Rule 2: Override SameSite's value to None if exists, for compatible browsers -->
<rule name="Override_SameSiteCookie_IfExists_ForModernBrowsers" preCondition="CompatibleWithSameSiteNone">
<match serverVariable="RESPONSE_Set-Cookie" pattern="(.*)(SameSite=.*)" />
<action type="Rewrite" value="{R:1}; SameSite=None" />
</rule>
<!-- Rule 3: Add SameSite attribute with the value None if it does not exists, for compatible browsers -->
<rule name="Add_SameSiteCookie_IfNotExists_ForModernBrowsers" preCondition="CompatibleWithSameSiteNone">
<match serverVariable="RESPONSE_Set-Cookie" pattern=".*"/>
<!-- Condition explanation: Cookie data contains some string value but does not contain SameSite attribute -->
<conditions logicalGrouping="MatchAll">
<add input="{R:0}" pattern="^(?!\s*$).+"/>
<add input="{R:0}" pattern="SameSite=.*" negate="true"/>
</conditions>
<action type="Rewrite" value="{R:0}; SameSite=None" />
</rule>
</outboundRules>
</rewrite>
</system.webServer>
</configuration>