Satchmo的Authorize.net支付模块支持部分授权的万事达卡吗?
1 个回答
4
简单来说,Satchmo的Authorize.net模块不支持部分授权。不过,实际上实现你想要的功能可能比你想的要简单:
这份文档详细说明了如何在Authorize.net系统中提交部分付款:
- 在每个交易中发送
x_allow_partial_auth=true
。 - 当第一次交易成功批准了部分金额后,会生成一个分割付款ID并返回。你需要在后续的交易中使用
x_split_tender_id=<value>
传递这个值。(如果在同一个请求中同时包含分割付款ID和交易ID,就会出错。)
- 在每个交易中发送
Satchmo的文档介绍了如何创建自定义支付模块。
如果你查看 /payment/modules/authorizenet/processor.py
中的Authorize.net支付模块的源代码,你会发现大部分工作已经为你做好了。你可以扩展这个Authorize.net类,或者直接把代码复制粘贴到一个新的模块,比如 /payment/modules/authorizenetpartial/
,然后按照Authorize.net文档中的说明进行调整。只需把 x_split_tender_id
替换成你的 x_trans_id
,再进行一些试错调整,你就可以顺利进行下去了。