1

我正在尝试在我的 Rails 开发应用程序中实现一个 ogone 测试帐户,但我不断收到错误消息“商家未激活”
经过一番调查,我认为这与 SHA 编码有关?
问题是我真的不明白它是如何工作的,Ogone 有多个 SHA 参数要填写,我还没有在 activemerchant 中找到将其放入其中的方法。
有这方面经验的人吗?

4

2 回答 2

1

您收到Merchant not active错误的原因是您的帐户未配置为能够使用 Direct Link 或其他几个选项。要激活它,您应该获得更高的订阅或联系他们的支持并要求他们为您激活它。

至于 SHA,您需要配置一个秘密密码,通过该密码来分隔您发送的参数。例如:

Passphrase:  ogonepass123
Post variables:  CN=JohnDoeogonepass123AMOUNT=1000ogonepass123CURRENCY=EURogonepass123PSPID=MyPSPID

最终,您将您的帖子变量散列到 SHA-1 并将该密钥添加到您的帖子参数中

....ogonepass123SHASIGN=<40-characters-SHA-key>

通过这种方式,您可以保护您的数据并确保没有人可以篡改这些变量。

还要确保当您收到 Ogone 的响应时,您使用他们发送给您的参数重新形成 SHA 哈希,然后将这个自己形成的 SHA 哈希与 Ogone 发送给您的哈希进行比较。如果这两个匹配,您可以确定参数没有被弄乱。

希望这对您或遇到此问题的其他人有所帮助。

于 2011-10-10T20:27:49.720 回答
0

要使用在 2010 年 1 月 10 日之后创建的帐户使用 Ogone Direct Link,您将需要此补丁: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 受支持并可以使用。

于 2011-02-24T10:17:56.403 回答