文档中心 > 开放平台

中小学教育缴费快速接入

更新时间:2017/08/23 访问次数:14856

该文档主要面向需要入驻蚂蚁开放平台的产品、架构、开发等相关人员, 需要有基本的程序开发背景。通过该文档能够快速集成(中小学教育缴费)功能,接入前需要入驻开放平台并创建了应用,应用已申请该接口权限并配置RSA密钥。

第一步:创建应用

要在您的应用中使用支付宝开放产品的接口能力,您需要先去蚂蚁金服开放平台(open.alipay.com),在管理中心中创建登记您的应用,并提交审核,审核通过后会为您生成应用唯一标识(APPID),并且可以申请开通开放产品使用权限,通过APPID您的应用才能调用开放产品的接口能力。需要详细了解开放平台创建应用步骤请参考《开放平台应用创建指南》。

第二步:配置密钥

开发者调用接口前需要先生成RSA密钥,RSA密钥包含应用私钥(APP_PRIVATE_KEY)、应用公钥(APP_PUBLIC_KEY)。生成密钥后在开放平台管理中心进行密钥配置,配置完成后可以获取支付宝公钥(ALIPAY_PUBLIC_KEY)。详情请参考《配置应用环境》。

第三步:搭建和配置开发环境

1. 下载服务端SDK

为了帮助开发者调用开放接口,我们提供了开放平台服务端SDK,包含JAVA、PHP和.NET三个语言版本,封装了签名&验签、HTTP接口请求等基础功能。请先下载对应语言版本的SDK并引入您的开发工程。

各语言版本服务端SDK详细使用说明,请参考《服务端SDK说明》。

2. 接口调用配置

在SDK调用前需要进行初始化,以Java代码为示例如下:

AlipayClient alipayClient = new DefaultAlipayClient(URL, APP_ID, ALIPAY_PRIVATE_KEY, FORMAT, CHARSET, ALIPAY_PUBLIC_KEY, SIGN_TYPE);

关键参数说明:

配置参数 示例值解释 获取方式/示例值
URL 支付宝网关(固定) https://openapi.alipay.com/gateway.do
APPID APPID 即创建应用后生成 获取见上面创建应用
FORMAT 参数返回格式,只支持json json(固定)
APP_PRIVATE_KEY 开发者私钥,由开发者自己生成 获取详见上面配置密钥
CHARSET 编码集,支持GBK/UTF-8 开发者根据实际工程编码配置
ALIPAY_PUBLIC_KEY 支付宝公钥,由支付宝生成 获取详见上面配置密钥
SIGN_TYPE 商户生成签名字符串所使用的签名算法类型,目前支持RSA2和RSA,推荐使用RSA2 RSA2

第四步:接口调用

1、ISV账单信息导入

【场景】

ISV系统新增学校和账单信息,则ISV将新增的学校或账单同步至中小学缴费平台;用户可以从中小学缴费平台同步需缴费账单信息;

【调用流程】

【接口代码调用参考1】

a)接口名:eco.edu.kt.schoolinfo.modify

b)关键入参:

参数 类型 是否必填 描述 示例值
school_name String(256) 学校名称 杭州市西湖第一实验学校 
school_icon String(256) 学校的图像,一般为学校的标识,该字段为图片的链接地址,只支持png或jpg图片格式,图片高度为300p,宽度为300p ,不大于20k http://ecopublic-dev.oss-cn-hangzhou.aliyuncs.com/eco/edu_alipay/school/school.png
school_icon_type String(10) 如果学校图像数据填写,则此字段不能为空。目前只支持png和jpg两种格式 png
school_stdcode String(16) 否  学校的国家标准编码,可在教育局网站查询,一般为10-16位数字,可以上教育局网站查询 3133005132
school_type String(18) 学校的类型:托幼小初高。1、托, 2、幼,  3、小,  4、初,  5、高。如果学校兼有多种属性,可以写为:初高中为45 , 小初为34 4
province_code String(8) 是  省的国家编码,提供一份省市区编码表,点击链接下载 330000
province_name String(32) 省名称 浙江省
city_code String(16) 市的国家编码 330100
city_name String(64) 市名称 杭州市
district_code String(16) 区或县的国家编码 330106
district_name String(64) 区或县名称 西湖区
Isv_name String(256) 商家名称 杭州少年宫
isv_notify_url String(256) 此链接是为了保持教育缴费平台与ISV
商户支付状态一致性。用户支付成功后,会异步回调此链接,回调时,会带入支付的相关参数,ISV商户可以根据返回的参数更新账单状态。支付宝异步通知说明
https://isv.com/xxx
isv_pid String(128) ISV支付宝pid,商家在支付宝的唯一标识 2088121212121212
isv_phone String(20) ISV联系电话,用于家长查看账单详情页面显示 13300000000
school_pid String(128) 学校支付宝pid 2088001293912323442

c)关键出参

参数 类型 是否必填 描述 示例值
status String(16) 是  如果成功,返回Y
school_no String(16)  是  学校编码 1101010000000

d)调用实例

1)请求示例

JAVA

AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do","app_id","your private_key","json","UFT-8","alipay_public_key");
AlipayUserUserinfoShareRequest request = new AlipayUserUserinfoShareRequest();
AlipayUserUserinfoShareResponse response = alipayClient.execute(request);

.NET

IAopClient client = new DefaultAopClient("https://openapi.alipay.com/gateway.do", "app_id", "merchant_private_key","json","RSA","alipay_public_key","UTF-8");
AlipayUserUserinfoShareRequest  request= new AlipayUserUserinfoShareRequest() ;
AlipayUserUserinfoShareResponse response=client.execute(request);

PHP

$aop = new AopClient ();
$aop->gatewayUrl = 'https://openapi.alipay.com/gateway.do';
$aop->appId = 'your app_id';
$aop->rsaPrivateKeyFilePath = 'merchant_private_key_file';
$aop->alipayPublicKey='alipay_public_key_file';
$aop->apiVersion = '1.0';
$aop->postCharset='UTF-8';
$aop->format='json';
$request = new AlipayUserUserinfoShareRequest ();
$result = $aop->execute ( $request);

HTTP请求源码

https://openapi.alipay.com/gateway.do?timestamp=2016-01-01 08:08:08&method= alipay.eco.edu.k12.billing.info.update&app_id=1360&sign_type=RSA&sign=ERITJKEIJKJHKKKKKKKHJEREEEEEEEEEEE&version=1.0

2)响应示例

{
    "alipay_openplatform_edu_schoolinfo_modify_response":{
        "status":"1",
          "school_no":"11010100000002"
     }
}

3)异常示例

{
    "alipay_openplatform_edu_schoolinfo_modify_response":{
        "code":"20000",
        "msg":"Service Currently Unavailable",
        "sub_code":"isp.unknow-error",
        "sub_msg":"系统繁忙"
    }
}

4)错误码解释

错误码 错误描述 解决方案
isv.invalid-school_name 参数有误,请输入正确学校名称参数 输入正确的学校名称
isv.invalid-school_name_not_exist 参数有误,请输入正确的学校pid 检查学校pid是否签约
isv.invalid-school_pid_repeat 参数有误,学校pid和isv的pid重复 学校pid和isv的pid已经输入过了,不能重复输入
isv.invalid-school-stdcode 参数有误,请输入正确的学校编码参数 输入正确的学校编码
isv.invalid-school-type 参数有误,请输入正确学校类型参数 输入正确的学校类型
isv.invalid-province 参数有误,请输入正确的省编码和省名称参数 输入正确的省编码或省名称
isv.invalid-city 参数有误,请输入正确的市编码和市名称参数 输入正确的市编码或市名称
isv.invalid-district 参数有误,请输入正确的区编码和区名称参数 输入正确的区县编码或区名称
isv.invalid-isvpid 参数有误,请输入正确的ISVpid参数 输入正确的商家pid
isv.invalid-isvphone 参数有误,请输入正确的ISV电话参数 输入正确的商家电话
isv.invalid-argument 参数有误,请输入正确参数 输入参数是空的
aop.unknow-error 系统异常, 请联系支付宝小二 重试或联系小二
isp.unknow-error 系统繁忙, 请联系支付宝小二 重试或请联系小二

【接口代码调用参考2】

a)接口名:alipay.eco.edu.kt.billing.send

b)关键入参

参数 类型 必填 描述 示例值
users UserDetails[] 特殊可选 孩子的家长信息,最多一次输入20个家长,此字段做为识别家长的孩子用,与student_identify、student_code至少选一个  
└user_mobile String(16) 孩子家长的手机号 1300000000
└user_name String(16) 家长姓名,如果填写则新增或更新 张四
└user_relation String(1) 孩子与家长的关系: 1、爸爸  2、妈妈  3、爷爷  4、奶奶  5、外公  6、外婆  7、家长;如果填写则新增或更新,默认为家长 1
└user_change_mobile String(16) 用户变更手机号,替换旧的手机号 1310000000
school_pid String(128) 学校支付宝pid 20880012939123234423
school_no String(14) 学校编码,录入学校接口返回的参数 11010100000002
child_name String(16) 孩子名字 张晓晓
grade String(32) 孩子所在年级,如果有则填写 高一
class_in String(32) 孩子所在班级 3班
student_code String(32) 特殊可选 学生的学号,一般以教育局学号为准,作为学生的唯一标识。此字段与student_identify、家长user_mobile至少选一个 2098453900091
student_identify String(18) 特殊可选 学生的身份证号,如果ISV有学生身份证号,则同步身份证号作为学生唯一标识。此字段与student_code、家长user_mobile至少选一个 982343191010100909
status String(1) 用于删除孩子,状态为“D”,表示删除孩子,状态“U”表示孩子信息添加或更新。为空则不更新孩子信息 U
out_trade_no String(128) ISV端的缴费账单编号 20160232343253253453
charge_bill_title String(512) 缴费账单名称 学生开学收费项
charge_item ChargeItems[] 缴费详情:输入json格式字符串。Json定义:key填写缴费项名称,value填写缴费项金额,金额保留2位小数。至少输入一个  
└item_name String(32) 缴费项名称 “校服费”
└item_price Price(11) 缴费的金额,保留2位小数 500.00
amount Price(16) 总金额,保留两位小数。总金额= pay_item各子项的金额总和 500.00
gmt_end String(19) 学校发布缴费信息,家长可支付的截止时间,格式"yyyy-MM-dd HH:mm:ss" 2016-01-01 13:13:13
end_enable String(1) 截止日期是否生效,与gmt_end_time发布配合使用,N为gmt_end_time不生效,用户过期后仍可以缴费;Y为gmt_end_time生效,用户过期后,不能再缴费。 Y
partner_id String(128) Isv支付宝pid 208800129391238873

c)关键出参

参数 类型 是否必填 描述 示例值
order_no String(128) 支付宝-中小学-教育缴费的账单号,支付宝在支付异步回调的参数out_trade_no,参考 57de63cb1ef157595c005467

d)调用实例

1) 请求示例

JAVA

AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do","app_id","your private_key","json","GBK","alipay_public_key");
AlipayUserUserinfoShareRequest request = new AlipayUserUserinfoShareRequest();
AlipayUserUserinfoShareResponse response = alipayClient.execute(request);

.NET

IAopClient client = new DefaultAopClient("https://openapi.alipay.com/gateway.do", "app_id", "merchant_private_key","json","RSA","alipay_public_key","GBK");
AlipayUserUserinfoShareRequest  request= new AlipayUserUserinfoShareRequest() ;
AlipayUserUserinfoShareResponse response=client.execute(request);

PHP

$aop = new AopClient ();
$aop->gatewayUrl = 'https://openapi.alipay.com/gateway.do';
$aop->appId = 'your app_id';
$aop->rsaPrivateKeyFilePath = 'merchant_private_key_file';
$aop->alipayPublicKey='alipay_public_key_file';
$aop->apiVersion = '1.0';
$aop->postCharset='GBK';
$aop->format='json';
$request = new AlipayUserUserinfoShareRequest ();
$result = $aop->execute ( $request);

HTTP请求源码

https://openapi.alipay.com/gateway.do?timestamp=2013-01-01 08:08:08&method= alipay.eco.edu.k12.billing.order.send&app_id=1360&sign_type=RSA&sign=ERITJKEIJKJHKKKKKKKHJEREEEEEEEEEEE&version=1.0

2)响应示例

{
    "alipay_openplatform_edu_billing_send_response":{
        "order_no":"20160101909909354354354"
     }
}

3)异常示例

{
    "alipay_openplatform_edu_billing_send_response":{
        "code":"20000",
        "msg":"Service Currently Unavailable",
        "sub_code":"isp.unknow-error",
        "sub_msg":"系统繁忙"
    }
}

4)错误码解释

错误码 错误描述  解决方案 
isv.invalid-argument-school_no 参数有误,找不到对应的学校,请输入正确的school_no,school_pid , partner_pid 输入正确的对应的参数
isv.invalid-argument-users 参数有误,家长信息输入不正确  输入用户信息时空的
isv.invalid-school-user_mobile 参数有误,请输入正确的手机号验证参数 输入正确的用户手机号
isv.invalid-argument-user_mobile_usage 参数有误,家长手机号已存在  输入的手机号已经存在了,请输入新的手机号
isv.invalid-argument-username 参数有误,请输入正确的家长姓名参数 输入正确的家长名字
isv.invalid-argument-user_relation 参数有误,请输入正确的家长与学生关系参数 输入正确的家长与学生关系,1-7的数字
isv.invalid-argument-user_change_mobile 参数有误,请输入正确的家长更换手机号码参数 输入正确家长要更换的手机
isv.invalid-school-student_code 参数有误,请输入正确的学号验证参数 输入正确的学号
isv.invalid-school-student_identify 参数有误,请输入正确的学生身份证验证参数 输入正确的身份证号,18位
isv.invalid-argument-user 参数有误,家长手机号、学生学号、学生身份证号必须输入一项 输入正确的家长信息
isv.invalid-argument-child_name 参数有误,请输入正确的学生姓名参数 输入正确的学生名字,不能超过最大长度
isv.invalid-argument-student_identify_error 参数有误,学生身份证号对应的学生姓名有误 ,请检查  身份证号码对应的学生名字错误
isv.invalid-argument-student_multi 参数有误,查询出多个学生,请输入正确的学生信息 输入的学生查询条件有误,查询出多个学生
isv.invalid-argument-grade 参数有误,请输入正确的年级参数 如果有年级就输入真确的年级
isv.invalid-argument-class 参数有误,请输入正确的班级参数 输入正确的班级
isv.invalid-argument-order_no 参数有误,请输入正确的缴费账单号参数 输入正确的账单号,ISV
系统的账单编码
isv.invalid-argument-order_title 参数有误,请输入正确的缴费账单标题参数 输入正确的账单标题
isv.invalid-argument-end_time 参数有误,请输入正确的缴费截止时间参数 输入正确的缴费截止时间,必须符合时间格式的字符串
isv.invalid-argument-end_enable 参数有误,请输入正确的缴费截止时间有效性参数 输入正确的参数
isv.invalid-argument-school_pid 参数有误,学校PID或isv的PID不存在,请先录入学校 输入录入学校时的学校pid和isvpid
isv.invalid-argument-pay_item 参数有误,请输入正确的缴费详情 输入正确的缴费详情
isv.invalid-argument-amount 参数有误,请输入正确的缴费账单总金额 输入正确的缴费金额
isv.invalid-argument-partner_no 参数有误,参数partner_no不正确 输入正确的isv的pid
isv.invalid-argument-amount_not_equal 参数有误,参数amount和缴费详情item_price总和不等 缴费详情的金额加起来不等于总金额
isv.invalid-argument-no_auth_code 参数有误,学校未授权 学校的pid要扫支付宝的授权二维码授权
isv.invalid-argument 参数有误,请输入正确参数 输入参数是空的
aop.unknow-error 系统异常, 请联系支付宝小二 重试或联系小二
isp.unknow-error 系统繁忙, 请联系支付宝小二 重试或请联系小二

2、ISV账单状态同步

【场景】

ISV系统中账单状态发生变更(通过其他渠道消账或ISV系统主动发生变更),则ISV系统将该信息同步至中小学缴费平台;

【调用流程】

【接口代码调用参考】

a)接口名:eco.edu.kt.billing.modify

b)关键入参

参数 类型 必填 描述 示例值
trade_no String(64) 支付宝返回的交易号 2014112611001004680073956707
out_trade_no String(64) ISV调用发送账单接口,返回给商户的order_no 57de63cb1ef157595c005467
status String(1) 状态:1:缴费成功;2:关闭账单;3、退费
如果为退款状态,需要填写以下字段,字段都是支付宝退款返回的必填参数;
1
fund_change String(9) 本次退款是否发生了资金变化 Y
refund_amount Price 需要退款的金额,该金额不能大于订单金额,单位为元,支持两位小数 200.12
refund_reason String(256) 退款原因,商家根据客户实际退款原因填写 正常退款
out_request_no String(64) 标识一次退款请求,同一笔交易多次退款需要保证唯一,如需部分退款,则此参数必传。 HZ01RF001
buyer_logon_id String(100) 退款时,支付宝返回的用户的登录id 159****5620
gmt_refund String(64) 支付宝返回的退款时间内,而不是商户退款申请的时间 2015-11-27 15:45:57
buyer_user_id String(28) 支付宝返回的买家支付宝用户id 2088101117955611
refund_detail_item_list String(2000) 支付宝返回的退款资金渠道,json格式字符串

{

      "fund_channel":"ALIPAYACCOUNT",

      "amount":12.00,

      "real_amount":12.00

     

}

c)关键出参

参数 类型 是否必填 描述 示例值
status String(16) 如果成功,返回Y Y

d)调用实例

1)请求示例

JAVA

AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do","app_id","your private_key","json","GBK","alipay_public_key");
AlipayUserUserinfoShareRequest request = new AlipayUserUserinfoShareRequest();
AlipayUserUserinfoShareResponse response = alipayClient.execute(request);

.NET

IAopClient client = new DefaultAopClient("https://openapi.alipay.com/gateway.do", "app_id", "merchant_private_key","json","RSA","alipay_public_key","GBK");
AlipayUserUserinfoShareRequest  request= new AlipayUserUserinfoShareRequest() ;
AlipayUserUserinfoShareResponse response=client.execute(request);

PHP

$aop = new AopClient ();
$aop->gatewayUrl = 'https://openapi.alipay.com/gateway.do';
$aop->appId = 'your app_id';
$aop->rsaPrivateKeyFilePath = 'merchant_private_key_file';
$aop->alipayPublicKey='alipay_public_key_file';
$aop->apiVersion = '1.0';
$aop->postCharset='GBK';
$aop->format='json';
$request = new AlipayUserUserinfoShareRequest ();
$result = $aop->execute ( $request);

HTTP源码

https://openapi.alipay.com/gateway.do?timestamp=2013-01-01 08:08:08&method= alipay.eco.edu.k12.billing.order.status.sysc&app_id=1360&sign_type=RSA&sign=ERITJKEIJKJHKKKKKKKHJEREEEEEEEEEEE&version=1.0

2)响应示例

{
    " alipay_openplatform_billing_modify_response":{
        " status ":"Y"
     }
}

3)异常示例

{
    "alipay_openplatform_billing_modify_response":{
        "code":"20000",
        "msg":"Service Currently Unavailable",
        "sub_code":"isp.unknow-error",
        "sub_msg":"系统繁忙"
    }
}

4)错误码解释

错误码 错误描述 解决方案
isv.invalid-argument-trade_no 参数有误,参数trade_no不正确 输入正确的trade_no,查不到支付的账单
isv.invalid-argument-out_trade_or 参数有误,参数trade_no或out_trade_no必须填一项 输入正确的账单参数,从支付宝异步回调参数里面拿
isv.invalid-argument-status 参数有误,参数status不正确或为空 输入正确的状态参数
isv.invalid-argument-refund_reason 参数有误,参数refund_reason不正确 输入退款时输入的退款原因
isv.invalid-argument-refund_change 参数有误,参数fund_change不正确 输入正确的退款资金变动
isv.invalid-argument-out_request_no 参数有误,参数out_request_no不正确 输入正确的退款时输入的参数
isv.invalid-argument-buyer_logon_id 参数有误,参数buyer_logon_id不正确 输入正确的buyer_logon_id
isv.invalid-argument-buyer_user_id 参数有误,参数buyer_user_id不正确 输入正确的buyer_user_id
isv.invalid-argument-gmt_refund 参数有误,参数gmt_refund不正确 输入正确的退款时返回的退款时间
isv.invalid-argument-error_pay 参数有误,账单未支付成功或其它错误 输入缴费成功后的账单
isv.invalid-argument-error_bill 参数有误,账单状态不是缴费成功,不能退款 输入缴费成功后的账单
isv.invalid-argument-error_pay_status 参数有误,账单已经支付,不能关闭 输入缴费成功后的账单
isv.invalid-argument-amount_error 参数有误,参数amount不正确 输入正确的退款金额
isv.invalid-argument-refund_error 参数有误,参数trade_no或out_trade_no或参数out_request_no不正确 找不到退款记录,请输入正确的退款信息
isv.invalid-argument 参数有误,请输入正确参数 输入参数是空的
aop.unknow-error 系统异常, 请联系支付宝小二 重试或联系小二
isp.unknow-error 系统繁忙, 请联系支付宝小二 重试或请联系小二

3、ISV账单状态查询

【场景】

ISV需要对缴费账单的状态进行查询,确认账单的最终状态(返回接口超时),则调用缴费账单查询接口查询账单的状态

【调用流程】

【接口代码调用参考】

a)接口名:eco.edu.kt.billing.query

b)关键入参

参数 类型 必填 描述 示例值
isv_pid String(64) ISV调用发送账单接口,返回给商户的order_no 57de63cb1ef157595c005467
school_pid String(64) 学校支付宝pid 2088101117955611
out_trade_no String(64) ISV调用发送账单接口,返回给商户的order_no 58de07de7bb90a437553e464

 c)关键出参

参数 类型 是否必填 描述 示例值
order_status String(64) NOT_PAY  待缴费
PAYING  支付中
PAY_SUCCESS 支付成功,处理中
BILLING_SUCCESS 缴费成功
TIMEOUT_CLOSED 逾期关闭账单
ISV_CLOSED 账单关闭
NOT_PAY

d)调用示例

1)请求示例

JAVA

AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do","app_id","your private_key","json","GBK","alipay_public_key");
AlipayEcoEduKtBillingQueryRequest request = new AlipayEcoEduKtBillingQueryRequest ();
AlipayEcoEduKtBillingQueryResponse response = alipayClient.execute(request);

.NET

IAopClient client = new DefaultAopClient("https://openapi.alipay.com/gateway.do", "app_id", "merchant_private_key","json","RSA","alipay_public_key","GBK");
AlipayEcoEduKtBillingQueryRequest request = new AlipayEcoEduKtBillingQueryRequest ();
AlipayEcoEduKtBillingQueryResponse response = client.execute(request);

PHP

$aop = new AopClient ();
$aop->gatewayUrl = 'https://openapi.alipay.com/gateway.do';
$aop->appId = 'your app_id';
$aop->rsaPrivateKeyFilePath = 'merchant_private_key_file';
$aop->alipayPublicKey='alipay_public_key_file';
$aop->apiVersion = '1.0';
$aop->postCharset='GBK';
$aop->format='json';
$request = new AlipayEcoEduKtBillingQueryRequest ();
$result = $aop->execute ( $request);

HTTP请求源码

https://openapi.alipay.com/gateway.do?timestamp=2013-01-01 08:08:08&method= alipay.eco.edu.k12.billing.order.query&app_id=1360&sign_type=RSA&sign=ERITJKEIJKJHKKKKKKKHJEREEEEEEEEEEE&version=1.0

2)响应示例

{
    "alipay_eco_edu_kt_billing_query_response":{
        "order_status":"NOT_PAY"
     }
}

3)异常示例

{
    "alipay_ eco_edu_kt_billing_query_response":{
        "code":"20000",
        "msg":"Service Currently Unavailable",
        "sub_code":"isp.unknow-error",
        "sub_msg":"系统繁忙"
    }
}

4)错误码解释

错误码 错误描述 解决方案
isv.invalid-argument-isv_pid 参数有误,找不到对应的isv,请输入正确的isv_pid 输入正确的对应的参数
isv.invalid-argument-school_pid 参数有误,学校pid错误  输入正确的学校pid
isv.invalid-argument- out_trade_no 参数有误,请输入正确的账单编号 输入正确的账单编号
isv.invalid-isv-isv_not_exists 参数有误,isv_pid不存在  输入正确的isv_pid
isv.invalid-isv-isv_school_relation 参数有误,请检查isv_pid、school_pid 输入正确的isv_pid和学校pid
Isv.invalid-order-order_not_exists 参数有误,缴费账单查询不存在 输入正确的账单编号

4、学生信息更新接口

【场景】

当学生信息发生变更时,比如姓名和学号发生了变化,ISV需要对学生信息进行更新,调用学生信息更新接口对学生信息进行更新

【调用流程】

【接口代码调用参考】

a)接口名:eco.edu.kt.student.modify

b)关键入参

参数 类型 必填 描述 示例值
isv_pid String(64) Isvpid 2014112611001004680073956707
school_pid String(64) 学校pid 2014112611001004680073956707
school_no String(64) 学校编号,同步学校返回的编号 11010100000001
student_no String(64) 学生编号,发送账单接口返回的学生编号 57de63cb1ef157595c005467
child_name String(16) 特殊必填 修改后的姓名 张三
student_code String(32) 特殊必填 修改后的学号 6589154
student_identify String(32) 特殊必填 修改后的身份证号码 610824197812044680
users UserDetails[] 特殊可选 孩子的家长信息,最多一次输入20个家长
如果输入的家长信息不存在,则给改学生增加家长
 
└user_mobile String(16) 原家长的手机号 1300000000
└user_change_mobile String(16) 用户变更手机号,替换旧的手机号 1310000000

c)关键出参

参数 类型 是否必填 描述 示例值
status String(16) 如果成功,返回Y Y

d)调用示例

1)请求示例

JAVA

AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do","app_id","your private_key","json","GBK","alipay_public_key");
AlipayEcoEduKtStudentModifyRequest request = new AlipayEcoEduKtBillingQueryRequest ();
AlipayEcoEduKtStudentModifyResponse response = alipayClient.execute(request);

.NET

IAopClient client = new DefaultAopClient("https://openapi.alipay.com/gateway.do", "app_id", "merchant_private_key","json","RSA","alipay_public_key","GBK");
AlipayEcoEduKtStudentModifyRequest request= new AlipayEcoEduKtStudentModifyRequest () ;
AlipayEcoEduKtStudentModifyResponse response=client.execute(request);

PHP

$aop = new AopClient ();
$aop->gatewayUrl = 'https://openapi.alipay.com/gateway.do';
$aop->appId = 'your app_id';
$aop->rsaPrivateKeyFilePath = 'merchant_private_key_file';
$aop->alipayPublicKey='alipay_public_key_file';
$aop->apiVersion = '1.0';
$aop->postCharset='GBK';
$aop->format='json';
$request = new AlipayEcoEduKtStudentModifyRequest ();
$result = $aop->execute ( $request);

HTTP请求源码

https://openapi.alipay.com/gateway.do?timestamp=2013-01-01 08:08:08&method= alipay.eco.edu.k12.student.modify&app_id=1360&sign_type=RSA&sign=ERITJKEIJKJHKKKKKKKHJEREEEEEEEEEEE&version=1.0

2)响应示例

{
    " alipay_eco_edu_kt_student_modify_response":{
        " status ":"Y"
     }
}

3)异常示例

{
    "alipay_eco_edu_kt_student_modify_response":{
        "code":"20000",
        "msg":"Service Currently Unavailable",
        "sub_code":"isp.unknow-error",
        "sub_msg":"系统繁忙"
    }
}

4)错误码解释

错误码 错误描述 解决方案
isv.invalid-argument-isv_pid 参数有误,找不到对应的isv,请输入正确的isv_pid 输入正确的对应的参数
isv.invalid-argument-school_pid 参数有误,学校pid错误 输入正确的学校pid
isv.invalid-argument-school_no 参数有误,学校编号错误 输入正确的学校编号
Isv.invalid-argument-child_name 参数有误,child_name参数不合法 输入正确的学生姓名
isv.invalid-argument-student_code 参数有误,student_code参数不合法 输入正确的学号
isv.invalid-argument-student_identify 参数有误,student_identify参数不合法 输入正确的身份证号
Isv.invalid-isv-not_exists 参数有误,isv_pid不存在 输入正确的isv_pid信息
isv.invalid-isv-isv_school_relation 参数有误,请检查isv_pid、school_pid 传入正确的isv_pid和学校pid
isv.invalid-school-school_no 参数有误,请检查school_pid 、school_no 输入正确的school_pid 和schoo_no
isv.invalid-student-not_exists 参数有误,请检查修改school_no、student_no 输入正确的学校和学号信息

5、学生信息查询接口

【场景】

当学生信息更新接口出现超时或者异常等情况时,ISV需要查询学生信息,调用学生信息查询接口获取学生的最新信息

【调用流程】

【接口代码调用参考】

a)接口名:eco.edu.kt.student.query

b)关键入参

参数 类型 必填 描述 示例值
isv_pid String(64) Isvpid 2014112611001004680073956707
school_pid String(64) 学校pid 2014112611001004680073956707
school_no String(64) 学校编号,同步学校返回的编号 11010100000001
student_no String(64) 学生编号,发送账单接口返回的学生编号 57de63cb1ef157595c005467

c)关键出参

参数 类型 是否必填 描述 示例值
school_name String(300) 学校名称 测试学校
class_name String(128) 班级名字 三年级6班
child_name String(16) 学生姓名 张三
student_code String(32) 学号 12912
student_identify String(32) 学生身份证号 610121192201029191
users Array 家长信息,ISV同步的家长所有家长信息  
└user_mobile String(20) 家长手机号 18291992024
└user_name String(16) 家长名字 张三
└user_relation Integer(16) 孩子与家长的关系: 1、爸爸  2、妈妈  3、爷爷  4、奶奶  5、外公  6、外婆  7、家长 1

d)调用示例

1)请求示例

JAVA

AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do","app_id","your private_key","json","GBK","alipay_public_key");
AlipayEcoEduKtStudentQueryRequest request = new AlipayEcoEduKtStudentQueryRequest ();
AlipayEcoEduKtStudentQueryResponse response = alipayClient.execute(request);

.NET

IAopClient client = new DefaultAopClient("https://openapi.alipay.com/gateway.do", "app_id", "merchant_private_key","json","RSA","alipay_public_key","GBK");
AlipayEcoEduKtStudentQueryRequest request= new AlipayEcoEduKtStudentQueryRequest () ;
AlipayEcoEduKtStudentQueryResponse response=client.execute(request);

PHP

$aop = new AopClient ();
$aop->gatewayUrl = 'https://openapi.alipay.com/gateway.do';
$aop->appId = 'your app_id';
$aop->rsaPrivateKeyFilePath = 'merchant_private_key_file';
$aop->alipayPublicKey='alipay_public_key_file';
$aop->apiVersion = '1.0';
$aop->postCharset='GBK';
$aop->format='json';
$request = new AlipayEcoEduKtStudentQueryRequest ();
$result = $aop->execute ( $request);

HTTP请求源码

https://openapi.alipay.com/gateway.do?timestamp=2013-01-01 08:08:08&method= alipay.eco.edu.k12.student.modify&app_id=1360&sign_type=RSA&sign=ERITJKEIJKJHKKKKKKKHJEREEEEEEEEEEE&version=1.0

2)响应示例

"alipay_eco_edu_kt_student_modify_response": {
    "school_name": "杭州市西湖区实验小学",
    "class_name": "三年级6班",
    "child_name": "张三",
    "student_code": "1718491040",
    "student_identify": "610824197812044680",
    "users": [
        {
            "user_mobile": "家长手机号",
            "user_name": "家长姓名",
            "user_relation": 1
        }
    ]}

3)异常示例

{
    "alipay_eco_edu_kt_student_modify_response":{
        "code":"20000",
        "msg":"Service Currently Unavailable",
        "sub_code":"isp.unknow-error",
        "sub_msg":"系统繁忙"
    }
}

4)错误码解释

错误码 错误描述 解决方案
isv.invalid-argument-isv_pid 参数有误,找不到对应的isv,请输入正确的isv_pid 输入正确的对应的参数
isv.invalid-argument-school_pid 参数有误,学校pid错误 输入正确的学校pid
isv.invalid-argument-school_no 参数有误,学校编号错误 输入正确的学校编号
Isv.invalid-argument-child_name 参数有误,child_name参数不合法 输入正确的学生姓名
isv.invalid-argument-student_code 参数有误,student_code参数不合法 输入正确的学号
isv.invalid-argument-student_identify 参数有误,student_identify参数不合法 输入正确的身份证号
Isv.invalid-isv-not_exists 参数有误,isv_pid不存在 输入正确的isv_pid信息
isv.invalid-isv-isv_school_relation 参数有误,请检查isv_pid、school_pid 传入正确的isv_pid和学校pid
isv.invalid-school-school_no 参数有误,请检查school_pid 、school_no 输入正确的school_pid 和schoo_no
isv.invalid-student-not_exists 参数有误,请检查修改school_no、student_no 输入正确的学校和学号信息

FAQ

关于此文档暂时还没有FAQ
返回
顶部