Odoo19配置KHQR支付 - xiaohao0576/odoo-doc GitHub Wiki
使用KHQR需要的设置
- 在发票或会计模块中,安装柬埔寨会计会计本地化
- 在发票或会计模块中,客户付款设置中,启用
在发票中添加付款二维码 - 公司的货币主币种,需要选择USD或KHR,一旦选定,后期就不要更改了
- 需要联系人中创建银行,
res.bank,国家也选择柬埔寨。 - 需要创建一个联系人银行账户,国家选择柬埔寨
- 在银行账户中,选择账户持有人,注意,账户持有人的基本信息中,需要完善城市信息,比如Phnom Penh
- 在
EMV QR Settings选项卡中,完善proxy_type和proxy_value两个字段,其中proxy_value是bakong账号 - 如果启用
include_reference选项,生成的KHQR中会包含备注信息
在POS中使用KHQR
- 在发票模块创建日记账,类型是银行,银行账号选择上一节创建的银行
- 在POS中创建支付方式,日记账选择上一步创建的日记账
在服务器动作中生成KHQR
以下代码生成的是KHQR的文本,并存储到pos.payment的ticket字段中
# 本服务器动作是在pos.payment模型上创建的
record.ensure_one()
bank = record.payment_method_id.journal_id.bank_account_id
khqr_params = {
'qr_method':'emv_qr',
'amount':record.amount,
'currency': record.currency_id,
'debtor_partner': record.partner_id,
'free_communication':'',
'structured_communication':''
}
khqr_value = bank._get_qr_vals(**khqr_params)
record['ticket'] = khqr_value #保存khqr字符串,以备后续查询
action = {
'name': record.name,
'amount': record.amount,
'khqr_value': khqr_value,
'khqr_code':''
}