文档中心 > API类目 > 生活缴费API

alipay.ebpp.pdeduct.pay (公共事业缴费直连代扣扣款支付接口)

直连代扣机构根据用户个人签约协议,按期按账单请求从用户账户扣款的接口。

公共参数

请求地址:
环境 HTTPS请求地址
正式环境 https://openapi.alipay.com/gateway.do
公共请求参数:
参数 类型 是否必填 最大长度 描述 示例值
app_id String 32 支付宝分配给开发者的应用ID 2014072300007148
method String 128 接口名称 alipay.ebpp.pdeduct.pay
format String 40 仅支持JSON JSON
charset String 10 请求使用的编码格式,如utf-8,gbk,gb2312等 utf-8
sign_type String 10 商户生成签名字符串所使用的签名算法类型,目前支持RSA2和RSA,推荐使用RSA2 RSA2
sign String 256 商户请求参数的签名串,详见签名 详见示例
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 详见应用授权概述

请求参数

参数 类型 是否必填 最大长度 描述 示例值
agreement_id String 必须 32 支付宝代扣协议Id 1234557890
user_id String 必须 16 用户ID 2088123411243554
bill_key String 必须 30 户号,缴费单位用于标识每一户的唯一性的 262327843
pid String 必须 16 商户PartnerId 2088611103588892
out_order_no String 必须 30 商户外部业务流水号 18882329324
pay_amount Price 必须 30 扣款金额,支付总金额,包含滞纳金 23.00
fine_amount Price 必须 30 滞纳金 2.00
bill_date String 可选 20 账期 201410
agent_channel String 必须 30 渠道码,如用户通过机构通过服务窗进来签约则是PUBLICFORM,此值可随意传,只要不空就行 PUBLICFORM
agent_code String 必须 20 二级渠道码,预留字段 SECOND
memo String 可选 150 备注信息 memo
extend_field String 可选 3000 扩展参数。必须以key value形式定义,
转为json为格式:{"key1":"value1","key2":"value2",
"key3":"value3","key4":"value4"}
后端会直接转换为MAP对象,转换异常会报参数格式错误
{"key1":"value1","key2":"value2", "key3":"value3","key4":"value4"}

公共响应参数

参数 类型 是否必填 最大长度 描述 示例值
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=

响应参数

参数 类型 是否必填 最大长度 描述 示例值
agreement_id String 必填 32 支付宝代扣协议ID 1231232132
out_order_no String 必填 30 商户代扣业务流水 213134234
bill_no String 必填 32 支付宝订单流水号 201323423234
result_status String 必填 2 订单支付状态。
0:未知
1:成功
2:失败
1
extend_field String 必填 3000 扩展参数 {"school_no":"SHNU", "student_id":"20130516"}

请求示例

  • JAVA
  • .NET
  • PHP
  • HTTP请求源码
AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do","app_id","your private_key","json","GBK","alipay_public_key","RSA2");
AlipayEbppPdeductPayRequest request = new AlipayEbppPdeductPayRequest();
request.setAgreementId("1234557890");
request.setUserId("2088123411243554");
request.setBillKey("262327843");
request.setPid("2088611103588892");
request.setOutOrderNo("18882329324");
request.setPayAmount(23.00);
request.setFineAmount(2.00);
request.setBillDate("201410");
request.setAgentChannel("PUBLICFORM");
request.setAgentCode("SECOND");
request.setMemo("memo");
request.setExtendField("{"key1":"value1","key2":"value2",
"key3":"value3","key4":"value4"}");
AlipayEbppPdeductPayResponse response = alipayClient.execute(request);
if(response.isSuccess()){
System.out.println("调用成功");
} else {
System.out.println("调用失败");
}

响应示例

  • JSON示例
{
	"alipay_ebpp_pdeduct_pay_response":{
		"agreement_id":"1231232132",
		"result_status":"1",
		"out_order_no":"213134234",
		"extend_field":"{\"school_no\":\"SHNU\",\r\n\"student_id\":\"20130516\"}",
		"bill_no":"201323423234"
	}
}

异常示例

  • JSON示例
{
	"alipay_ebpp_pdeduct_pay_response":{
		"msg":"Service Currently Unavailable",
		"code":"20000",
		"sub_msg":"系统繁忙",
		"sub_code":"isp.unknow-error"
	},
	"sign":"ERITJKEIJKJHKKKKKKKHJEREEEEEEEEEEE"
}

业务错误码

错误码 错误描述 解决方案
AGREEMENT_ID_IS_NULL 协议ID为空 传协议ID
AGENT_CHANNEL_IS_NULL 用户操作渠道为空 必传AGENT_CHANNEL,传的值为PUBLICFORM(服务窗)
BILL_KEY_IS_NULL 户号为空 户号必传
INST_ORDER_NO_IS_NULL 机构的订单流水号 机构订单流水号,对接的isv必须要传,用于控制幂等
DEDUCT_SIGN_INFO_NOT_EXIST 协议不存在,已被删除 机构需要检查自身协议是否和支付宝的协议存在单边账的问题
QUERY_DEDUCT_SIGN_INFO_ERROR 查询代扣协议错误 查询协议的时候出现超时或网络异常时,建议再次重试
INVOKE_PAYACCEPTANCE_EXCEPTION 调用支付时支付异常 一般是支付过程中出现了异常,主要是用户金额不足

公共错误码

返回
顶部