发布时间:2021-03-01 | 浏览量:66800

码支付开发文档

一、协议基础规则

二、页面跳转支付接口

适用于用户前台直接发起支付,支持form表单跳转或URL拼接跳转。

接口地址:https://域名/submit.php

请求方式:POST / GET(推荐POST,防劫持屏蔽)

请求参数说明

字段名 变量名 必填 类型 示例值 描述
商户ID pid Int 1001
支付方式 type String alipay 支付方式
商户订单号 out_trade_no String 20160806151343349
异步通知地址 notify_url String http://www.pay.com/notify_url.php 服务器异步通知地址
跳转通知地址 return_url String http://www.pay.com/return_url.php 页面跳转通知地址
商品名称 name String VIP会员 超过127字节自动截取
商品金额 money String 1.00 单位元,最多两位小数
业务扩展参数 param String 支付后原样返回,无则留空
签名字符串 sign String 202cb962ac59075b964b07152d234b70 MD5签名结果
签名类型 sign_type String MD5 固定MD5

提示:type参数不传,会自动跳转通用收银台页面选择支付渠道

三、API接口支付(后端调用)

后端服务发起支付,返回支付二维码链接或跳转URL

接口地址:https://域名/mapi.php

请求方式:仅POST

请求参数

字段名 变量名 必填 类型 示例值 描述
商户ID pid Int 1001
支付方式 type String alipay 支付渠道标识
商户订单号 out_trade_no String 20160806151343349
异步通知地址 notify_url String http://www.pay.com/notify_url.php 服务端回调地址
跳转通知地址 return_url String http://www.pay.com/return_url.php 支付完成跳转页面
商品名称 name String VIP会员 超长自动截断
商品金额 money String 1.00 单位元,两位小数
用户IP地址 clientip String 192.168.1.100 用户真实访问IP
设备类型 device String pc 默认pc,区分手机/微信/QQ环境
业务扩展参数 param String 自定义透传参数
签名字符串 sign String 202cb962ac59075b964b07152d234b70 MD5签名
签名类型 sign_type String MD5 固定MD5

接口返回JSON字段

字段名 变量名 类型 示例值 描述
返回状态码 code Int 1 1成功,其他数字失败
返回信息 msg String 失败时返回错误原因
平台订单号 trade_no String 20160806151343349 系统内部订单ID
支付跳转链接 payurl String https://pay.akwl.top/pay/wxpay/xxx 页面跳转支付地址
二维码链接 qrcode String weixin://wxpay/bizpayurl?pr=xxx 生成二维码使用
小程序唤起链接 urlscheme String weixin://dl/business/?ticket=xxx 微信小程序支付唤起

注:payurl、qrcode、urlscheme 三个返回字段只会返回其中一个

四、支付结果异步/同步通知

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

请求方式:GET

字段名 变量名 必填 类型 示例值 描述
商户ID pid Int 1001
平台订单号 trade_no String 20160806151343349021 聚合支付订单号
商户订单号 out_trade_no String 20160806151343349 商户本地订单号
支付渠道 type String alipay 支付方式标识
商品名称 name String VIP会员
支付金额 money String 1.00
支付状态 trade_status String TRADE_SUCCESS 仅该值代表支付成功
扩展参数 param String 透传自定义内容
签名字符串 sign String 202cb962ac59075b964b07152d234b70 MD5校验签名
签名类型 sign_type String MD5

重要:收到异步通知后,页面必须输出 success 字符串,代表接收成功,否则平台会重复推送通知

五、MD5签名算法规则

六、公共枚举对照表

支付方式列表(type)

调用值 描述
alipay 支付宝
wxpay 微信支付
qqpay QQ钱包

设备类型列表(device)

调用值 描述
pc 电脑浏览器
mobile 手机浏览器
qq 手机QQ内置浏览器
wechat 微信内置浏览器
alipay 支付宝客户端
jump 仅返回跳转链接

七、商户信息查询API

接口地址:https://域名/api.php?act=query&pid={商户ID}&key={商户密钥}

请求参数

字段名 变量名 必填 类型 示例 说明
操作类型 act String query 固定值
商户ID pid Int 1001
商户密钥 key String 89unJUB8HZ54Hj7x4nUj56HN4nUzUJ8i 后台获取

返回参数

字段 变量 类型 示例 说明
状态码 code Int 1 1成功
商户ID pid Int 1001
商户密钥 key String 89unJUB8HZ54Hj7x4nUj56HN4nUzUJ8i
商户状态 active Int 1 1正常 0封禁
账户余额 money String 0.00
结算方式 type Int 1 1支付宝2微信3QQ4银行卡
结算账号 account String admin@pay.com
结算姓名 username String 张三
总订单数 orders Int 30
今日订单 order_today Int 15
昨日订单 order_lastday Int 15

八、单订单查询API

接口地址:https://域名/api.php?act=order&pid={商户ID}&key={商户密钥}&out_trade_no={商户订单号}

请求参数

字段名 变量名 必填 类型 示例 说明
操作类型 act String order 固定值
商户ID pid Int 1001
商户密钥 key String 89unJUB8HZ54Hj7x4nUj56HN4nUzUJ8i
平台订单号 trade_no 二选一 String 20160806151343312
商户订单号 out_trade_no 二选一 String 20160806151343349 两者同时传入以平台订单号为准

返回参数

字段 变量 类型 示例 说明
状态码 code Int 1 1成功
返回提示 msg String 查询订单号成功!
平台订单号 trade_no String 2016080622555342651
商户订单号 out_trade_no String 20160806151343349
第三方支付单号 api_trade_no String 20160806151343349 微信/支付宝原始订单号
支付渠道 type String alipay
商户ID pid Int 1001
创建时间 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未支付
扩展参数 param String 自定义透传内容
付款账号 buyer String 部分渠道不返回

九、批量订单查询API

接口地址:https://域名/api.php?act=orders&pid={商户ID}&key={商户密钥}

请求参数

字段名 变量名 必填 类型 示例 说明
操作类型 act String orders 固定值
商户ID pid Int 1001
商户密钥 key String 89unJUB8HZ54Hj7x4nUj56HN4nUzUJ8i
查询条数 limit Int 20 最大50条
页码 page Int 1 分页查询

返回参数

字段 变量 类型 示例 说明
状态码 code Int 1 1成功
返回提示 msg String 查询结算记录成功!
订单数组 data Array 数组内单订单结构同上一节