2014-09-19 54 views
1

我在Sagepay url中添加了所有參數。但它拋出一個錯誤貨幣缺失。 我無法解決此問題。狀態詳細信息:3045:貨幣字段丟失

代碼:

$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:貨幣字段丟失。

有人可以請幫助我如何解決這個問題。

enter image description here

我一直在使用測試帳戶細節與此網址: 'test.sagepay.com/gateway/service/vspform-register.vsp'; 它的工作原理,與'live.sagepay.com/gateway/service/vspform-register.vsp'相同的真實賬戶詳細信息; 但它引發錯誤:貨幣字段丟失。有人可以幫助我。 -

+0

如上所述,確認英鎊是Sage Pay賬戶支持的貨幣是正確的。確保加密密碼是正確的 - 它們應該是TEST和LIVE的不同加密密碼,並且您使用V3.00的AES。 – 2014-09-25 15:37:30

+0

你的加密密碼不正確,請三重檢查。 – Pablo 2014-10-03 18:51:55

+0

我已經使用測試帳戶的詳細信息與此網址:'https://test.sagepay.com/gateway/service/vspform-register.vsp'它的工作,與實時帳戶詳細信息與'https://live.sagepay .com/gateway/service/vspform-register.vsp'但它會拋出錯誤:貨幣字段丟失。有人可以幫助我。 – Prathyush 2014-10-16 06:49:24

回答

0

我希望你能解決你的問題。如果不嘗試以下。

在您的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 

,貨幣領域正在選址的事實不同的密鑰被要求有一點紅鯡魚。

希望這會有所幫助。