2013-11-22 39 views
0

我們無法使協議3的表單正常工作並且獲得「此協議版本不支持5068加密方法」消息。我們用於加密的代碼如下所示。誰能告訴我我們要去哪裏?sagepay表單協議3加密e新表單錯誤

$stuff = @pkcs5_pad($stuff, 16); 

$crypt = @base64_encode(@mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $order['gateway']['transkey'], $stuff, MCRYPT_MODE_CBC, '1234567812345678')); 

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

回答

0

您是否正在嘗試爲該請求使用模擬器帳戶?如果是這樣,版本3協議尚未與模擬器帳戶一起使用,Sage Pay也沒有估計它何時可用。

您需要使用測試帳戶來測試完整的v3集成,否則您可以集成到v2.23,註釋掉額外的v3字段並使用模擬器帳戶進行測試。
然後在v3中添加額外的字段並通過模擬器在測試帳戶中提供時進行測試。

0

您的測試帳戶和真實帳戶的加密密碼將有所不同。如果您需要加密密碼,請撥打我們的支持熱線0845 111 44​​55,他們將能夠將其發送給Sage Pay賬戶上的註冊聯繫人。

如果您正在使用模擬器 - 它在V3.00上不可用。以上評論是正確的,你可以使用v2.23來測試你的集成。如果可以,請更改爲v3.00,以確保您正在檢查所有必填字段正在使用並且返回響應正常。

V3.00表格協議和綜合指南可用here。 Crypt字段應包含純文本中的所有其他交易信息,如Name =用'&'字符分隔的值字段。然後應該使用AES/CBC/PCKS#5算法和預先註冊的加密密碼對該字符串進行加密,然後使用Base64編碼以允許在HTML表單中進行安全傳輸。地穴必須是16個字符。

如果您需要進一步支持,您可以發送電子郵件[email protected]並參考此論壇帖子URL。

鼠尾草支付