用户扫码机构后ISV调用支付宝进行扣款,当状态不明确时可调用该接口查询扣款的单据状态
环境 | HTTPS请求地址 |
---|---|
正式环境 | https://openapi.alipay.com/gateway.do |
参数 | 类型 | 是否必填 | 最大长度 | 描述 | 示例值 |
---|---|---|---|---|---|
app_id | String | 是 | 32 | 支付宝分配给开发者的应用ID | 2014072300007148 |
method | String | 是 | 128 | 接口名称 | alipay.ebpp.facepay.bill.query |
format | String | 否 | 40 | 仅支持JSON | JSON |
charset | String | 是 | 10 | 请求使用的编码格式,如utf-8,gbk,gb2312等 | utf-8 |
sign_type | String | 是 | 10 | 商户生成签名字符串所使用的签名算法类型,目前支持RSA2和RSA,推荐使用RSA2 | RSA2 |
sign | String | 是 | 344 | 商户请求参数的签名串,详见签名 | 详见示例 |
timestamp | String | 是 | 19 | 发送请求的时间,格式"yyyy-MM-dd HH:mm:ss" | 2014-07-24 03:07:50 |
version | String | 是 | 3 | 调用的接口版本,固定为:1.0 | 1.0 |
app_auth_token | String | 否 | 40 | 详见应用授权概述 | |
biz_content | String | 是 | - | 请求参数的集合,最大长度不限,除公共参数外所有请求参数都必须放在这个参数中传递,具体参照各产品快速接入文档 |
参数 | 类型 | 是否必填 | 最大长度 | 描述 | 示例值 |
---|---|---|---|---|---|
user_identity_code | String | 特殊可选 | 32 | 用户支付宝付款码 (需使用下单时用的码值,10分钟内有效)(和user_id、bill_no三者至少传一个)
(缴税业务:out_order_no/user_id/bill_no都可以不传) |
286914861837191409 |
out_order_no | String | 必须 | 32 | ISV流水号,用于控制幂等,须确保全局唯一。
(缴税业务:可采用{征收机关代码}-{外部申报号}的形式) |
13201020000-320170608005900006 |
user_id | String | 特殊可选 | 16 | 支付宝用户ID(和user_identity_code、bill_no三者至少传一个)
(缴税业务:out_order_no/user_id/bill_no都可以不传) |
208813321341231 |
bill_no | String | 特殊可选 | 32 | 支付宝交易流水号(和user_id、user_identity_code三者至少传一个)
(缴税业务:out_order_no/user_id/bill_no都可以不传) |
2017050800003001810032566206 |
参数 | 类型 | 是否必填 | 最大长度 | 描述 | 示例值 |
---|---|---|---|---|---|
code | String | 是 | - | 网关返回码,详见文档 | 40004 |
msg | String | 是 | - | 网关返回码描述,详见文档 | Business Failed |
sub_code | String | 否 | - | 业务返回码,详见文档 | ACQ.TRADE_HAS_SUCCESS |
sub_msg | String | 否 | - | 业务返回码描述,详见文档 | 交易已被支付 |
sign | String | 是 | - | 签名,详见文档 | DZXh8eeTuAHoYE3w1J+POiPhfDxOYBfUNn1lkeT/V7P4zJdyojWEa6IZs6Hz0yDW5Cp/viufUb5I0/V5WENS3OYR8zRedqo6D+fUTdLHdc+EFyCkiQhBxIzgngPdPdfp1PIS7BdhhzrsZHbRqb7o4k3Dxc+AAnFauu4V6Zdwczo= |
参数 | 类型 | 是否必填 | 最大长度 | 描述 | 示例值 |
---|---|---|---|---|---|
bill_no | String | 必填 | 32 | 支付宝交易流水号 | 2017050800003001810032566206 |
status | String | 必填 | 10 |
SUCCESS - 付款成功(只有明确得到此状态,才能认为付款成功)
FAIL - 付款失败(明确得到此状态,机构可认为本次支付失败,再次扫码) WAIT_PAY - 等待用户输入密码支付(得到此状态,需轮询10次,每隔3s一次,若一直得不到明确结果需要调用撤销接口,认为支付失败) UNKNOWN - 状态未知(得到此状态,需轮询2次,每隔5s一次,若一直得不到明确结果需要调用撤销接口,认为支付失败) 注1:缴费业务如果需要支付宝销账,则不支持撤销。 注2:缴税业务比较特殊,不能调用撤销。如果查询得到WAIT_PAY,就需要一定间隔后(建议3s)再次查询,直到拿到SUCCESS/FAIL为止;如果查询得到UNKNOWN,也要轮询下去(建议5s为间隔),若轮询超限(建议3次以上)仍未拿到确定结果,可尝试重新发起扣款。 |
SUCCESS |
biz_status | String | 选填 | 10 |
仅缴税业务返回,业务状态
CLOSED: 已关闭 TO_PAY:待支付 PAID: 已支付 BIZ_SUC: 业务成功。对缴税来说,意味着银行已明确返回缴税成功。 BIZ_FAIL: 业务失败(用户支付的资金会原路退回)。对缴税来说,意味着缴税一定没有做成。 |
PAID |
user_id | String | 必填 | 16 | 支付宝用户ID | 2088133412123 |
out_order_no | String | 必填 | 32 | ISV流水号,用于控制幂等,须确保全局唯一(缴税业务:可采用{征收机关代码}-{外部申报号}的形式) | 13201020000-320170608005900006 |
charge_inst | String | 必填 | 50 | 出账机构代码(缴税业务:指征收机关英文代码,例如南京玄武国税(NJXWGS)) | NJXWGS |
inst_no | String | 选填 | 50 | 机构账单ID(缴税业务:用外部申报号) | 320170608005900006 |
trade_date | String | 必填 | 10 | 交易付款日期 | 20170310 |
extend_field | String | 选填 | 3000 | 扩展字段 | {"K1":"V1", "K2":"V2"} |
AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do","app_id","your private_key","json","GBK","alipay_public_key","RSA2"); AlipayEbppFacepayBillQueryRequest request = new AlipayEbppFacepayBillQueryRequest(); request.setBizContent("{" + "\"user_identity_code\":\"286914861837191409\"," + "\"out_order_no\":\"13201020000-320170608005900006\"," + "\"user_id\":\"208813321341231\"," + "\"bill_no\":\"2017050800003001810032566206\"" + " }"); AlipayEbppFacepayBillQueryResponse response = alipayClient.execute(request); if(response.isSuccess()){ System.out.println("调用成功"); } else { System.out.println("调用失败"); }
{ "sign":"ERITJKEIJKJHKKKKKKKHJEREEEEEEEEEEE", "alipay_ebpp_facepay_bill_query_response":{ "msg":"Success", "biz_status":"PAID", "code":"10000", "charge_inst":"NJXWGS", "inst_no":"320170608005900006", "user_id":"2088133412123", "out_order_no":"13201020000-320170608005900006", "extend_field":"{\"K1\":\"V1\", \"K2\":\"V2\"}", "bill_no":"2017050800003001810032566206", "trade_date":"20170310", "status":"SUCCESS" } }
{ "sign":"ERITJKEIJKJHKKKKKKKHJEREEEEEEEEEEE", "alipay_ebpp_facepay_bill_query_response":{ "msg":"Service Currently Unavailable", "code":"20000", "sub_msg":"系统繁忙", "sub_code":"isp.unknow-error" } }
错误码 | 错误描述 | 解决方案 |
---|---|---|
INVALID_PARAMETER | 参数有误入参不符合要求 | 请确保入参格式、内容符合接口文档描述中的要求 |
BIZ_ERROR | 业务异常未知异常 | 未明确的错误,请重试 |
INVALID_PARAMETER | 参数有误out_order_no不能为空 | 请确保入参格式、内容符合接口文档描述中的要求 |
CHARGEINST_NOT_AUTHORIZED | 出账机构未授权访问 | 出账机构未授权访问,请修改出账机构参数 |
BIZ_ERROR | 业务异常*** | 业务异常,请关注错误详细描述或者稍后重试 |
BILL_NOT_EXISTS | 订单不存在 | 请核实参数信息重新查询 |