更改付款方式
客户可能希望使用其他付款方式或在多种付款方式之间分配费用来为订单付款。 在这种情况下,用户就能方便地添加或修改付款方式。
解决方案
以下部分描述了 API、用户出口、服务及其他组件。
用户可以使用“订单汇总”屏幕中与“更改付款方式”相关的任务来更改订单上的付款方式。 更改付款方式时,将复用在捕获订单的付款时使用的逻辑。
当用户选择更改已确认订单上的付款方式时,将调用 getCompleteOrderDetails API 以检索该订单上存在的付款方式。 如有需要,用户可以调整针对付款方式(需支持调整)收取的金额,还可以添加新的付款方式。 可以针对付款方式收取的最大金额由 MaxChargeLimit 属性决定。 但是,不能将 MaxChargeLimit 的值减小到小于 API 返回的 TotalCharged 属性的值。
getCompleteOrderDetails API 将返回以下 ModificationType 属性,这些属性根据是否允许修改来决定用户可执行的操作。
PRICE:决定用户是否可修改调整。PAYMENT_METHOD:决定用户是否可添加或删除订单上的付款方式。CHANGE_PROMOTION:决定用户是否可向订单应用新促销。REMOVE_PROMOTION:决定用户是否可移除关联的促销。
getPaymentTypeList API 将检索当前组织允许的付款方式。 从此列表中,用户可以选择要添加到订单中的付款方式。
capturePayment API 将考虑 fundsAvailable、RemainingAmountToAuth、UnlimitedCharges 和其他变量以计算付款方式的最大费用限制。
将调用 capturePayment API 以考虑任何更正,并在存在多种付款方式时调整订单的 MaxChargeLimit。 将调用 capturePayment API
以将付款方式保存到订单。
要设置信用卡名称和有效期加密,必须在 Sterling™ 业务中心实施支付加密逻辑并启用 "加密信用卡名称和有效期 "规则。 该应用程序会显示星号来替换信用卡名称和截止日期字段中的字符。
仅当需要执行实时授权时,才会公开信用卡的 CVV 字段。 当用户首次确认对订单的付款时,processOrderPayments API
将处理所有授权并计算在处理订单的任何时候所要收取的实际金额。 此 API 进而会调用用于验证付款方式的用户出口,并在付款未通过验证的情况下返回错误。 此 API 的输出中的 PaymentTransactionError 元素将包含错误。 将立即为付款考虑所有已成功授权的所有付款方式。 如果付款方式未通过授权,那么将提示用户修正此付款方式,或使用其他付款方式。 即使付款验证系统已关闭,也仍会考虑付款方式。 但是,将在稍后通过付款处理代理程序进行授权。 再次装入“支付确认”屏幕时,会基于为每种支付方法设置的状态检索在上次交易中返回错误的支付方法。 不会再次调用 processOrderPayments API
来验证订单上存在的付款方式。 但是,当用户修正错误的付款方式并应用更改时,将调用 processOrderPayments API 以验证付款。
为了保存对订单的所有更改,将调用 changeOrder API 以添加或更新付款方式并自动添加缺省注释。 更多信息,请参阅自动备注记录。 如果必须对客户保存付款方式,那么将调用 manageCustomer API。
用户修改付款方式和费用后,如果客户仍欠款而无法履行订单,那么将显示相应错误消息。
实现
以下部分描述了必须配置的规则。
- 在用户界面中使用单个字段以输入信用卡上的姓名:此规则允许在捕获付款信息时,在用户界面上将单个或多个字段用于信用卡姓名。 您可以在企业级别配置该规则。 当用户捕获信用卡详细信息时,屏幕会根据销售方组织此规则的配置运行。
- 对草稿订单实时授权信用卡:该规则允许用户对订单实时授权付款
- 付款类型和支付卡类型。
- 更改支付方式
- 更改价格
- 更改促销
- 移除促销
有关 API 和用户出口的更多信息,请参阅 Javadoc。
您可以配置在成功更改支付方法时自动记录缺省注释。 更多信息,请参阅自动备注记录。
最终用户影响
用户可以修改付款方式以及在各种付款方式之间的费用分配以适应客户的需求。