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 国家/地区列表中出现的完全一致(因此我们使用“维尔京群岛,英国”而不是“英属维尔京群岛”)。

那么为什么某些国家的处理方式不同呢?

4

2 回答 2

1

直接结帐不会出现,因为该国家/地区未被识别。如果您使用 3 位国家代码“VGB”,它将正常工作。

例子:

<form accept-charset="UTF-8" action="https://www.2checkout.com/checkout/purchase" id="2checkout" method="post">
    <input id="sid" name="sid" type="hidden" value="532001" />
    <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="VGB" />
    <input id="email" name="email" type="hidden" value="test@example.com" />
    <input id="phone" name="phone" type="hidden" value="123456" />
    <input type="submit" />
</form>
于 2014-04-03T01:07:17.037 回答
0

2结帐答案

  1. 如果您没有完成您的测试销售,或者您没有在每次测试之间清除您的 cookie,您将在测试时观察到不一致的结果。
  2. 您需要确保在每次测试后清除浏览器的 cookie 以避免这些问题。
  3. 如果用户被发送到 2Checkout 付款页面,则应对其进行审查以识别任何标记为“必填”的缺失或空白字段 - 这将表明您没有传递所有必需的详细信息,并且您网站的表单必须更新以传递缺失的详细信息。

注意:某些国家/地区还需要州和邮政编码,我不知道列表是什么,所以我让用户在打开 2Checkout 弹出窗口之前填写它们。

于 2016-03-03T06:40:45.260 回答