アプリケーションの 1 つで 2Checkout のインライン チェックアウト オプションを使用しています。ほとんどの場合は正常に機能していますが、何らかの理由で、特定の国が選択されたときにポップアップを表示するのではなく、完全なチェックアウト ページにリダイレクトされます。
ポップアップを表示する必要があるが、代わりにリダイレクトするフォームの例を次に示します。
<form accept-charset="UTF-8" action="https://www.2checkout.com/checkout/purchase" id="2checkout" method="post">
<input id="sid" name="sid" type="hidden" value="<our 2CO SID>" />
<input id="mode" name="mode" type="hidden" value="2CO" />
<input id="merchant_order_id" name="merchant_order_id" type="hidden" value="<some order ID>" />
<input id="li_0_product_id" name="li_0_product_id" type="hidden" value="1" />
<input id="li_0_name" name="li_0_name" type="hidden" value="Test Product" />
<input id="li_0_price" name="li_0_price" type="hidden" value="5" />
<input id="li_0_recurrence" name="li_0_recurrence" type="hidden" value="1 Month" />
<input id="li_0_duration" name="li_0_duration" type="hidden" value="Forever" />
<input id="card_holder_name" name="card_holder_name" type="hidden" value="Attila Horvath" />
<input id="street_address" name="street_address" type="hidden" value="Test Line 1" />
<input id="street_address2" name="street_address2" type="hidden" value="Test Line 2" />
<input id="city" name="city" type="hidden" value="Test City" />
<input id="state" name="state" type="hidden" value="Test State" />
<input id="zip" name="zip" type="hidden" value="1234" />
<input id="country" name="country" type="hidden" value="Virgin Islands, British" />
<input id="email" name="email" type="hidden" value="test@example.com" />
<input id="phone" name="phone" type="hidden" value="123456" />
<input type="submit" />
</form>
<script src="https://www.2checkout.com/static/checkout/javascript/direct.min.js"></script>
国をドイツなどに変更すると、期待どおりに機能します。再確認したところ、国名は 2CO 国リストに表示されているとおりに渡されています (したがって、「英国領バージン諸島」ではなく「英国領バージン諸島」を使用しています)。
では、なぜ国によって扱いが異なるのでしょうか。