我正在尝试在我的rails开发应用程序中实现一个ogone测试帐户,但我不断收到错误消息“Merchant not active”
经过一番调查后,我认为它与SHA编码有关?
问题是我真的不知道它是如何工作的,Ogone有多个SHA参数要填写,我还没有找到一种方法将activemerchant放在那里。
在这件事上有经验的人?
答案 0 :(得分:1)
您收到Merchant not active
错误的原因是您的帐户未配置为能够使用直接链接或其他几个选项。要激活此功能,您应该获得更高的订阅或联系他们的支持并要求他们为您激活。
对于SHA,您需要配置一个秘密密码,通过该秘密密码分隔您要发送的参数。例如:
Passphrase: ogonepass123
Post variables: CN=JohnDoeogonepass123AMOUNT=1000ogonepass123CURRENCY=EURogonepass123PSPID=MyPSPID
最后,您将帖子变量哈希到SHA-1,然后将该键添加到帖子参数
....ogonepass123SHASIGN=<40-characters-SHA-key>
这样您就可以保护数据并确保没有人可以篡改这些变量。
还要确保当您从Ogone获得响应时,使用他们发送给您的参数重新形成SHA哈希,然后将这个自己形成的SHA哈希值与Ogone发送给您的哈希值进行比较。如果这两个匹配,则可以确定参数未被搞乱。
希望这有助于您或遇到此问题的其他人。
答案 1 :(得分:0)
与Ogone Direct Link一起使用2010年10月10日之后创建的帐户,您将需要此补丁:https://github.com/Shopify/active_merchant/pull/85 (这也适用于在此日期之前创建的帐户。)
这也将为您提供有关别名用法的更多详细信息,修复Ogone新更新的一些问题,...确保在ogone网关代码中阅读内联文档:https://github.com/ZenCocoon/active_merchant/blob/master/lib/active_merchant/billing/gateways/ogone.rb
截至今天,支持并使用SHA1。