【发布时间】:2015-12-10 17:13:28
【问题描述】:
我已将巴克莱卡支付集成到我的网站中,当我进行卡支付时,我收到以下错误消息
Invalid ItemName field length: "Product name --- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxburgandy" (54 MIN : 0 MAX : 40)
【问题讨论】:
我已将巴克莱卡支付集成到我的网站中,当我进行卡支付时,我收到以下错误消息
Invalid ItemName field length: "Product name --- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxburgandy" (54 MIN : 0 MAX : 40)
【问题讨论】:
错误原因:错误是由产品名称/sku 太长引起的。该参数限制为最多 40 个字符(包括空格)。
为了解决这个问题,您需要传递一个少于 40 个字符的项目名称。
解决方案:
在将表单提交到https://payments.epdq.co.uk/ncol/prod/orderstandard.asp 之前,只需将 itemname 和 id 隔开,如下所示
//Fix for only 40 characters of length for itemname ITEMNAME*XX*
$ordername = substr($ordername, 0, 40);
$sku = substr($sku, 0, 15);
//Fix - End
$html .= '<input type="hidden" name="ITEMID'.$counter.'" value="'.$sku.'">';
$html .= '<input type="hidden" name="ITEMNAME'.$counter.'" value="'.$ordername.'">';
【讨论】: