文档中心 > 校园产品介绍与接入指南

校园缴费快速接入

更新时间:2020/03/15 访问次数:790
 

方案场景介绍

学校教育缴费场景,缴费的类目很多,通过教育缴费可实现各类缴费业务线上缴费。

整体业务流程

接入准备

1.已完成 开发者入驻 与 小程序创建

2.签约小程序支付

3.已下载并安装 小程序开发者工具(简称 IDE)。

快速技术接入流程

第一步:创建小程序

 要在您的小程序内使用小程序支付功能,您需要首先完成 开发者入驻 并 创建小程序

第二步:添加功能

小程序创建完成后,开发者在 功能列表 部分可以点击 添加功能 来给创建的小程序添加功能,如下图所示;开发者勾选 小程序支付 功能后,点击右下角 确定 即完成添加功能。

注意

第三方应用代商户实现小程序支付需要:

1、在三方应用上添加当面付功能。

2、代商户签约当面付,参考文档 alipay.open.agent.facetoface.sign 。

第三步:签约功能

 小程序支付需要签约才能生效,在小程序上线后,请点击功能列表右侧对应功能的 签约 链接;签约成功后,需要 1 个工作日左右的审批时间(审批结果会以短信和邮件形式告知),审批成功后,功能状态会变为“已生效”,即可调用小程序支付功能。

第四步:集成并配置 SDK

服务端 SDK 需要商户集成在自己的服务端系统中,用于后续的服务端接口调用。

下载服务端 SDK

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

接口调用配置

在 SDK 调用前需要进行初始化,以 JAVA 代码为例:

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

 关键参数说明:

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

接下来,就可以用 alipayClient 来调用具体的 API 了。alipayClient 只需要初始化一次,后续调用不同的 API 都可以使用同一个 alipayClient 对象。

注意:

ISV /开发者可以通过 第三方应用授权 得到商户授权令牌(app_auth_token)作为请求参数传入,实现代商户发起请求的能力。

如果您在调用 API 时出现报错,您可以:

在 公共错误码 中根据错误码的类型,查找相关错误码及解决方案;

在 小蚂哥 问答页面直接输入您遇到的错误码;

在技术支持 帮助中心 搜索相关错误码,找到解决方案。

第五步:调用接口

小程序支付调用流程如下图所示:

22.png

1.在小程序端调用 my.request 接口,连接到商户服务端。

 my.request({
  url: '商户服务端地址',//须加httpRequest域白名单
  method: 'POST',
  data: {//data里的key、value是开发者自定义的
    from: '支付宝',
    order: 'XXXXX',//订单信息
  },
  dataType: 'json',
  success: function(res) {
    my.alert({content: 'success'});
  },
  fail: function(res) {
    my.alert({content: 'fail'});
  },
  complete: function(res) {
    my.hideLoading();
    my.alert({content: 'complete'});
  }
});

2.在服务端调用alipay.trade.create (统一收单交易创建接口),获得支付宝交易号 tradeNO(以 Java 代码为例)。

//实例化客户端
AlipayClient alipayClient = new     DefaultAlipayClient("https://openapi.alipay.com/gateway.do", APP_ID, APP_PRIVATE_KEY, "json", CHARSET, ALIPAY_PUBLIC_KEY, "RSA2");
//实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.trade.create.
AlipayTradeCreateRequest request = new AlipayTradeCreateRequest();
//SDK已经封装掉了公共参数,这里只需要传入业务参数。
request.setBizContent("{" +
        "\"out_trade_no\":\"20171115010101001\"," +//可以随机生成订单号:String outTradeNo = UUID.randomUUID().toString().replace("-", "");
        "\"total_amount\":0.01," +
        "\"subject\":\"Iphone616G\"," +
        "\"buyer_id\":\"用户pid\"" +
        "}");
try {
    //使用的是execute
    AlipayTradeCreateResponse response = alipayClient.execute(request);
    String trade_no = response.getTradeNo();//获取返回的tradeNO。
} catch (AlipayApiException e) {
    e.printStackTrace();
}
buyer_id是支付宝小程序授权登录成功后获取到的支付宝 user_id获取方法可以参考 用户授权文档

注意

在小程序场景内 alipay.trade.create 接口中的“buyer_id”为必填项,若未传入调式时会出现报错。推荐使用开放平台提供的服务端 SDK,并参考代码示例编写;点击下载开放平台服务端 SDK。具体业务参数请参考 API 文档。

3.在小程序端使用 tradeNO,调用 my.tradePay 接口唤起支付收银台。

my.tradePay({
        tradeNO: '2017111521001104105336677922',  
        success: function(res) {
            my.alert(res.resultCode);
        },
        fail: function(res) {
          my.alert(res.resultCode);
       },
    });

关键参数说明:

配置参数

示例值解释

获取方式/示例值

URL

支付宝网关(固定)

https://openapi.alipay.com/gateway.do

APP_ID

APPID 即创建应用后生成

详情见创建应用并获取 APPID

APP_PRIVATE_KEY

开发者应用私钥,由开发者自己生成

详见配置密钥

FORMAT

参数返回格式,只支持 json 格式

json(固定)

CHARSET

请求和签名使用的字符编码格式,支持 GBK 和 UTF-8

开发者根据实际工程编码配置

ALIPAY_PUBLIC_KEY

支付宝公钥,由支付宝生成

详见配置密钥

SIGN_TYPE

商户生成签名字符串所使用的签名算法类型,目前支持 RSA2 和 RSA,推荐商家使用 RSA2。

RSA2

接下来,开发者就可以用 alipayClient 来调用具体的 API 了。alipayClient 只需要初始化一次,后续调用不同的 API 都可以使用同一个 alipayClient 对象。

注意:

ISV/开发者可以通过“第三方应用授权”得到商户授权令牌(app_auth_token)作为请求参数传入,商户签约完成后,可实现代商户发起请求的能力;具体方法请参考第三方应用授权)。

2. 涉及到的产品及API列表

   1) 常用小程序功能列表:

功能

场景描述

查看

获取会员信息

在用户授权的情况下获取用户信息,商户可根据自身需求,绑定支付宝user_id和商户会员标识

查看API

小程序支付

小程序支付唤起收银台进行支付,小程序支付支持核销口碑券及口碑商户优惠,已签约小程序支付或在口碑开店的商户建议接入小程序支付

查看API

获取位置

获取用户当前的地理位置my.getLocation

查看API

扫码

调用支付宝小程序扫码功能

查看API

2)当面付相关产品接口:

接口英文名

接口中文名

描述

alipay.trade.query

统一收单线下交易查询

通过调用该接口查询订单的状态

alipay.trade.create

统一收单交易创建接口

创建支付宝交易订单

alipay.trade.refund

统一收单交易退款接口

支持部分和全部退款

alipay.data.dataservice.bill.downloadurl.query

查询对账单下载地址接口

 

查询并下载对账单


3.接口传参说明

      交易创建接口:alipay.trade.create接口传参说明:

  • 3.1学生信息透传。{"campus_card":"123""campus_no":"}
business_params 复杂类型 BusinessParams 可选 r1  

{"data":"123"}

商户传入业务信息,具体值要和支付宝约定,应用于安全,营销等参数直传场景,格式为json格式

campus_card 基础类型 String 可选 r1 64

0000306634

校园卡编号

card_type 基础类型 String 可选 r1 128

T0HK0000

虚拟卡卡类型

campus_no

基础类型 String 可选 r1 256

201843206

学号

school_stdcode

基础类型 String 可选 r1

16

2135000005

学校标识码

school_name

基础类型 String 可选 r1

128

郑州大学

学校名称

expire_at 基础类型 String 可选 r1

32

2019-12-31 12:00:00

学籍有效时间

  • 3.2订单信息

goods_detail

GoodsDetail[]

可选

 

订单包含的商品列表信息,json格式,其它说明详见商品明细说明

 

└ goods_id

String

必填

32

商品的编号

apple-01

└ goods_name

String

必填

256

商品名称

ipad

└ quantity

Number

必填

10

商品数量

1

└ price

Price

必填

9

商品单价,单位为元

2000

└ goods_category

String

可选

24

商品类目

缴费类目:fee

└ categories_tree

String

可选

128

商品类目树,从商品类目根节点到叶子节点的类目;缴费场景必传id组成,类目id值使用|分割

二级类目:business_tax/Non_tax/contribute

└ body

String

可选

1000

商品描述信息

具体费用:学费(中文)

└ show_url

String

可选

400

商品的展示地址

http://www.alipay.com/xxx.jpg

operator_id

String

可选

28

商户操作员编号

yx_001

store_id

String

可选

32

商户门店编号

NJ_001

terminal_id

String

可选

32

商户机具终端编号

NJ_T_001

 extend_params

ExtendParams

可选

 

业务扩展参数

 

sys_service_provider_id

String

可选

64

系统商编号 
该参数作为系统商返佣数据提取的依据,请填写系统商签约协议的
PID

2088511

辅助能力

1. 对账

      通过sftp方式获取账单或者通过查询对账单下载地址接口(alipay.data.dataservice.bill.downloadurl.query

2. 退款

     通过退款接口进行退款。统一收单交易退款接口 (alipay.trade.refund)支持部分退款或者全额退款

上线后的技术保障

线上技术问题反馈渠道:

一、在线IM

  1、PC上访问open.alipay.com,选择右上角下拉菜单的"帮助支持-技术支持中心",进入右下角蓝色在线小宝-输入商户PID反馈技术问题

  2、直接打开链接https://cschannel.alipay.com/newPortal.htm?scene=mt_zczx

  (工作日早上9点-晚上6点)

二、技术邮箱

  techservices@alipay.com (工作日早上9点-晚上6点)

 

FAQ

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