固定台牌码支付
1. 产品介绍
1.1 简介
汇付提供聚合台牌码,支持支付宝、微信、银联二维码支付(云闪付)等支付方式,消费者通过微信/支付宝/云闪付/浏览器/第三方APP等扫描台牌码,输入订单金额进行支付。
1.2 应用场景
适用对象:开通微信、支付宝、银联二维码支付(云闪付)权限的商户;
汇付支持:
- 手续费配置(内扣、外扣、实收、后收、线上、线下);
- 支持间连和直连扫码类型、支持指定子账户入金、支持ATU代金券;
台牌码支付示例:
流程图:
2. 接入前准备
2.1 商务准备
-
选择接入模式
-
直签模式:指商户与汇付直接签约。具体流程:商户完成协议签署后,将准备好的入网材料提供给汇付销售人员,由汇付销售人员发起商户入网申请,待审核通过入网成功后,商户联系人将收到短信通知控台账号及密码。
-
服务商模式:指服务商与汇付签约,服务商通过接口或控台方式完成商户入网。具体流程:服务商完成协议签署后,将准备好的入网材料提供给汇付销售人员,由汇付销售人员发起服务商入网申请,待审核通过入网成功后,服务商联系人将收到短信通知控台账号及密码。
-
在斗拱完成商户进件入网
- 直签模式:已有汇付销售人员申请开通,商户无须另行操作;
- 服务商模式:
- 控台入网:参考服务商控台进件流程,渠道商接入指引;
- API入网:企业商户调用企业商户基本信息入驻接口 、小微商户调用个人商户基本信息入驻接口 完成开户、绑卡、结算配置。
2.2 对接准备
第一步:密钥获取
联调之前需要先获取公私钥,参见公私解钥参数获取说明;
第二步:公共参数获取
登录服务商/商户控台后,可在开发设置-开发者信息中,获取sys_id,product_id参数信息;
第三步:业务开通及配置
- 服务商模式:
步骤一:服务商功能及权限开通。服务商通过线下签约方式申请支付宝支付、微信支付、银联二维码支付功能,汇付运营人员在审核好服务商资料之后,为服务商开通相关支付功能,及费率配置。
步骤二:为商户开通功能及权限。服务商权限及费率配置完成后,服务商可在服务商控台为下属商户申请开通相关支付功能,或通过调用 商户业务开通 接口开通。具体流程请参考API文档,商户进件。
- 直签商户:
与客户经理确认已开通功能及相关费率及APPID配置。
- 生成台牌码:
在【终端管理】-》【终端查询】-》【新增商户二维码】功能下为商户生成二维码;
- 下载打印二维码
渠道商可以在渠道商控台配置、下载台牌码;
商户也可以在商户控台自行下载二维码。
3. 开发指引
3.1 对接规范
调用汇付接口,均采取POST形式提交,数据格式统一为JSON格式,相关SDK及签名方法见链接:
SDK示例:Java SDK
加签验签:v2版接口加签验签
3.2 确认业务配置
- 商户业务已开通、费率已配置;(如已与客户经理确认,该步骤可忽略)
查询方式
1)服务商控台:【商户信息】【查看】【商户变更】【业务信息】【基础支付】
2)商户控台:【我的信息】
3)通过商户详细信息查询接口来确认相关配置。
- 商户实名认证状态已完成,实名认证状态显示已授权。
查询方式
1)服务商控台:【商户信息】
2)通过微信实名认证状态查询/支付宝实名认证查询接口来确认相关配置。
3.3 系统调用流程
3.3.1 交易流程
无需调用接口;
3.3.2 退款流程
完整的交易流程还要包括退款。由于用户或者商户的原因需要退款时,商户可以通过本接口将支付款退还给用户,退款成功资金将原路返回。参见扫码交易退款接口;
关注以下请参:
参数 | 中文名 | 必填 | 说明 |
---|---|---|---|
org_req_date | 原交易请求日期 | Y | 用户发起支付的日期 |
org_req_seq_id | 原交易请求流水号 | C | 商户系统发给斗拱的指令流水号 |
org_hf_seq_id | 原交易全局流水号 | C | 汇付生成的系统流水号 |
org_party_order_id | 原交易微信支付宝的商户单号 | C | 该笔交易在微信端的流水号 |
ord_amt | 申请退款金额 | Y | 退款金额<=原交易金额 |
-
原交易请求流水号、原交易全局流水号、原交易微信支付宝的商户单号三选一即可;
-
退款金额不能大于交易金额;由于接口支持多次部分退款,多次退款场景下退款总额不能高于原交易金额;
-
退款也是以异步返回的成功或失败状态为最终结果;
-
一些特殊场景下退款时效可能比较长,注意接口描述文档中的退款时效说明;
-
商户控台也可以支持退款操作,无需联调接口;
点击【详情】查看交易详情,在详情页面操作退款;
3.3.3 对账流程
为了满足商户财务的对账需求,斗拱提供了对账功能。
方案一:控台下载;
方案二:接口获取;参见交易结算对账单查询接口
- 接口下载的对账文件包括以下四类:
- 日对账单类型:包括日结算对账单、日分账对账单、日出金对账单;
- 日交易数据:主要是各种支付交易记录;
- 月结算对账单:按月汇总的结算对账单;
- 月交易数据:按月汇总支付交易记录;
3.3.4 异步通知
针对交易结果,汇付会通过异步消息的方式通知客户系统。
调用汇付接口时上送的异步通知地址为http/https路径:服务器为POST回调,默认超时时间为5秒,超时后会重试3次;不支持HTTP重定向;服务器对应答不是200~300之间的错误,会默认重试3次;异步通知服务器对HTTPS不认证验签和ALLOW_ALL_HOSTNAME_VERIFIER;如商户自定义通知端口,请使用8000-9005内端口,否则无法通知;URL 上请勿附带参数;异步回调请求编码集为:UTF-8;收到通知后请返回状态码“200”,响应异步通知。
注意事项:
同样的异步消息可能会通知多次,因此接收异步消息的处理需做好幂等,保障多次接收到同样的消息处理后结果不变。
在实现异步消息接收的同时,都建议您在重要的业务环节,通过反查接口确认 非终态 支付订单的状态,以保证在发生异步消息延迟或无法送达情况下的支付结果一致性。
详见异步通知使用说明。
4. API列表
类型 | 功能 | 描述 |
---|---|---|
API | 交易查询 | 查询支付交易信息 |
API | 交易退款 | 申请退款 |
API | 交易退款查询 | 查询退款进度及结果 |
API | 交易关单 | 长时间未支付做关单处理 |
API | 交易关单查询 | 交易关单查询 |
API | 微信用户标识查询 | 辅助类接口,微信用户标识查询 |
5.常见问题
- 微信支付时,接口报错:"sub_mch_id与sub_appid不匹配"
问题原因:微信公众号/小程序支付时报此错误,一般是商户未正确配置交易所使用的微信公众号/小程序 appid 到微信侧。
解决方案:
1) 渠道商控台给商户配置,如下图:
2) 通过接口配置:
微信商户配置 https://paas.huifu.com/partners/api/#/shgl/shjj/api_shjj_wxshpz
- 微信支付时,接口报错:”当前商户需补齐相关资料后,才可进行相应的支付交易,请商户联系对接的微信支付服务商 ”
问题原因:此错误一般是商户还没有完成微信实名认证。
解决方案:完成微信实名认证
1).渠道商控台进行实名认证,菜单如图:
2).扫拓展码进行实名验证(可联系汇付人员指导)
3).通过接口进行实名认证:
实名认证接口:https://paas.huifu.com/partners/api/#/shgl/shjj/api_shjj_wxsmrz
- 微信支付返回:redirect_uri域名与后台配置不一致
问题原因:网页授权页面未正确配置。
解决方案:登录服务商微信后台配置下网页授权域名。
微信后台 在 设置与开发 -> 公众号设置 -> 功能设置 中找到 网页授权域名
- 支付接口调用报错:“resp_desc”:“数据权限认证失败”
问题原因:商户信息校验没有通过。
解决方案:
1)检查报文中的产品号(product_id)是否填写正确;
2)检查报文中的系统号(sys_id)和商户号(huifu_Id) 从属关系是否正确。
- 为什么交易成功以后会收到 2 条异步通知?
2条异步通知分别是 交易异步 跟 账务异步,用 notify_type 字段区分。
1). 交易异步情况
notify_type='1',trans_stat='F' 时,不推送账务异步
notify_type='1',trans_stat='S' 时,会推送账务异步
2). 账务异步情况:
notify_type='2',trans_stat='S',acct_stat='S' 表示交易成功-入账成功
notify_type='2',trans_stat='S',acct_stat='F' 表示交易成功-入账失败(非正常情况,可联系汇付技术人员确认排查)
更多问题详见斗拱开发者社区:https://service.dougong.net/t/qa