简短的回答是否定的,Satchmo 的 Authorize.net 模块不支持开箱即用的部分授权。不过,长篇大论的答案是,创建自己想要的东西可能比您想象的要容易:
本文档准确描述了将部分付款过帐到 Authorize.net 系统所需的内容:
x_allow_partial_auth=true
与单个交易一起发送。
- 当总订单的部分金额成功批准第一笔交易时,将生成并返回拆分投标 ID。您必须在以下交易中将此值传回
x_split_tender_id=<value>
。(如果您在同一请求中同时包含拆分投标 ID 和事务 ID,则会导致错误。)
Satchmo 文档描述了如何创建自定义支付模块。
如果您查看 中的 Authorize.net 支付模块的源代码/payment/modules/authorizenet/processor.py
,您会发现大部分工作已经为您完成。您可以扩展该 Authorize.net 类,或者只是将代码复制并粘贴到新模块中,例如,/payment/modules/authorizenetpartial/
并按照 Authorize.net 文档中的说明进行调整。只需用它x_split_tender_id
代替你的x_trans_id
,可能还有其他一些试错调整,你应该很高兴。