集团淘宝会员中心,目前在做一个针对集团接入的所有针对C用户的代扣签约进行,签约协议的统一管理处理,方便用户可以在淘宝会员中心进行统一管理骑在集团各个业务方签约的代扣协议,并进行解约出来,现在由于各个业务方历史业务已久,老的签约协议很多,而且他们一起只做协议管理及解约能力,各个业务方的用户代扣签约还是在业务方端进行处理,会员中心无法拿到历史协议,需要支付宝代扣系统提供协议查询接口进行数据查询
环境 | HTTPS请求地址 |
---|---|
正式环境 | https://openapi.alipay.com/gateway.do |
参数 | 类型 | 是否必填 | 最大长度 | 描述 | 示例值 |
---|---|---|---|---|---|
app_id | String | 是 | 32 | 支付宝分配给开发者的应用ID | 2014072300007148 |
method | String | 是 | 128 | 接口名称 | alipay.user.agreement.batch.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 | 是 | - | 请求参数的集合,最大长度不限,除公共参数外所有请求参数都必须放在这个参数中传递,具体参照各产品快速接入文档 |
参数 | 类型 | 是否必填 | 最大长度 | 描述 | 示例值 |
---|---|---|---|---|---|
personal_product_code | String | 必须 | 64 | 协议产品码,商户和支付宝签约时确定,商户可咨询技术支持。 | GENERAL_WITHHOLDING_P |
alipay_user_id | String | 可选 | 32 | 用户的支付宝账号对应 的支付宝唯一用户号,以 2088 开头的 16 位纯数字 组成;
本参数与 alipay_logon_id 不 可同时为空,若都填写,则 以本参数为准,优先级高于 alipay_logon_id。 |
2088101122675263 |
alipay_logon_id | String | 可选 | 100 | 用户的支付宝登录账号,支持邮箱或手机号码格式。本参数与alipay_user_id 不可同时为空,若都填写,则以alipay_user_id 为准。 | abx@alitest.com |
sign_scene | String | 可选 | 64 | 签约协议场景,商户和支付宝签约时确定,商户可咨询技术支持。
该值需要与系统/页面签约接口调用时传入的值保持一致。不传默认查询所有场景 |
INDUSTRY|MEDICAL |
third_party_type | String | 可选 | 32 | 签约第三方主体类型。对于三方协议,表示当前用户和哪一类的第三方主体进行签约。
取值范围: 取值范围: 1. PARTNER(平台商户); 2. MERCHANT(集团商户),集团下子商户可共享用户签约内容; 默认为PARTNER。 |
PARTNER |
product_code | String | 可选 | 64 | 销售产品码,商户签约的支付宝合同所对应的产品码。 | GENERAL_WITHHOLDING |
参数 | 类型 | 是否必填 | 最大长度 | 描述 | 示例值 |
---|---|---|---|---|---|
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= |
参数 | 类型 | 是否必填 | 最大长度 | 描述 | 示例值 |
---|---|---|---|---|---|
usage_agreement_info_list | OpenApiSignQueryResponse [] | 必填 | - | 用户签约协议列表 | |
|
AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do","app_id","your private_key","json","GBK","alipay_public_key","RSA2"); AlipayUserAgreementBatchQueryRequest request = new AlipayUserAgreementBatchQueryRequest(); request.setBizContent("{" + "\"personal_product_code\":\"GENERAL_WITHHOLDING_P\"," + "\"alipay_user_id\":\"2088101122675263\"," + "\"alipay_logon_id\":\"abx@alitest.com\"," + "\"sign_scene\":\"INDUSTRY|MEDICAL\"," + "\"third_party_type\":\"PARTNER\"," + "\"product_code\":\"GENERAL_WITHHOLDING\"" + " }"); AlipayUserAgreementBatchQueryResponse response = alipayClient.execute(request); if(response.isSuccess()){ System.out.println("调用成功"); } else { System.out.println("调用失败"); }
{ "alipay_user_agreement_batch_query_response":{ "msg":"Success", "code":"10000", "usage_agreement_info_list":[ { "agreement_no":"20170322450983769228", "third_party_type":"PARTNER", "invalid_time":"2117-05-24 00:00:00", "personal_product_code":"GENERAL_WITHHOLDING_P", "valid_time":"2017-05-24 15:00:40", "pricipal_type":"CARD", "principal_id":"2088101122675263", "sign_time":"2017-05-24 15:00:40", "sign_scene":"INDUSTRY|CARRENTAL", "status":"NORMAL" } ] }, "sign":"ERITJKEIJKJHKKKKKKKHJEREEEEEEEEEEE" }
{ "alipay_user_agreement_batch_query_response":{ "msg":"Service Currently Unavailable", "code":"20000", "sub_msg":"系统繁忙", "sub_code":"isp.unknow-error" }, "sign":"ERITJKEIJKJHKKKKKKKHJEREEEEEEEEEEE" }
错误码 | 错误描述 | 解决方案 |
---|---|---|
USER_NOT_EXIST_ERROR | 用户信息不存在 | 检查用户信息是否正确 |
SYSTEM_ERROR | 系统繁忙 | 系统繁忙,需排查具体原因 |
MERCHANT_AGREEMENT_IS_NOT_EXIST | 商户协议不存在 | 商户协议不存在,请确认商户协议是否正确 |
PRODUCT_CODE_NOT_SUPPORTED_ERROR | 无效的产品码 | 无效的产品码,请检查产品码是否正确 |
INVALID_PARAMETER | 参数有误 | 参数错误,请确认传参是否正确 |