【问题标题】:Status Detail: 3045 : The Currency field is missing状态详细信息:3045:缺少货币字段
【发布时间】:2014-11-14 10:50:53
【问题描述】:

我已在 Sagepay url 中添加了所有参数。但它会抛出错误货币丢失。 我无法解决这个问题。

代码:

$cryptString  = 'VendorTxCode='.$this->getVendorTxCode();
     $cryptString.= '&ReferrerID='.$this->getReferrerID();
     $cryptString.= '&Amount='.sprintf("%01.2F",($order->order_total_price-$order->order_fee));
     $cryptString.= '&Currency=GBP'; //Status Detail:   3045 : The Currency field is missing.
     $cryptString.= '&Description='.$this->getDescription();
     $cryptString.= '&SuccessURL=https://testurl/sage/success.php';
     $cryptString.= '&FailureURL=https://testurl/sage/fail.php';
     $cryptString.= '&CustomerName=Customer Name';
     .......

最后我调用了加密方法

$cryptedString = $this->encryptAndEncode($cryptString);

表单标签:

<form name='sagepay' action='{$pm_sagepay_url}' method='post'>
        <input type='hidden' name='VPSProtocol'  value='3.00'>
        <input type='hidden' name='TxType' value= 'PAYMENT'>
        <input type='hidden' name='Vendor' value= 'protxross'>
        <input type='hidden' name='Crypt' value= '{$cryptedString}'>
         <input type='submit' value='{!pay!}' name='submit2' alt='{!sagepay_pay!}' >
</form>

错误:

  • 状态详细信息:3045:货币字段丢失。

有人可以帮我解决这个问题。

我已通过此 url 使用测试帐户详细信息:'test.sagepay.com/gateway/service/vspform-register.vsp'; 它工作,与“live.sagepay.com/gateway/service/vspform-register.vsp”的真实账户详细信息相同; 但它会引发错误:缺少货币字段。有人可以帮助我。 -

【问题讨论】:

  • 检查英镑是否是上述 Sage Pay 帐户上支持的货币是否正确。确保加密密码正确 - 它们应该是不同的 TEST 和 LIVE 加密密码,并且您使用的是 V3.00 的 AES。
  • 您的加密密码不正确,请仔细检查。
  • 我已经使用带有此 url 的测试帐户详细信息:'test.sagepay.com/gateway/service/vspform-register.vsp' 它可以工作,与带有 'live.sagepay.com/gateway/service/vspform-register.vsp' 的真实帐户详细信息相同,但它会引发错误:缺少货币字段。一些有人可以帮助我。
  • 我已经编辑了我的帖子,有人可以请检查..

标签: php payment-gateway opayo


【解决方案1】:

我希望你能解决你的问题。万一不试试下面的。

在您的 sagepay.php 中搜索 function pkcs5_pad,该文件将放置在 lib 文件夹中。并将该函数内的内容替换如下:

$pad = $blocksize - (strlen($text) % $blocksize);
return $text . str_repeat(chr($pad), $pad);

我有类似的问题,这为我解决了。如果这对您有帮助,请告诉我。

【讨论】:

    【解决方案2】:

    我有一个类似的问题,我的问题原来是如果将表单发布到需要不同的密钥

    test.sagepay.com/gateway/service/vspform-register.vsp
    

    live.sagepay.com/gateway/service/vspform-register.vsp
    

    Currency 字段被选址的事实有点牵强。

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-08
      • 1970-01-01
      • 2014-07-10
      • 2012-05-13
      • 1970-01-01
      • 2023-04-07
      • 2012-09-07
      • 1970-01-01
      相关资源
      最近更新 更多