Ruby on rails 4 Spree中的订单付款部分捕获

Ruby on rails 4 Spree中的订单付款部分捕获,ruby-on-rails-4,payment-gateway,spree,Ruby On Rails 4,Payment Gateway,Spree,我正在使用Spree,并根据客户要求对其进行了修改。我被一个修改卡住了,我需要一个专家的意见 Spree默认提供的案例 Spree提供订单自动捕获开/关的默认付款,并捕获全部付款 我想要的修改 自动捕获模式=关闭 验证用户帐户中的某个金额可以小于订单的总金额 做一个部分付款捕获,并将剩余金额存储在某处 当订单在发货等其他操作完成后完成时,捕获剩余金额 我的问题 我应该如何修改Spree以实现这些任务 如果我在auto capture=off的情况下进行了一笔5美元的交易,那么在处理该笔5美

我正在使用Spree,并根据客户要求对其进行了修改。我被一个修改卡住了,我需要一个专家的意见


Spree默认提供的案例

Spree提供订单自动捕获开/关的默认付款,并捕获全部付款


我想要的修改

自动捕获模式=关闭

  • 验证用户帐户中的某个金额可以小于订单的总金额
  • 做一个部分付款捕获,并将剩余金额存储在某处
  • 当订单在发货等其他操作完成后完成时,捕获剩余金额

  • 我的问题

  • 我应该如何修改Spree以实现这些任务

  • 如果我在auto capture=off的情况下进行了一笔5美元的交易,那么在处理该笔5美元的授权时是否可以捕获10美元?如果不可能,那么我必须使用OAuth令牌将这个$5交易的金额更新为$10。如果是的话,怎么办


  • 额外信息

    我希望通过使用Spree Payments类实现独立于网关的解决方案,这样我就不必为我集成的每个网关配置该类。现在我有7-8个网关,包括Stripe和Paypal


    为我的问题创建案例,只是一个示例

    订单付款总额=50美元

  • 首先,我想验证用户的帐户中是否有10美元

  • 如果用户有$10,则使用自动捕获模式=关闭进行交易,并以某种方式将剩余金额(即$50-$10)记录在某处

  • 现在我捕获了10美元,两天后发货完成。现在,我想捕获剩余的40美元,然后完成订单


  • 您的问题必须在每个单独的支付网关的上下文中得到回答,因为每个网关的操作规则不同

    您提出的问题太多,无法提供具体答案,但一般而言,CNP(无卡)交易不允许您获取超过授权金额的金额,但这取决于您所在的行业以及您与商户和支付处理商的交易

    2-如果我在auto capture=off的情况下进行5美元的交易,那么在处理该5美元授权时是否可以捕获10美元?如果不可能,那么我必须使用OAuth令牌将这个$5交易的金额更新为$10。如果是的话,怎么办

    通常情况下,您不会将以前的交易“更新”为不同的金额(尽管如我上面所述,在其他行业中,有时可能以高于授权金额的金额进行捕获)。您应该授权您可能想要捕获的总金额,然后在交付货物或服务时向您的支付网关发出多个捕获呼叫(根据CC行业规则,在交付服务之前,通常不允许您捕获。)

    我不知道有哪个支付网关使用“Oauth令牌”进行通信,这通常是一种基于身份验证的技术,而不是基于API的技术

    ->我希望通过使用Spree Payments类实现独立于网关的解决方案,这样我就不必为我集成的每个网关配置该类。现在我有7-8个网关,包括Stripe和Paypal

    听起来像是一场巨大的灾难。摆脱它们,单独调试每个网关的时间使这绝对是一个疯狂的想法

    订单付款总额=50美元。 1) 首先,我想验证用户的帐户中是否有10美元

    一般来说,你不能“峰值”进入某人的私人银行账户,看看他们有多少钱——这是你发明的功能。您可以做的是授权您将来可能要收取的总金额

    2) 如果用户有$10,则使用自动捕获模式=关闭进行交易,并以某种方式将剩余金额(即$50-$10)记录在某处。 3) 现在我捕获了10美元,两天后发货完成。现在,我想捕获剩余的40美元,然后完成订单


    您需要的是一个具有多个捕获的授权。打电话给您的支付处理商代表,与他们就此进行对话,看看有哪些规则管理您的商户和处理商帐户

    嗯。从最后几天开始,我一直在执行探索任务,并得到了所有答案。你几乎每件事都是对的。我会做一个彻底的回答,包括你对这篇文章的回答,并将他们张贴。非常感谢你抽出时间。