php 支付打印发票,支付后开电子发票
1. 场景描述
支付后开票通过和微信支付相结合,提供了一种新的发起开票的途径。用户可以在微信支付凭证中看到开具电子发票的入口,这能为某些打印小票存在一定困难的线下场景(如停车场闸机)是一个良好的开票路径,其它需要打印小票的场景,考虑到小票存在丢失的可能,也可以使用支付后开票作为补充。用户使用微信支付完成消费后,付款凭证上会出现开票入口,用户点击开票按钮后提交抬头信息并完成开票授权。发票开好后会同步到用户的微信卡包,整个开票过程是异步过程,既保证了用户能收到发票,也解决了开票时间不稳定的问题。
2. 交互介绍
支付后开票交互图如下
支付后开票
3. 接口调用流程
支付后开票的时序图如下
支付后开票时序图
支付后开票的步骤如下:
1 提前获取开票平台标识s_pappid,因为同一个开票平台的s_pappid都相同,所以获取s_pappid的操作只需要进行一次。不同接入模式获取s_pappid的方法略有不同:
如果商户接入模式为“自建平台模式”:s_pappid通过调用调用开票平台接口列表接口获得
2 商户获取获取access_token。调用方法见获取Access token;
3 设置商户联系方式。调用方法见商户接口列表。注意,本步骤不能忽略,否则将造成下一步获取授权页报错;
4 关联商户号和开票平台。本步骤为一次性设置,后续一般在遇到开票平台识别号变更,或者商户更换开票平台时才需要调用本接口重设对应关系。调用方法见商户接口列表;
5 查询关联状态,确认商户号已经和开票平台关联成功。调用方法见商户接口列表;
6 在发起支付请求的时候指定每一笔交易的支付后开票。在步骤3关联了商户号和开票平台后不代表每一笔支付都会出现开票入口,需要通过本步接口进一步制定才能让支付凭证上出现开票入口。调用方法见商户接口列表;
7 商户在后台等待接收用户的授权完成事件,接收授权完成事件所用的appid为商户号关联的appid。获取授权事件方法见商户接口列表;
8 查询用户开票信息。根据用户授权完成事件中获得的order_id 与 s_pappid,查询用户开票信息。调用方法见商户接口列表;
9 创建发票卡券模板。发票卡券模板应和背后的开票主体构成一一对应关系,便于后续若开票主体发生变化时,可以便捷修改。调用方法见开票平台接口列表;
10 在自建发票平台开具电子发票;
11 上传发票PDF文件。此步骤获得的s_media_id起到关联PDF和发票卡券的作用,将作为参数在下一步的插卡接口中传入。调用方法见开票平台接口列表;
12 将电子发票添加到用户微信卡包。调用方法见将电子发票卡券插入用户卡包。
php 支付打印发票,支付后开电子发票相关推荐
- 如何打印网页版的发票_纸质发票将消失,电子发票如何报销、打印、收集?这一篇就够了...
电子发票推行已有相当长一段时间了,在深圳前海纸质发票就快要彻底消失了! 票据电子化即将全面普及. 在10月29日腾讯官方宣布,近日,中国信通院.深圳税务局和腾讯联合代表中国在 ITU-T SG16 Q ...
- acrobat adobe合并多个PDF发票文件后,电子公章丢失
使用Adobe Acrobat 2017/2020/DC在将多个发票的pdf合并后,电子发票章会丢失,可以使用PDF-XChange Editor Plus来解决. 操作方式: 点击"转换- ...
- 【微信卡包发票导入】微信电子发票报销方服务端接入时遇到的那些坑
首先先附上微信电子发票报销方接口列表的官方链接,如果你是.NET开发,那么你可以通过Senparc.Weixin.MP来快速开发相应的微信电子发票功能,该功能在其16.4.0版本开始提供,16.4.9 ...
- 基于诺诺电子发票平台开发开具电子发票
目前做几个系统的整合,将之前做的移动端,小程序,PC端整合到一个系统中,今天整合电子发票的开具功能.发现去年写的代码真是low到家了,重新梳理了一下,现在做一下总结. 今天查看诺诺发票官网,发现已经更 ...
- 诺诺电子发票对接 php,诺诺电子发票针对各行业的解决方案
原标题:诺诺电子发票针对各行业的解决方案 什么是电子发票? 电子发票,是指单位和个人在购销商品或劳务,以及从事其他经营活动过程中,开具或取得的以电子方式存储的收付款凭证.其突破了传统纸质发票的概念,具 ...
- 接入微信电子发票java_接入微信电子发票流程步骤
一.流程图 电子发票流程涉及用户.商户.报销方.发票平台和公众平台五个角色. 对于自建发票平台的商户,发票平台即为商户自身的开票系统,承担着制作发票卡券.将发 票卡券插入用户卡包以及报销状态更新的关键 ...
- 发票清单计算机怎么打印,如何导出自己开的发票明细清单,如何导出发票明细...
在用无线宽带路由器时会遇到形形色色的问题,比如正确使用登陆密码和无线WiFi密码.那么如何进行操作呢?下面小编与你分享具体步骤和方法. 工具/材料 无线宽带路由器 操作方法 01启动Windows 1 ...
- OFD专用电子发票及PDF普通电子发票-批量解析V1.5.2
本次没有进行大的变更,主要是部分用户反馈的问题,进行小的优化. 优化内容如下: 1.优化,原有程序不支持负数发票的问题. 2.优化,部分用户希望程序执行完后后自动关闭窗口.本次已支持.使用方法请看压缩 ...
- OFD专用电子发票及PDF普通电子发票-批量解析V1.5
新版小工具终于开发完了.这一版本,之前有些用户提到的备注区.货物清单基本上已经支持.由于此版本耗费了大量精力,这一版本之后,可能较长一段时间不会再更新. 1.下载地址: 链接:https://pan ...
最新文章
- docker学习实践之路[第一站]环境安装
- Springboot测试类的编写
- 【Ubuntu16.04-opencv3.4.0-FDDB Evaluation】评测代码使用中遇到对‘cvxxx’未定义的引用问题
- JSF技术的相关网站和BBS
- android中读取properties文件
- Spring源码分析-Bean生命周期概述
- php实现推箱子游戏,C语言实现推箱子游戏的代码示例
- 利用Python中的Matplotlib,绘制2000年以来中国人口出生率、死亡率及增长率趋势图
- 2 c++编程-核心
- 蓝牙认证,蓝牙BQB认证,蓝牙BQB测试内容,蓝牙BQB认证多少钱?蓝牙BQB认证流程
- 现场直击大数据行业应用实践
- 电源设计满足更大功率密度的需要
- java全景图片切割 全景,基于Three.js实现360度全景图片
- ____ To All Girls Boys
- 拼多多商家怎样做来降低店铺退款的几率?
- 海外区块链投融资持续火热 | 产业区块链发展周报
- Codeforces1063 C. Dwarves, Hats and Extrasensory Abilities(交互,二分)
- 谈谈我的佛系增长之道
- unity接入quick sdk报错总结(Andriod第一版)
- truncate table oec_meoney 1