authorize.net dpm信用卡到期日期选择字段

Jay*_*ayK 2 payment-gateway

我正在创建一个表单,使用DPM提交给Authorize.net.我认为信用卡到期日期必须在单个变量中格式化为yyyy/dd.

我想在我的html表单上使用两个字段:一个月份的下拉选择字段和一个日期.如何将两个html表单字段合并为一个变量,以便在提交时将其作为一个格式正确的变量提交给Authorize.net?

我怀疑这可以用javascript完成,但是,它必须每次都有效,即使javascript被禁用.

感谢您提供任何帮助或其他建议.

mla*_*mla 6

这就是我处理它的方式.

启用了javascript的用户可以按照您的建议查看月份和年份的单独下拉菜单.没有javascript的用户会看到具有指示的正确日期格式的文本输入字段.

您绝对不希望将表单内容发布回原始服务器,因为这使得使用Direct Post方法失败了.

这是使用JQuery的基本代码.

<form id="cart-form" action="...">
...

Expiration Date:
<div id="exp_date_wrap">
    <input name="x_exp_date" type="text" /> (format: mm/yy)
</div>

<select name="x_cc_month" id="x_cc_month" style="display:none">
    <option value="">-- month --</option>
    ...
</select>

<select name="x_cc_year" id="x_cc_year" style="display:none">
    <option value="">-- year --</option>
    ...
</select>

<script>
  $('#exp_date_wrap').hide();
  $('#x_cc_month, #x_cc_year').show();

  $('#cart-form').submit(function() {
    $('#x_exp_date').val(
      $('#x_cc_month :selected').val() + '/' +
      $('#x_cc_year :selected').val()
    );
  });
</script>

</form>
Run Code Online (Sandbox Code Playgroud)

  • 我会避免在x_cc_month和x_cc_year字段上使用name属性(即,不要给它们命名)。这样,它们就不会提交到Authorize.Net DPM入口点。仅ID就足够了。如果确实提交了它们,那么它们最终将被视为自定义字段,并被发布回您的站点到回调(继电器)页面,从而使PCI问题回到最前沿。但是否则,这是一个很好的解决方案。 (2认同)