【发布时间】:2017-01-06 17:34:31
【问题描述】:
我正在开发一个 Rails 应用程序,我必须在其中集成一些支付网关。 现在,这些网关的功能之一是 3Dsecure 支付。 这些付款的流程是这样的。
- 用户在表单中输入他的帐单地址详细信息等。
- 服务器向支付网关(PG)服务器发送安全支付请求
- PG 返回一个特殊的链接,需要重定向用户。
- 用户转到该链接,输入卡信息和/或输入安全的银行代码。
- PG 的服务器通过提供的返回 URL 将用户发送回我们的服务器,并带有一些凭据。
- 我们的服务器通过另一个 api 调用验证支付是否成功
- 成功后,我们在数据库中保存一行。
现在我很困惑如何在 Rails 中实现这种行为。
- 如果我在模型中进行 api 调用,我无法从那里重定向用户。
- 如果我在控制器中进行 api 调用,我无法将错误发送到表单,以防任何 api 调用引发错误。
- 我只需要在回调中保存付款详细信息,但如何在回调函数中访问提交的表单数据。
- 我应该在哪里实现我的回调函数。
【问题讨论】:
标签: ruby-on-rails ruby model-view-controller architecture payment-gateway