业务说明
本接口请求方为翼码系统,接收方为商家系统。
支持的支付交易类型:
4.3扫码支付、4.13jsapi支付、4.14微信小程序支付、4.21聚合动态码支付、4.34网银支付、4.65快捷支付申请、4.67快捷支付页面版、4.15银行卡刷卡下单、4.22小程序支付收银台下单
支持的退款交易类型:
4.5支付退款交易、4.38线上交易退款、4.17银行卡申请退款交易
退款结果通知仅支持部分通道
以上交易类型支付成功后,发送HTTP请求通知商户系统支付结果。
报文格式:JSON
请求方式:POST
Content-Type: application/json;charset=utf-8
商户接收到通知处理成功后需响应字符串“success”,其他响应翼码系统认为通知失败会继续通知。
同样的通知可能会多次发送给商户系统,商户系统必须做好幂等处理,能够正确处理重复的通知。
解析与验签说明
重要提示:
该通知为标准接口,会根据业务需要增加请求节点,且部分请求节点是为兼容存量商户的冗余字段,增量商户无需关心,未在文档“请求报文说明”中展示!
因此解析报文和验签需按实际接口接收到的请求节点来处理,切勿以固定格式解析报文和验签,应避免未知请求节点引起的代码报错!
可空节点数据为空时,既可能返回null也可能返回空字符串,请解析时注意兼容!
签名sign计算规则详见:JSON格式签名计算。
请求报文
{"notify_type": "1","isspid": "00026713","store_id": "S20220927","pos_seq": "C20220928X1000000015","source": "1","pos_id": "S20220927","pay_type": "503","trans_type": "1","memo": null,"status": "1","tx_amt": "1","partner_id": "1503490901","end_time": "20220928144502","sub_appid": "wxa138a13aca591b95","buyer_id": "oXI_E5KN-FJi1Hf65mWeiBF8fUlU","mid": "","tid": "","batch_no": "","trace_no": "","ref_no": "","is_foreign_card": "","card_type": "","trade_no": "4200001546202209282282722088","buss_discount_amt": "0","platform_discount_amt": "0","charge_amount": "0","user_yima_id": "1111111111","atu_trade_no": "4200001546202209282282722088","atu_out_trade_no": "C20220928X1000000015","bank_code": "","fund_freeze_stat": "","fee_allowance_info": "{\"receivable_fee_amt\":\"2\",\"actual_fee_amt\":\"1\",\"allowance_fee_amt\":\"1\"}","sign": "7A6B20F1AC3F18FBFC56F4A36CE3207F"}
请求报文说明
标准接口会因业务升级需要而新增节点,请在解析请求报文时避免新增未知节点产生的程序出错!
| 节点名称 | 中文名称 | 类型 | 说明 | 是否必填 |
|---|---|---|---|---|
| sign | 签名 | String(32) | 计算签名方式请看2.1章节 | 必填 |
| notify_type | 通知类型 | String(1) | 1:交易结果通知 | 必填 |
| isspid | 商户号 | String(8) | 交易的翼码商户号 | 必填 |
| store_id | 门店号 | String(20) | 商户自定义的门店号 | 必填 |
| pos_seq | 交易请求流水号 | String(32) | 请求支付/退款接口的流水号(pos_seq) | 必填 |
| org_pos_seq | 原交易流水号 | String(32) | 原支付订单的请求流水号(pos_seq) 仅退款类型有值 | 可空 |
| source | 订单来源 | String(1) | 1:接口接入 2:收款码牌 | 必填 |
| pos_id | 终端号 | String(20) | source=1时,商户自定义终端号 source=2时,收款码编号 | 必填 |
| pay_type | 支付方式 | String(3) | 502:支付宝 503:微信支付 515:微信小程序 512:银联二维码 516:数字人民币 517:网银支付 518:快捷支付 521:聚分期 620:银行卡刷卡 | 必填 |
| trans_type | 交易类型 | String(1) | 1:支付 2:退款(仅支持部分通道) | 必填 |
| memo | 订单备注 | String(128) | 可空 | |
| status | 交易状态 | String(1) | 1:成功 0:失败 | 必填 |
| tx_amt | 交易金额 | Number(9) | 单位为分 | 必填 |
| partner_id | 商户收款帐号 | String(64) | 支付宝PID/微信商户号/间联通道商户号 | 可空 |
| end_time | 交易完成时间 | String(14) | 支付/退款完成时间,格式:YYYYMMDDHH24MISS | 可空 |
| sub_appid | 子商户应用ID | String(32) | 微信的APPID | 可空 |
| buyer_id | 买家标识 | String(128) | 支付宝:用户登录帐号(带星号脱敏) 微信/微信小程序:用户open_id 银联二维码:银行卡号(带星号脱敏) 网银支付:银行卡号(带星号脱敏) 快捷支付:银行卡号(带星号脱敏) 银行卡刷卡:银行卡号(带星号脱敏) 该字段是否有值取决于支付通道是否返回 | 可空 |
| mid | 银联商户号 | String(64) | 仅银行卡刷卡类型(pay_type=620),成功时有值 | 可空 |
| tid | 银联设备号 | String(8) | 仅银行卡刷卡类型(pay_type=620),成功时有值 | 可空 |
| batch_no | 银联批次号 | String(20) | 仅银行卡刷卡类型(pay_type=620),成功时有值 | 可空 |
| trace_no | 银联流水号 | String(20) | 仅银行卡刷卡类型(pay_type=620),成功时有值 | 可空 |
| ref_no | 银联交易参考号 | String(20) | 仅银行卡刷卡类型(pay_type=620),成功时有值 | 可空 |
| is_foreign_card | 外卡标识 | String(1) | 0:不是外卡 1:是外卡 仅银行卡刷卡类型(pay_type=620),成功时有值 | 可空 |
| card_type | 借贷记标识 | String(1) | D:借记卡 C:贷记卡 O:其他 仅银行卡刷卡类型(pay_type=620),成功时有值 | 可空 |
| trade_no | 支付平台订单号 | String(64) | 支付平台的订单号,仅成功时有值 | 可空 |
| buss_discount_amt | 商家优惠金额 | Number(9) | 单位为分,仅成功时有值 | 可空 |
| platform_discount_amt | 平台优惠金额 | Number(9) | 单位为分,仅成功时有值 | 可空 |
| charge_amount | 手续费 | Number(9) | 单位为分,仅成功时有值 | 可空 |
| user_yima_id | 用户号 | String(32) | 仅快捷支付(pay_type=518),成功时有值 | 可空 |
| atu_trade_no | ATU订单号 | String(64) | 支付宝/微信/银联订单号 客户手机支付凭证上的订单号 | 可空 |
| atu_out_trade_no | ATU商户订单号 | String(64) | 支付宝/微信/银联商户订单号 客户手机支付凭证上的商户订单号 | 可空 |
| bank_code | 发卡行编码 | String(20) | 该字段是否有值取决于支付通道是否返回 | 可空 |
| fund_freeze_stat | 资金冻结状态 | String(2) | 01:冻结 02:解冻 空表示无此类业务 | 可空 |
| fee_allowance_info | 手续费补贴信息 | String | 退款类型时,为手续费补贴返还信息 JSONString格式,仅支持汇付通道交易 详细参数见下表 | 可空 |
标准接口会因业务升级需要而新增节点,请在解析请求报文时避免新增未知节点产生的程序出错!
fee_allowance_info 手续费补贴信息 (JSONString) (交易类型:支付)
| JSON节点 | 类型 | 说明 | 是否必填 | 范例 |
|---|---|---|---|---|
| receivable_fee_amt | String | 商户应收手续费,单位:分 | 必填 | 2 |
| actual_fee_amt | String | 商户实收手续费,单位:分 | 必填 | 1 |
| allowance_fee_amt | String | 补贴手续费,单位:分 | 必填 | 1 |
| allowance_type | String | 补贴类型 0:不补贴,为空默认 1:补贴 2:部分补贴 3:全额补贴(优惠后) 4:部分补贴(优惠后) | 必填 | 2 |
| no_allowance_desc | String | 不补贴原因 1:汇收款产品(HSK)银联二维码交易金额大于1000元不补贴 2:额度用完 3:不在有效期 4:活动不存在 5:手续费金额为0不补贴 6:顶格优惠 7:额度不足 8:手续费后补 9:未达到起始补贴金额 | 可空 | 2 |
| cur_allowance_config_infos | JSONObject | 手续费补贴活动详情,详细参数见下表 | 可空 |
cur_allowance_config_infos 手续费补贴活动详情 (JSONObject) (交易类型:支付)
| JSON节点 | 类型 | 说明 | 是否必填 | 范例 |
|---|---|---|---|---|
| merchant_group | String | 商户号,通道侧商户号 | 可空 | 6666000123120000 |
| acct_id | String | 门店 | 可空 | sh002 |
| activity_id | String | 活动号 | 必填 | 223402342 |
| activity_name | String | 活动描述 | 可空 | 开业大促 |
| status | String | 活动是否有效 1:生效 0:失效 | 必填 | 1 |
| total_limit_amt | String | 活动总补贴额度,单位:分 | 必填 | 1000 |
| start_time | String | 活动开始时间,yyyyMMdd | 必填 | 20220909 |
| end_time | String | 活动结束时间,yyyyMMdd | 必填 | 20220911 |
| human_flag | String | 是否人工操作 N:自动 Y:人工 | 必填 | 1 |
| allowance_sys | String | 补贴方 1:银行 2:服务商 3:汇来米 | 必填 | 1 |
| allowance_sys_id | String | 补贴方ID,通道侧商户号 | 必填 | 6666000123120000 |
| is_delay_allowance | String | 补贴类型 1:实补 2:后补 默认实补 | 必填 | 1 |
| is_share | String | 是不是共享额度 | 可空 | |
| market_id | String | 自定义活动编号 | 必填 | ISFE00232 |
| market_name | String | 自定义活动名称 | 可空 | 开业大促 |
| market_desc | String | 自定义活动描述 | 可空 | 新店开业大促 |
| pos_credit_limit_amt | String | pos贷记卡补贴额度,单位:分 | 必填 | 500 |
| pos_debit_limit_amt | String | pos借记卡补贴额度,单位:分 | 必填 | 200 |
| pos_limit_amt | String | pos补贴额度,单位:分 | 必填 | 400 |
| qr_limit_amt | String | 扫码补贴额度,单位:分 | 必填 | 100 |
| create_by | String | 创建人 | 必填 | Lg2022022201394910571 |
| create_time | String | 创建时间 | 必填 | 2022-04-14 22:00:30 |
| update_time | String | 更新时间 | 必填 | 2022-04-14 23:00:30 |
fee_allowance_info 手续费补贴返还信息 (JSONString) (交易类型:退款)
| JSON节点 | 类型 | 说明 | 是否必填 | 范例 |
|---|---|---|---|---|
| receivable_ref_fee_amt | String | 退款返还总手续费,单位:分 | 必填 | 2 |
| actual_ref_fee_amt | String | 退款返还商户手续费,单位:分 | 必填 | 1 |
| allowance_ref_fee_amt | String | 退款返还补贴手续费,单位:分 | 必填 | 1 |
返回报文
success
返回报文说明
固定字符串“success”表示接收处理成功,其他表示失败。


