【问题标题】:How to make a stripe charge in rails form BEFORE form is submitted如何在提交表单之前在 Rails 表单中进行条带充电
【发布时间】:2015-10-22 11:55:25
【问题描述】:

我有一个由用户 A 填写的表格。如果用户 A 说他们会付款,那么我希望在用户 A 选择他们将支付的下拉菜单旁边的表单中(在提交表单之前)显示一个收费按钮(我猜是 javascript?)。此外,如果付款费用未完成,表格本身将不会提交。如果下拉菜单设置为 userB will pay(其他用户类型),则表单将提交。

我不确定我可以用什么来做到这一点,我认为是 javascript,但我知道 ruby​​ 并没有太多的 javascript。此外,费用必须从表格的第二个下拉菜单中获取费用金额。因此,收费按钮需要从预先提交的表格中提取该金额。再次让我想到,这可以通过 javascript 来完成。

我的条纹按钮有 javascript,但需要一些代码来让按钮在选择下拉菜单时出现,并从表单中的其他下拉菜单中提取金额。

这是一个实际流程的例子:

提交表单 -> 检查 Attrs :x -> 如果 Attrs X 为假,则创建记录 || Elsif Attr True -> 从 Attrs 获取付款金额:Y,呈现付款视图,将 Attrs Y 显示为应付金额 -> 提交付款表格 -> 成功收费 -> 创建原始记录

【问题讨论】:

    标签: javascript ruby-on-rails mongoid


    【解决方案1】:

    如果您需要在应用程序中获得授权,则不应依赖 javascript。用户可以轻松绕过这一点。

    我认为您的想法有点错误 - 您不会在同一个浏览器会话中拥有两个用户,或者让某人坐下来等待浏览器窗口打开,直到主管批准他们的请求。这不是分时度假的时代。

    相反,您将让非特权用户在提交表单时创建PurchaseRequest。主管会收到通知,并可以批准或取消 PurchaseRequest。

    在这种情况下,您是否希望球滚回用户 1 取决于具体的用例,但根据我的经验,主管通常是持有公司卡的人。

    使用 Stripe 或任何其他支付系统时,您提交付款,然后您会收到一个回调请求,告诉您付款是否成功。

    1. Joe 提交表单以创建请求
    2. 简(主管)外出打高尔夫球并在 3 天后批准。
    3. Joe 收到通知,他现在可以支付请求。他点击支付按钮,请求被转发到支付门户。
    4. 他提交了付款,然后被重定向回您的应用程序。在此操作中,您需要检查付款状态并相应地呈现视图。

    这是一个通用示例,您应该查看 Stripe 文档以了解他们推荐的流程。

    【讨论】:

    • 感谢您的回答,但我相信您误解了我的问题。我用词不好。我更新了问题以尝试使其更清楚。此表格适用于 1 类用户。该用户有能力决定他们是付费还是其他类型的用户稍后付费。请再次查看问题。谢谢
    猜你喜欢
    • 2012-08-08
    • 1970-01-01
    • 2016-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-10
    • 2017-02-22
    • 2014-02-16
    相关资源
    最近更新 更多