支付接口介绍

使用此接口可以实现支付宝、QQ钱包、微信支付与财付通的即时到账,免签约,无需企业认证。

本文阅读对象:商户系统(在线购物平台、人工收银系统、自动化智能收银系统或其他)集成开心支付涉及的技术架构师,研发工程师,测试工程师,系统运维工程师。

接口申请方式

共有两种接口模式:

(一)普通支付商户
可以获得一个支付商户,目前认证费是5元。可在线申请:接入申请,在线申请之后即可登录使用!

(二)合作支付商户
获得一个合作者身份TOKEN,可以集成到你开发的程序里面,通过接口无限申请普通支付商户,并且每个普通支付商户单独结算,相对独立。申请需要进行企业或开发者资质认证,请联系人工申请QQ58888,申请之后会将合作者身份TOKEN给你!(内测暂不开放)

协议规则

传输方式:HTTP

数据格式:JSON

签名算法:MD5

字符编码:UTF-8


[API]查询商户余额

URL地址:https://xpay.cctzz.cc/api.php?act=paymentBalance&pid={商户ID}&key={商户密钥}

请求参数说明:

字段名 变量名 必填 类型 示例值 描述
操作类型 act String paymentBalance 此API固定值
商户ID pid Int 1001
商户密钥 key String xxxxxxxxxxxxxx

返回结果:

字段名 变量名 类型 示例值 描述
返回状态码 code Int 1 1为成功,其它值为失败
返回信息 msg String 查询余额成功!
余额 money String 100.00

[API]查询单个代收订单

URL地址:https://xpay.cctzz.cc/api.php?act=order&pid={商户ID}&key={商户密钥}&out_trade_no={商户订单号}

请求参数说明:

字段名 变量名 必填 类型 示例值 描述
操作类型 act String order 此API固定值
商户ID pid Int 1001
商户密钥 key String xxxxxxxxxxxxxx
商户订单号 out_trade_no String 20160806151343349

返回结果:

字段名 变量名 类型 示例值 描述
返回状态码 code Int 1 1为成功,其它值为失败
返回信息 msg String 查询订单号成功!
易支付订单号 trade_no String 2016080622555342651 开心支付订单号
商户订单号 out_trade_no String 20160806151343349 商户系统内部的订单号
支付方式 type String alipay alipay:支付宝,tenpay:财付通,
qqpay:QQ钱包,wxpay:微信支付
商户ID pid Int 1001 发起支付的商户ID
创建订单时间 addtime String 2016-08-06 22:55:52
完成交易时间 endtime String 2016-08-06 22:55:52
商品名称 name String VIP会员
商品金额 money String 1.00
支付状态 status Int 0 1为支付成功,0为未支付

[API]批量查询代收订单

URL地址:https://xpay.cctzz.cc/api.php?act=orders&pid={商户ID}&key={商户密钥}

请求参数说明:

字段名 变量名 必填 类型 示例值 描述
操作类型 act String orders 此API固定值
商户ID pid Int 1001
商户密钥 key String xxxxxxxxxxxxxx
查询订单数量 limit Int 20 返回的订单数量,最大50
页码 page Int 1 当前查询的页码

返回结果:

字段名 变量名 类型 示例值 描述
返回状态码 code Int 1 1为成功,其它值为失败
返回信息 msg String 查询结算记录成功!
订单列表 data Array 订单列表

[API]查询单个代付订单

URL地址:https://xpay.cctzz.cc/api.php?act=paymentOrder&pid={商户ID}&key={商户密钥}&out_trade_no={商户订单号}

请求参数说明:

字段名 变量名 必填 类型 示例值 描述
操作类型 act String paymentOrder 此API固定值
商户ID pid Int 1001
商户密钥 key String xxxxxxxxxxxxxx
商户订单号 out_trade_no String 20160806151343349

返回结果:

字段名 变量名 类型 示例值 描述
返回状态码 code Int 1 1为成功,其它值为失败
返回信息 msg String 查询订单号成功!
开心支付订单号 trade_no String 2016080622555342651 开心支付订单号
商户订单号 out_trade_no String 20160806151343349 商户系统内部的订单号
代付方式 type String alipay alipay:支付宝,wxpay:微信支付
商户ID pid Int 1001 发起代付的商户ID
创建订单时间 addtime String 2016-08-06 22:55:52
完成交易时间 endtime String 2016-08-06 22:55:52
代付金额 money String 1.00
代付状态 status Int 0 1为代付成功,0为未代付

[API]批量查询代付订单

URL地址:https://xpay.cctzz.cc/api.php?act=paymentOrders&pid={商户ID}&key={商户密钥}

请求参数说明:

字段名 变量名 必填 类型 示例值 描述
操作类型 act String paymentOrders 此API固定值
商户ID pid Int 1001
商户密钥 key String xxxxxxxxxxxxxx
查询订单数量 limit Int 20 返回的订单数量,最大50
页码 page Int 1 当前查询的页码

返回结果:

字段名 变量名 类型 示例值 描述
返回状态码 code Int 1 1为成功,其它值为失败
返回信息 msg String 查询结算记录成功!
订单列表 data Array 订单列表

发起支付请求

URL地址:https://xpay.cctzz.cc/submit.php

POST数据:pid={商户ID}&type={支付方式}&out_trade_no={商户订单号}&notify_url={服务器异步通知地址}&return_url={页面跳转通知地址}&name={商品名称}&money={金额}&sitename={网站名称}&sign={签名字符串}&sign_type=MD5

请求参数说明:

字段名 变量名 必填 类型 示例值 描述
商户ID pid Int 1001
支付通道ID pay_id Int 1 通道ID请联系客服
商户订单号 out_trade_no String 20160806151343349
异步通知地址 notify_url String https://xpay.cctzz.cc/notify_url.php 服务器异步通知地址
跳转通知地址 return_url String https://xpay.cctzz.cc/return_url.php 页面跳转通知地址
商品名称 name String VIP会员
商品金额 money String 1.00
网站名称 sitename String 彩虹云任务
签名字符串 sign String 202cb962ac59075b964b07152d234b70 签名算法与支付宝签名算法相同
签名类型 sign_type String MD5 默认为MD5

结果参数说明:

字段名 变量名 必填 类型 示例值 描述
状态 code Int 1 1为成功,其他为失败
说明 msg String 发起成功 状态说明
数据 data Array 状态为成功时才有此参数

data参数说明:

字段名 变量名 必填 类型 示例值 描述
商户ID pid Int 1001
平台订单号 trade_no String 20160806151343349 支付平台的订单号
商户订单号 out_trade_no String 20160806151343349 商户提交的订单号
订单金额 money String 1.00 商户提交过来的金额
支付链接 pay_url String https://xpay.cctzz.cc/pay.php 跳转的支付链接

发起网关支付请求

URL地址:https://xpay.cctzz.cc/ebanking.php

POST数据:pid={商户ID}&type={支付方式}&out_trade_no={商户订单号}&notify_url={服务器异步通知地址}&return_url={页面跳转通知地址}&name={商品名称}&money={金额}&sitename={网站名称}&sign={签名字符串}&sign_type=MD5

请求参数说明:

字段名 变量名 必填 类型 示例值 描述
商户ID pid Int 1001
支付方式 type String gateway gateway:网银,alipay:支付宝,
qqpay:QQ钱包,wxpay:微信支付,
usdt:虚拟币支付
银行卡类型 card_type Int 1 1:储蓄卡,2:信用卡
支付方式为gateway时必填
银行编码 bank_code String 01000000 01000000:中国邮储银行
01020000:工商银行
01030000:农业银行
01040000:中国银行
01050000:建设银行
03010000:交通银行
03020000:中信银行
03030000:光大银行
03040000:华夏银行
03050000:民生银行
03060000:广发银行
03070000:平安银行
03080000:招商银行
03090000:兴业银行
03100000:浦发银行
03180000:渤海银行
支付方式为gateway时必填
商户订单号 out_trade_no String 20160806151343349
异步通知地址 notify_url String https://xpay.cctzz.cc/notify_url.php 服务器异步通知地址
跳转通知地址 return_url String https://xpay.cctzz.cc/return_url.php 页面跳转通知地址
商品名称 name String VIP会员
商品金额 money String 1.00
网站名称 sitename String 彩虹云任务
签名字符串 sign String 202cb962ac59075b964b07152d234b70 签名算法与支付宝签名算法相同
签名类型 sign_type String MD5 默认为MD5

支付结果通知

通知类型:服务器异步通知(notify_url)、页面跳转通知(return_url)

请求方式:GET

请求参数说明:

字段名 变量名 必填 类型 示例值 描述
商户ID pid Int 1001
易支付订单号 trade_no String 20160806151343349021 开心支付订单号
商户订单号 out_trade_no String 20160806151343349 商户系统内部的订单号
支付方式 type String alipay alipay:支付宝,tenpay:财付通,
qqpay:QQ钱包,wxpay:微信支付,
union:云闪付,gateway:网银,
usdt:虚拟币支付
商品名称 name String VIP会员
商品金额 money String 1.00
支付状态 trade_status String TRADE_SUCCESS
签名字符串 sign String 202cb962ac59075b964b07152d234b70 签名算法与支付宝签名算法相同
签名类型 sign_type String MD5 默认为MD5

发起代付请求

URL地址:https://xpay.cctzz.cc/payment_submit.php

POST数据:pid={商户ID}&out_trade_no={商户订单号}&notify_url={服务器异步通知地址}&card_name={收款姓名}&card_num={收款卡号}&bank_name={收款银行}&money={金额}&sign={签名字符串}&sign_type=MD5

请求参数说明:

字段名 变量名 必填 类型 示例值 描述
商户ID pid Int 1001
代付网关 gateway String agent 不填写使用系统默认的。
pay060:okpay, pay061:租机,
pay062:HIPAY, pay063:HZ支付,
pay064:UU支付,
代付方式 type String alipay alipay:支付宝,tenpay:财付通,
qqpay:QQ钱包,wxpay:微信支付,
union:云闪付,gateway:网银,
usdt:虚拟币
商户订单号 out_trade_no String 20160806151343349
异步通知地址 notify_url String https://xpay.cctzz.cc/notify_url.php 服务器异步通知地址
收款姓名 card_name String 张三 人民币代付必填
收款卡号 card_num String 888888888888888 人民币代付必填
收款银行 bank_name String 工商银行 人民币代付必填
收款银行支行 branch_name String 工商银行北京支行 人民币代付部分通道必填
收款地址 address String TGmgvL1Y7mdKKFpxtGfmX21b2b9txxxxx 虚拟币代付必填
代付金额 money String 1.00
签名字符串 sign String 202cb962ac59075b964b07152d234b70 签名算法与支付宝签名算法相同
签名类型 sign_type String MD5 默认为MD5

支付结果通知

通知类型:服务器异步通知(notify_url)

请求方式:GET

请求参数说明:

字段名 变量名 必填 类型 示例值 描述
商户ID pid Int 1001
代付订单号 trade_no String 20160806151343349021 开心支付平台订单号
商户订单号 out_trade_no String 20160806151343349 商户系统内部的订单号
代付金额 money String 1.00
付款状态 payment_status String PAYMENT_SUCCESS PAYMENT_SUCCESS:代付成功;
PAYMENT_FAIL:代付失败,已退回额度
签名字符串 sign String 202cb962ac59075b964b07152d234b70 签名算法与支付宝签名算法相同
签名类型 sign_type String MD5 默认为MD5

服务器异步通知页面特性

必须保证服务器异步通知页面(notify_url)上无任何字符,如空格、HTML标签、开发系统自带抛出的异常提示信息等;

开心支付是用GET方式发送通知信息,因此该页面中获取参数的方式,如:$_GET[‘out_trade_no’];

开心支付主动发起通知,该方式才会被启用;

只有在开心支付的交易管理中存在该笔交易,且发生了交易状态的改变,开心支付才会通过该方式发起服务器通知;

服务器间的交互,不像页面跳转同步通知可以在页面上显示出来,这种交互方式是不可见的;

第一次交易状态改变时,不仅会返回同步处理结果,而且服务器异步通知页面也会收到开心支付发来的处理结果通知;

程序执行完后必须打印输出“success”(不包含引号)。如果商户反馈给开心支付的字符不是success这7个字符,开心支付服务器会不断重发通知,直到超过10次通知;

程序执行完成后,该页面不能执行页面跳转。如果执行页面跳转,开心支付会收不到success字符,会被开心支付服务器判定为该页面程序运行出现异常,而重发处理结果通知;

cookies、session等在此页面会失效,即无法获取这些数据;

该方式的调试与运行必须在服务器上,即互联网上能访问;

该方式的作用主要防止订单丢失,即页面跳转同步通知没有处理订单更新,它则去处理;

当商户收到服务器异步通知并打印出success时,服务器异步通知参数才会失效。也就是说在开心支付发送同一条异步通知时(包含商户并未成功打印出success导致开心支付重发数次通知),服务器异步通知参数是不变的。


收款SDK下载

W_Sdk.zip
SDK版本:V1.1

代付SDK下载

W_Sdk.zip
SDK版本:V1.1