支付方式

支付接口

想要在POS定义一个支付方式,需要遵循odoo原生的支付接口(PaymentInterface)

支付接口包括一下几个支付方法:

  • setup: 初始化支付方式, 将环境变量env, pos和支付方法参数赋值给支付对象。
  • enable_reversals: 是否支持退款,支持退款的支付方式需要实现send_payment_reversal方法。
  • send_payment_request: 发送支付请求,这个方法将在POS界面中发起一个支付请求。
  • send_payment_cancel: 取消支付,使用此方法取消支付
  • send_payment_reversal: 退款,使用此方法完成退款。
  • close: 关闭支付

任何一个原生的POS支付方式或自定义支付方式都要实现支付接口定义的方法。

18.0与17.0不同的地方是, 17.0的payment_method属性在18.0中更名为了payment_method_id。

PosPayment

18.0将17.0原有的payment对象升级为了PosPayment对象

下面我们来看一下PosPayment对象的使用方式。

使用uuid替代transaction_id

18.0中的pospayment使用uuid作为交易id,取代了17.0中的transcation_id。

PosPayment提供了一下几个方法:

  • isSelected: 使用uuid来判断当前是否为选中的支付方式
  • set_amount: 设置支付方式的金额
  • get_amount: 获取支付方式的金额
  • get_payment_status: 获取支付交易状态
  • set_payment_status: 设置支付交易状态
  • is_done:判断支付交易是否完成
  • set_cashier_receipt: 设置收银员
  • set_receipt_info: 设置小票信息
  • export_for_printing: 导出打印信息
  • is_electronic: 是否在线交易
  • pay: 支付方法
  • handle_payment_response: 处理交易返回信息。

Payment Status

  • waiting
  • pending
  • done
  • retry

results matching ""

    No results matching ""