alipay.user.agreement.unsign (支付宝个人代扣协议解约接口)

支付宝个人代扣协议解约接口

公共参数

请求地址:
环境 HTTPS请求地址
正式环境 https://openapi.alipay.com/gateway.do
公共请求参数:
参数 类型 是否必填 最大长度 描述 示例值
app_id String 32 支付宝分配给开发者的应用ID 2014072300007148
method String 128 接口名称 alipay.user.agreement.unsign
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
notify_url String 256 支付宝服务器主动通知商户服务器里指定的页面http/https路径。 http://api.test.alipay.net/atinterface/receive_notify.htm
app_auth_token String 40 详见应用授权概述
biz_content String - 请求参数的集合,最大长度不限,除公共参数外所有请求参数都必须放在这个参数中传递,具体参照各产品快速接入文档

请求参数

参数 类型 是否必填 最大长度 描述 示例值
alipay_user_id String 可选 32 用户的支付宝账号对应的支付宝唯一用户号,以2088 开头的 16 位纯数字 组成;
本参数与alipay_logon_id 不可同时为空,若都填写,则以本参数为准,优先级高于alipay_logon_id。
alipay_user_id
alipay_logon_id String 可选 100 用户的支付宝登录账号,支持邮箱或手机号码格式。本参数与alipay_user_id 不可同时为空,若都填写,则以alipay_user_id 为准。 abx@alitest.com
personal_product_code String 可选 64 协议产品码,商户和支付宝签约时确定,不同业务场景对应不同的签约产品码。 GENERAL_WITHHOLDING_P
sign_scene String 可选 64 签约协议场景,商户和支付宝签约时确定。
当传入商户签约号 external_agreement_no时,场景不能为空或默认值 DEFAULT|DEFAULT。
该值需要与系统/页面签约接口调用时传入的值保持一 致。
INDUSTRY|MEDICA
external_agreement_no String 可选 32 代扣协议中标示用户的唯一签约号(确保在商户系统中唯一)。 test
third_party_type String 可选 32 签约第三方主体类型。对于三方协议,表示当前用户和哪一类的第三方主体进行签约。
取值范围:
1. PARTNER(平台商户);
2. MERCHANT(集团商户),集团下子商户可共享用户签约内容;
默认为PARTNER。
PARTNER
agreement_no String 可选 64 支付宝系统中用以唯一标识用户签约记录的编号(用户签约成功后的协议号 ),如果传了该参数,其他参数会被忽略 20170322450983769228
extend_params String 可选 512 扩展参数 {"UNSIGN_ERROR_CODE": "USER_OWE_MONEY","UNSIGN_ERROR_INFO":"10.00"}
operate_type String 可选 10 操作类型:
confirm(解约确认),invalid(解约作废)
confirm

公共响应参数

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

响应参数

参数 类型 是否必填 最大长度 描述 示例值

请求示例

  • 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");
AlipayUserAgreementUnsignRequest request = new AlipayUserAgreementUnsignRequest();
request.setBizContent("{" +
"\"alipay_user_id\":\"alipay_user_id\"," +
"\"alipay_logon_id\":\"abx@alitest.com\"," +
"\"personal_product_code\":\"GENERAL_WITHHOLDING_P\"," +
"\"sign_scene\":\"INDUSTRY|MEDICA\"," +
"\"external_agreement_no\":\"test\"," +
"\"third_party_type\":\"PARTNER\"," +
"\"agreement_no\":\"20170322450983769228\"," +
"\"extend_params\":\"{\\\"UNSIGN_ERROR_CODE\\\": \\\"USER_OWE_MONEY\\\",\\\"UNSIGN_ERROR_INFO\\\":\\\"10.00\\\"}\"," +
"\"operate_type\":\"confirm\"" +
"  }");
AlipayUserAgreementUnsignResponse response = alipayClient.execute(request);
if(response.isSuccess()){
System.out.println("调用成功");
} else {
System.out.println("调用失败");
}

响应示例

  • JSON示例
{
	"sign":"ERITJKEIJKJHKKKKKKKHJEREEEEEEEEEEE",
	"alipay_user_agreement_unsign_response":{
		"msg":"Success",
		"code":"10000"
	}
}

异常示例

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

业务错误码

错误码 错误描述 解决方案
USER_NOT_EXIST_ERROR 用户信息不存在 检查用户信息正确性
AGREEMENT_NOT_EXIST 协议不存在 确认用户是否与商户、支付宝签约三方协议
PRODUCT_CODE_NOT_SUPPORTED_ERROR 无效的个人产品码 商户确认个人产品码填写是否正确
USER_AGREEMENT_STATUS_NOT_NORMAL 用户协议状态不正常 检查用户协议状态有效性
INVALID_PARAMETER 参数有误 参数错误,请确认传参是否正确
SYSTEM_ERROR 系统繁忙 系统繁忙,需排查具体原因
AUTHOREE_IS_NOT_MATCH 被授权方不匹配 确认商户app_id对应的被授权方与用户协议中的被授权方是否一致
MERCHANT_AGREEMENT_IS_NOT_EXIST 商户协议不存在 请确认商户是否有签约合同
USER_NOT_EXSIT_ERROR 用户信息不存在 检查用户信息是否正确
AGREEMENT_NOT_EXSIT 协议不存在 确认用户是否与商户、支付宝签约三方协议

公共错误码

触发通知字段

参数 类型 是否必填 最大长度 描述 示例值
app_id String 必填 64 支付宝分配给开发者的应用Id 2017060101317939
auth_app_id String 必填 64 支付宝分配给商户的应用Id 2017060101317935
alipay_logon_id String 必填 100 返回脱敏的支付宝账号 test***ali@alipay.net
agreement_no String 必填 64 支付宝系统中用以唯一标识用户签约记录的编号。 20170502000610755993
alipay_user_id String 必填 32 用户签约的支付宝账号对应的支付宝唯一用户号。
以2088开头的16位纯数字组成。
2088101143488930
notify_type String 必填 100 用户解约成功通知类型 dut_user_unsign
external_agreement_no String 选填 32 代扣协议中标示用户的唯一签约号(确保在商户系统中唯一)。 test
external_logon_id String 选填 100 用户在商户网站的登录账号,如果商户接口中未传,则不会返回 13852852877
personal_product_code String 必填 64 协议产品码,商户和支付宝签约时确定,不同业务场景对应不同的签约产品码。 GENERAL_WITHHOLDING_P
sign_scene String 必填 64 当前签约的协议场景。 INDUSTRY|CARRENTAL
status String 必填 10 协议解约状态:UNSIGN UNSIGN
unsign_time String 必填 32 支付宝代扣协议的实际解约时间,格式为yyyy-MM-dd HH:mm:ss。 2017-05-20 11:49:19

触发通知示例

https://www.merchant.com/receive_notify.htm?notify_type=trade_status_sync&notify_id=91722adff935e8cfa58b3aabf4dead6ibe&notify_time=2017-02-16 21:46:15&sign_type=RSA2&sign=WcO+t3D8Kg71dTlKwN7r9PzUOXeaBJwp8/FOuSxcuSkXsoVYxBpsAidprySCjHCjmaglNcjoKJQLJ28/Asl93joTW39FX6i07lXhnbPknezAlwmvPdnQuI01HZsZF9V1i6ggZjBiAd5lG8bZtTxZOJ87ub2i9GuJ3Nr/NUc9VeY=&app_id=2017060101317939&auth_app_id=2017060101317935&alipay_logon_id=test***ali@alipay.net&agreement_no=20170502000610755993&alipay_user_id=2088101143488930&notify_type=dut_user_unsign&external_agreement_no=test&external_logon_id=13852852877&personal_product_code=GENERAL_WITHHOLDING_P&sign_scene=INDUSTRY|CARRENTAL&status=UNSIGN&unsign_time=2017-05-20 11:49:19

异步通知验签方式

返回
顶部