API开发文档简介
本文阅读对象:使用 星辰支付 商户自服务系统的技术架构师、研发工程师、系统运维工程师。通过本文档,商户可了解 星辰支付 接入的技术、接入的产品业务、接入的流程、接入规范等信息,以便于商户顺利完成接入工作。
点击下载1.API文档   2.示例代码
接入网关
请登录商户中心,API管理->开发文档中: 查看网关地址和API对接参数。
HTTP头信息:
'Content-Type: application/x-www-form-urlencoded; charset=utf-8'
统一下单接口
提交方式:POST
地址: 接入网关/Pay_Index.html
参数名称 参数类型 参数含义 是否必填 参与签名 参数说明
pay_memberid string 商户号 平台分配商户号
pay_orderid string 订单号 上送订单号唯一, 字符长度不超过26位
pay_userid string 支付用户ID 请传您发起支付的应用内用户的userid,最好是正式ID,也可是任意唯一标识该用户的ID,全为相同ID会触发限制(字符最大长度20,如随意上传导致平台资金账号被封。经核查后,会冻结相应资金)
pay_applydate string 提交时间 时间格式:2016-12-26 18:18:18
pay_bankcode string 银行编码 在商户中心查询
pay_notifyurl string 服务端通知 服务端返回地址.(POST返回数据)
pay_callbackurl string 页面跳转通知 页面跳转返回地址(POST返回数据)
pay_amount string 订单金额 单位:元。例如:1元为1.00
pay_md5sign string MD5签名 查看签名算法
pay_productname string 商品名称
pay_attach string 附加字段 此字段在返回时按原样返回 (中文需要url编码)
pay_productnum string 商户品数量
pay_productdesc string 商品描述
pay_producturl string 商户链接地址
【Response返回值】 (返回数据格式为json),Post请求后直接返回Response数据。
参数名称 参数类型 参数含义 是否必填 参与签名 参数说明
status string 请求状态 success为成功,其他为失败
msg string 状态描述 status=success时为"成功",其他为响应的错误说明
data string 返回的数据 详见下表。如返回中存在payurl,则支付需要跳转
【data】数据说明
参数名称 参数类型 参数含义 是否必填 参与签名 参数说明
payurl string 支付发起跳转地址 status=success时返回,如返回中存在该值,请直接跳转该链接发起支付。不存在该值不用跳转
示例(Json):
{"status":"success", "msg":"成功", "data":{"payurl":"http://www.starpay2019.com"}}
php示例跳转写法:header('Location: ' . $payurl );
签名算法
签名生成的通用步骤如下:
第一步,设所有发送或者接收到的数据为集合M,将集合M内非空参数值的参数按照参数名ASCII码从小到大排序(a-z字典序),使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串stringA。
第二步,在stringA最后拼接上应用(ApiKey)得到stringSignTemp字符串,并对stringSignTemp进行MD5运算,再将得到的字符串所有字符转换为大写,得到sign值signValue。
以支付请求举例:
拼接字符串:
stringSignTemp="pay_amount=pay_amount&pay_applydate=pay_applydate&pay_bankcode=pay_bankcode&pay_callbackurl= pay_callbackurl&pay_memberid=pay_memberid&pay_notifyurl=pay_notifyurl&pay_orderid=pay_orderid&pay_userid=pay_userid &key=ApiKey"。
生成MD5值(32位)并转换为大写:
sign=MD5(stringSignTemp).toUpperCase()
同步通知(用于前端页面跳转)
返回方式:POST, 数据格式form表单
此通知仅用于前端页面的跳转展示使用,不作为支付的正式通知。支付返回的正式结果,请以(异步通知)为准。
参数名称 参数类型 参数含义 是否必填 参与签名参数说明
memberid string 商户编号 平台分配商户号
orderid string 订单号 上送订单号唯一, 字符最大长度26
amount string 订单金额 单位:元
returncode string 交易状态 00表示成功,其它表示失败
sign string MD5签名
异步通知(返回正式支付结果)
返回方式:POST, 数据格式form表单
接收到服务器点对点通讯时,在页面输出“OK”( 没有双引号,OK 两个字母大写 ) ,否则会重复5次发送点对点通知. 请务必进行结果的sign验证,确保支付的正确性。
参数名称 参数类型 参数含义 是否必填 参与签名参数说明
memberid string 商户编号 平台分配商户号
orderid string 订单号 上送订单号唯一, 字符最大长度26
amount string 订单金额 单位:元
transaction_id string 交易流水号
datetime string 交易时间
returncode string 交易状态 00表示成功,其它表示失败
attach string 扩展返回 商户附加数据返回
sign string MD5签名
returncode参数说明: 00:表示成功 01:通道返回验证签名不成功 02:订单金额异常 03:订单状态修改失败 04:结算资金保存失败 05:商户数据修改失败 06:资金变动记录添加失败 07:投诉保证金添加失败
订单查询接口
提交方式:POST
地址: 接入网关/Pay_Trade_query.html
参数名称 参数类型 参数含义 是否必填 参与签名参数说明
pay_memberid string 商户编号
pay_orderid string 商户订单号
pay_md5sign string MD5签名 查看签名算法
【Response返回值】 (返回数据格式为json),Post请求后直接返回Response数据。
参数名称 参数类型 参数含义 是否必填 参与签名参数说明
memberid string 商户编号
orderid string 商户订单号
amount string 订单金额 单位:元
time_end string 支付成功时间
transaction_id string 平台订单号
returncode string 请求状态 00表示成功,其它表示失败
trade_state string 支付状态 SUCCESS:支付成功,NOTPAY:未支付
sign string MD5签名
代付提交接口
提交方式:POST
提交地址:网关地址+/Payment_Dfpay_add.html
参数名称 参数类型 参数含义 是否必填 参与签名参数说明
memberid string 商户编号 平台分配商户号
out_trade_no string 商户订单号 保证唯一值(最大长度30位)
amount string 订单金额 单位:元。例如:1元为1.00
bankname string 开户行名称
subbranch string 支行名称
accountname string 开户名
cardnumber string 银行卡号
province string 省份
city string 城市
notifyurl string 通知回调地址 通知代付状态的地址
extends string 附加字段 不填则不参与签名
sign string MD5签名 查看签名算法
注:extends字段具体需要上送哪些字段以及字段的含义,对接时请咨询平台方,如果不需要扩展字段则不传。不为空时,格式:先转化为JSON,接着进行Base64加密
例如:扩展字段为phone和idno,extends[phone]=13800138000,extends[idno]=111111111111111111。首先将extends转化为JSON格式得到{"phone":"13800138000","idno":"111111111111111111"},然后将此JSON字符串进行base64加密得到eyJwaG9uZSI6IjEzODAwMTM4MDAwIiwiaWRubyI6IjExMTExMTExMTExMTExMTExMSJ9,最终得到extends=eyJwaG9uZSI6IjEzODAwMTM4MDAwIiwiaWRubyI6IjExMTExMTExMTExMTExMTExMSJ9。
【Response返回值】 (返回数据格式为json),Post请求后直接返回Response数据。
参数名称 参数类型 参数含义 是否必填 参与签名参数说明
status string 状态 成功:success 失败:error(请求失败)
msg string 状态描述 问题描述
memberid string 商户编号 status=success时返回
out_trade_no string 商户订单号 status=success时返回
transaction_id string 平台流水号 status=success时返回
sign string MD5签名 status=success时返回
代付异步通知(返回代付结果)
返回方式:POST, 数据格式form表单
接收到服务器点对点通讯时,在页面输出“OK“, 请务必进行结果的sign验证,确保正确性。
参数名称 参数类型 参数含义 是否必填 参与签名参数说明
memberid string 商户编号 平台分配商户号
out_trade_no string 商户订单号 商户上传的代付订单号
transaction_id string 平台订单号 平台产生的交易流水号
refCode string 业务状态 详见refCode说明
refMsg string 业务描述 平台返回的业务描述
sign string MD5签名 查看签名算法
refCode返回值
返回值 含义
1 成功
2 失败
3 处理中
4 待处理
5 审核驳回
6 待审核
7 交易不存在
8 未知状态
代付查询接口
提交方式:POST
提交地址:网关地址+/Payment_Dfpay_query.html
参数名称 参数类型 参数含义 是否必填 参与签名参数说明
out_trade_no string 商户订单号
memberid string 商户号
sign string 签名 查看签名算法
【Response返回值】 (返回数据格式为json),Post请求后直接返回Response数据。
参数名称 参数类型 参数含义 是否必填 参与签名参数说明
status string 状态 success:请求成功(不代表业务成功),error:请求失败
msg string 状态描述 问题描述
memberid string 商户号 status=success时返回
out_trade_no string 商户订单号 status=success时返回
amount string 金额 status=success时返回
transaction_id string 平台流水号 status=success时返回
refCode string 业务状态 status=success时返回
refMsg string 业务描述 status=success时返回
success_time string 成功时间 status=success,refCode=1时返回。没有返回该字段则不参与签名
sign string MD5签名 status=success时返回
refCode返回值
返回值 含义
1 成功
2 失败
3 处理中
4 待处理
5 审核驳回
6 待审核
7 交易不存在
8 未知状态
注:当status=success和refCode=1同时成立时才表示转账成功
账户余额查询接口
提交方式:POST
接口地址:网关地址+/Payment_Dfpay_balance.html
参数名称 参数类型 参数含义 是否必填 参与签名参数说明
memberid string 商户编号 平台分配商户号
sign string MD5签名 查看签名算法
【Response返回值】 (返回数据格式为json),Post请求后直接返回Response数据。
参数名称 参数类型 参数含义 是否必填 参与签名参数说明
status string 状态 success:请求成功,error:请求失败
msg string 状态描述
memberid string 商户号 status=success时返回
balance string 可提现余额 status=success时返回
blockedbalance string 冻结余额 status=success时返回
pay_md5sign string MD5签名
收银台接入
【1】. 收银台接入非常简单方便,前往:商户中心->我要收款->收款连接。该页面下的连接地址即为商户收银台的地址。
【2】. 访问格式:后台显示的收款链接?orderid=orderid&amount=amount    例如:http://www.starpay2019.com/Pay_Charges_index.html?orderid=123456&amount=100
【3】. 收银台页面自动区分PC端和手机端,不用再做其他处理。
【4】. 不同平台接入方式:
       1. 网站web类应用: 直接访问该地址。
       2. App类应用: 在应用内唤起浏览器,并访问该连接地址即可。
【5】. 收银台功能只有开通了该功能的商户才能访问上述的页面,并使用。
【6】. 需要进行订单校验的商户,则添加参数orderid,充值成功后会通知后台配置的收款通知地址notifyurl,并返回此参数,供商户使用。如不传此参数,平台自动生成订单号,并通知商户配置的收款通知地址。
【7】. 需要确定充值金额,则添加参数amount,固定用户充值金额,充值成功后会通知后台配置的收款通知地址notifyurl,并返回此参数,供商户使用。如不传此参数,用户可以自由输入金额。
【8】. 通知地址返回参数(同支付下单异步通知),点击查看
【9】. 收款通知地址修改前往:商户中心->我要收款->收款设置。
【10】. 如果还有不清楚的地方,请下载接入文档并查看,点击下载
渠道编码
请登录商户中心,API管理 通道费率中 查看所属应用的支付通道编码。