开发指引(自建/第三方模式)
更新时间:2023.10.12本开发指引对微信支付电子发票的标准流程、关键场景的开发思路和最佳实践展开介绍。你可以阅读开发指引,并结合【API文档】完成微信支付电子发票的接入流程。
# 1、前置条件
为降低开发指引环节的阅读和实践成本,建议在阅读本指引前,确保你已经:
# 2、开发指引
你可以根据商户的不同需求,调用微信的电子发票能力,进行场景应用。
# 业务时序图
步骤一 服务商邀请子商户开通电子发票,且子商户完成相关的开票模式选择和产品设置后,可先调用《检查子商户开票功能状态》检查商户是否完成电子发票功能授权,如未授权需根据《接入前准备》操作步骤完成授权邀请;
步骤二 确认授权关系后,须先需要先调用《配置开发选项》接口设置回调地址、支付开票入口标识等,用于接收获取用户抬头等信息通知;调用《创建电子发票卡券模板》接口为商户创建电子发票的卡券模板;
步骤三 申请开具电子发票
- 场景1、微信支付场景申请开票
用户通过微信支付消费,商户可在支付账单页展示开票入口。通过《微信支付下单接口》传入电子发票入口开放标识字段(仅指定订单展示)或通过《配置开发选项》设置支付订单标识(设置后全部订单展示);用户支付完成后,收到带「开发票」入口的支付消息账单通知,通过支付账单页填写发票抬头,并提交申请;
- 场景2、非微信支付场景申请开票
用户通过其他方式消费,可通过《获取抬头填写链接》,生成开票二维码或在订单小程序展示,用户扫码或点击后,填写发票抬头信息。
步骤四 用户填写抬头后,会收到《用户发票抬头填写完成通知》,然后通过《获取用户填写的抬头》,获取用户填写的信息;获取填写抬头后,匹配相关订单信息,向自有/第三方开票平台发起开票申请;开票完成后,调用《上传电子发票文件》接口,根据授权信息《将电子发票插入微信用户卡包》,交付消费者;
步骤五 如需对已开具的电子发票进行冲红(开具红票),可调用卡券核销接口进行冲红,并将其从用户的微信卡包中删除;
步骤六 调用《将电子发票插入微信用户卡包》和卡券核销接口接口成功后,可调用《查询电子发票》接口,获取已开具/冲红/插卡的电子发票信息。