当我在 Spree 中设置 auto_capture_on_dispatch = true 时,Braintree 不支持在一个订单授权中对多个发货进行部分付款。它适用于第一次捕获尝试,但在第二次尝试时会引发以下错误。
Gateway Error
--- !ruby/object:ActiveMerchant::Billing::Response
params:
braintree_transaction:
message: Cannot submit for settlement unless status is authorized. (91507)
success: false
我认为如果不是授权订单总额,Spree 授权每批货物分别在最后进行不同的交易,我认为这个错误可以解决。换句话说,在一个订单中创建与发货一样多的付款授权。这在技术上可行吗?有人可以让我在这方面走上正轨吗?如何在 Spree 中实施这种方法?
我正在寻找多个 Spree 代码行,让我告诉你 Spree 不是香草蛋糕。
https://github.com/spree/spree/blob/master/core/app/models/spree/order/checkout.rb#L82
https://github.com/spree/spree/blob/master/core/app/models/spree/order/payments.rb#L22
https://github.com/spree/spree/blob/master/core/app/models/spree/payment/processing.rb#L10
https://github.com/spree/spree/blob/master/core/app/models/spree/payment.rb#L215
https://github.com/spree/spree/blob/master/core/app/models/spree/shipment.rb#L183
https://github.com/spree/spree/blob/master/core/app/models/spree/shipment_handler.rb#L20
非常感谢您。