再则,经热心网友提示,发现前面介绍的内容有不完善的地方,故今天一并重新整理和修改后发布,方便大家收藏使用。
一、调取支付宝Excel格式流水清单方法。
流程1:电脑登录支付宝---选择账号类型----商家用户----对账中心----账单下载。
流程2:电脑登录支付宝---选择账号类型----个人用户----交易记录----下载账单----Excel格式。
1、打开电脑浏览器,输入支付宝的官网地址,然后手机支付宝扫码或者输入账号密码登录需要调取清单的支付宝账户。
2、选择需要调取的支付宝账号类型,包括合作伙伴、商家用户、个人用户。
3、在商家用户界面,选择“对账中心”。
4、在左侧菜单栏选择“账单下载”。
5、可以选择任意年份和任意月份以及日期的账单下载。
6、下载后的账单示例。有交易号、商家订单号、交易创建时间、付款时间、最近修改时间、交易来源地、交易对付、商品名称、金额等内容。
7、在个人用户界面,选择“交易记录”功能菜单。
8、可以自由选择交易时间,从该支付宝账号开始使用起至当下都可以调取。可选择下载Execl格式和TXT格式。
9、下载的账单示例。有账务流水单号、业务流水单号、商户订单号、发生时间,金额,余额等内容。
10、手机登录支付宝也可以查看账单,支持可视化的统计分析展示,和详细交易浏览,但是无法下载表格。
二、下载单笔交易电子回单(有电子印章)
流程:首页---转账---转账记录---选择需要电子回单的具体单笔交易---申请电子回单---获取回单。
三、下载含电子印章的某段时间内的交易清单(有印章)
流程:我的---总资产---服务---资产证明---余额收支明细---申请---选择时间---填写收清单的电子邮箱---发送---获取清单。
四、下载微信交易流水清单
提示:微信下载账单中的“用做证明材料”可以调取完整流水,“用于个人对账”会忽略手动删除的内容。
1、有电子印章的PDF版
流程:我---支付---钱包---账单---'...'---选择账单用途---用做证明材料---选择日期---获取账单。
2、无电子印章的Excel版
流程::我---支付---钱包---账单---'...'---选择账单用途---用于个人对账---选择日期---获取账单。
本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击。
项目里对接微信特约商户支付差不多是一年前了吧,很多东西都忘了,刚好今天在新项目里调试这一块,然后掉坑里了。
比较久的一些坑以后再说,就先记录一下今天的坑吧。
这里以php,微信最新的sdk为例。
微信支付开发文档(境内)分普通商户版、服务商版、银行服务商版,这里只讨论前两个,两者区别的话就是在接口上的一些参数不同,比如服务商版在调用统一支付API的时候需要填写sub_app_id,sub_mch_id之类的,这没什么,加上就是了,如果自己从0开始写的话那没什么,如果使用微信的SDK的话就要注意了,普通商户版和服务商版提供的SDK同样都是普通商户版的SDK,这就意味着,如果你要对接服务商版,缺失的参数以及对应的设置方法获取方法需要你自己在SDK里添加好,否则不成功,比如前面提到的sub_app_id,sub_mch_id。
//异步通知url未设置,则使用配置文件中的url这是微信支付SDK中统一下单接口方法,其中$inputObj在普通商户下这样用是没问题的,但是到了服务商版本,有了如下区别:
先来看看服务商支付所需要的参数(摘自):
服务商商户的APPID | |
微信分配的子商户公众账号ID,如需在支付完成后获取sub_openid则此参数必传。 | |
微信支付分配的子商户号 | |
终端设备号(门店号或收银设备ID),注意:PC网页或JSAPI支付请传"WEB" | |
Y,传入Y时,支付成功消息和支付详情页将出现开票入口。需要在微信支付商户平台或微信公众平台开通电子发票功能,传此字段才可生效 | |
随机字符串,不长于32位。推荐 | |
腾讯充值中心-QQ会员充值 |
商品描述交易字段格式根据不同的应用场景建议按照以下格式上传: (1)PC网站——传入浏览器打开的网站主页title名-实际商品名称,例如:腾讯充值中心-QQ会员充值; (2) 公众号——传入公众号名称-实际商品名称,例如:腾讯形象店- image-QQ公仔; (3) H5——应用在浏览器网页上的场景,传入浏览器打开的移动网页的主页title名-实际商品名称,例如:腾讯充值中心-QQ会员充值; (4) 线下门店——门店品牌名-城市分店名-实际商品名称,例如: image形象店-深圳腾大- QQ公仔) (5) APP——需传入应用市场上的APP名字-实际商品名称,天天爱消除-游戏充值。 |
商品详细描述,对于使用单品优惠的商户,改字段必须按照规范上传,详见 | |
附加数据,在查询API和支付通知中原样返回,该字段主要用于商户携带订单的自定义数据 | |
商户系统内部订单号,要求32个字符内,只能是数字、大小写字母_-|*且在同一个商户号下唯一。详见 | |
符合ISO 4217标准的三位字母代码,默认人民币:CNY,其他值列表详见 | |
订单总金额,只能为整数,详见 | |
异步接收微信支付结果通知的回调地址,通知url必须为外网可访问的url,不能携带参数。 | |
trade_type=NATIVE时,此参数必传。此参数为二维码中包含的商品ID,商户自行定义。 | |
上传此参数no_credit--可限制用户不能使用信用卡支付 | |
trade_type=JSAPI时(即JSAPI支付),此参数必传,此参数为微信用户在商户对应appid下的唯一标识。openid如何获取,可参考【】。企业号请使用【】获取企业号内成员userid,再调用【】进行转换 | |
Y,传入Y时,支付成功消息和支付详情页将出现开票入口。需要在微信支付商户平台或微信公众平台开通电子发票功能,传此字段才可生效 | |
该字段常用于线下活动时的场景信息上报,支持上报实际门店信息,商户也可以按需求自己上报相关信息。该字段为JSON对象数据,对象格式为{"store_info":{"id": "门店ID","name": "名称","area_code": "编码","address": "地址" }} ,字段详细说明请点击行前的+展开 |
按照SDK的写法,这三个值应该有对应的设置方法和读取方法:
然而,并没有。甚至我在整个SDK里搜索sub这三个字母都无结果。所以这里需要我们自己去添加对应的方法。emmmmmm这算是个小坑吧,自己改改就完。
然后说回这仨值,这仨值是必填!必填!必填!否则报错,而文档里sub_app_id、sub_openid的必填属性为否。
嗯,好,以上的都没啥问题了,后边签名又过不去了,看(服务商版):
嗯,没毛病,不过怎么看着就面熟呢?再看看:
这特么不一个样么?不都是按照ASCII码从小到大排序拼接然后拼上商户密钥key最后md5运算转换大写么?为什么我就是不通过?
那么,坑来了,这个商户密钥key,服务商版的需要用服务商的商户密钥key,而不是子商户的。
好的,换上了服务商的key,通过了,也获取到了前端调起支付需要的xml数据了,然后兴冲冲拿着这些数据去进行签名处理好发给前端调起支付了,然后前端也确实得到了timeStamp、nonceStr、package、signType、paySign这五个参数(以小程序为例),然后前端也兴冲冲的拿起手机扫码付款了,这时候突然手机上一个弹窗:支付签名验证失败。然后一下子就从天上掉下来了,为什么?不是签名通过了么?参数也都全啊?怎么就又签名失败了?
于是跑回去各种检查各种尝试,然后对比检查到了签名这一块:appid、timeStamp、nonceStr、package、signType都设置了啊,package也按要求prepay_id=的方式填写了啊,到底怎么回事?恭喜又踩坑了,这里的appid不能使用服务商的,而是使用子商户的,也就是sub_app_id。
改完参数后,emmmmmmm成了。
以上是付款遇到的坑,emmmmm还有退款,年代久远都忘了,等新项目对接到了再说吧,又得头疼一阵子。