Ruby中的Sagepay crypt字段

Ruby中的Sagepay crypt字段,ruby,opayo,Ruby,Opayo,我应该如何对“Crypt”字段进行编码以使其在Ruby中的协议3.00中有效?当前我的字符串如下所示: =hidden_field_tag 'Crypt', Base64.encode64('VendorTxCode=406227821909&Amount=32.00&Currency=GBP&Description=Test&SuccessURL=http://example.com/success.php&FailureURL=http://examp

我应该如何对“Crypt”字段进行编码以使其在Ruby中的协议3.00中有效?当前我的字符串如下所示:

=hidden_field_tag 'Crypt', Base64.encode64('VendorTxCode=406227821909&Amount=32.00&Currency=GBP&Description=Test&SuccessURL=http://example.com/success.php&FailureURL=http://example.com/fail.php&BillingSurname=Smith&BillingFirstnames=John&BillingAddress1=123 Main Street&BillingCity=Anywhere&BillingPostCode=29555&BillingCountry=UK&DeliverySurname=Smith&DeliveryFirstnames=John&DeliverAddress1=123 Main Street&DeliveryCity=Anywhere&DeliveryPostCode=29555&DeliveryCountry=UK')
但每次我得到这个错误作为回应:

Status Detail:  5068 : The encryption method is not supported by this protocol version.
提前感谢,,
Oskar

AES加密字符串的前缀应为“@”,以便识别Sage支付网关的加密方法。相反,在解码之前应删除“@”


同样使用AES,也不需要base64编码……

您检查过这里的文档了吗,它说“Crypt字段应该包含所有其他事务信息(请参阅下一节)以纯文本形式表示,名称=由“&”字符分隔的值字段。然后应使用AES/CBC/PCKS#5算法和预注册的加密密码对该字符串进行加密,然后对其进行Base64编码,以允许以HTML形式进行安全传输。”所以它不仅仅是用Base64I编码,我使用的是Encryptor gem,然后是base64编码,它也不工作:-(.我使用的是[link]这个答案(在底部),除了message和key:-)之外,其他值都相同)。Iv是一样的。你查过sagepay的单据了吗?我认为关于需要做什么的一般信息是存在的,不管你使用什么编程语言。如果你解决了这个问题,你应该这样说或更新你的q。如果唯一的答案解决了问题,请按此标记