V1 旧版接口文档

    目录


    协议规则

    • 请求数据格式:application/x-www-form-urlencoded
    • 返回数据格式:JSON
    • 签名算法:MD5
    • 字符编码:UTF-8

    页面跳转支付

    此接口可用于用户前台直接发起支付,使用 form 表单跳转或拼接成 URL 跳转。

    URL 地址: https://www.okopay.cn/submit.php

    请求方式: POST 或 GET(推荐 POST,不容易被劫持或屏蔽)

    请求参数说明

    字段名变量名必填类型示例值描述
    商户 IDpidInt1001
    支付方式typeStringalipay支付方式列表
    商户订单号out_trade_noString20160806151343349
    异步通知地址notify_urlStringhttp://www.pay.com/notify_url.php服务器异步通知地址
    跳转通知地址return_urlStringhttp://www.pay.com/return_url.php页面跳转通知地址
    商品名称nameStringVIP会员如超过 127 个字节会自动截取
    商品金额moneyString1.00单位:元,最大 2 位小数
    业务扩展参数paramString没有请留空支付后原样返回
    签名字符串signString202cb962ac59075b964b07152d234b70MD5 签名算法
    签名类型sign_typeStringMD5默认为 MD5
    说明: 支付方式(type)不传会跳转到收银台支付。

    API接口支付

    此接口可用于服务器后端发起支付请求,会返回支付二维码链接或支付跳转 URL。

    URL 地址: https://www.okopay.cn/mapi.php

    请求方式: POST

    请求参数说明

    字段名变量名必填类型示例值描述
    商户 IDpidInt1001
    支付方式typeStringalipay支付方式列表
    商户订单号out_trade_noString20160806151343349
    异步通知地址notify_urlStringhttp://www.pay.com/notify_url.php服务器异步通知地址
    跳转通知地址return_urlStringhttp://www.pay.com/return_url.php页面跳转通知地址
    商品名称nameStringVIP会员如超过 127 个字节会自动截取
    商品金额moneyString1.00单位:元,最大 2 位小数
    用户 IP 地址clientipString192.168.1.100用户发起支付的 IP 地址
    设备类型deviceStringpc根据用户浏览器 UA 判断;设备类型列表;默认为 pc
    业务扩展参数paramString没有请留空支付后原样返回
    签名字符串signString202cb962ac59075b964b07152d234b70MD5 签名算法
    签名类型sign_typeStringMD5默认为 MD5

    返回结果(JSON)

    字段名变量名类型示例值描述
    返回状态码codeInt11 为成功,其它值为失败
    返回信息msgString 失败时返回原因
    订单号trade_noString20160806151343349支付订单号
    支付跳转 URLpayurlStringhttps://www.okopay.cn/pay/wxpay/202010903/若返回该字段,则直接跳转到该 URL 支付
    二维码链接qrcodeStringweixin://wxpay/bizpayurl?pr=04IPMKM若返回该字段,则根据该 URL 生成二维码
    小程序跳转 URLurlschemeStringweixin://dl/business/?ticket=xxx若返回该字段,则使用 JS 跳转,可发起微信小程序支付
    说明: payurlqrcodeurlscheme 三个参数只会返回其中一个。

    支付结果通知

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

    请求方式: GET

    请求参数说明

    字段名变量名必填类型示例值描述
    商户 IDpidInt1001
    平台订单号trade_noString20160806151343349021支付系统侧订单号
    商户订单号out_trade_noString20160806151343349商户系统内部的订单号
    支付方式typeStringalipay支付方式列表
    商品名称nameStringVIP会员
    商品金额moneyString1.00
    支付状态trade_statusStringTRADE_SUCCESS只有 TRADE_SUCCESS 表示成功
    业务扩展参数paramString
    签名字符串signString202cb962ac59075b964b07152d234b70MD5 签名算法
    签名类型sign_typeStringMD5默认为 MD5
    说明: 收到异步通知后,需返回 success 以表示服务器接收到了订单通知。

    MD5 签名算法

    1. 将发送或接收到的所有参数按照参数名 ASCII 码从小到大排序(a-z),signsign_type 和空值不参与签名
    2. 将排序后的参数拼接成 URL 键值对格式,例如 a=b&c=d&e=f参数值不要进行 URL 编码
    3. 再将拼接好的字符串与商户密钥 KEY 进行 MD5 加密得出 sign 签名参数:sign = md5( 拼接字符串 + KEY )(注意:+ 为各语言的拼接符,不是字符!),md5 结果为小写
    4. 具体签名与发起支付的示例代码可下载 SDK 查看(见文末 SDK 下载)。

    支付方式列表

    调用值描述
    alipay支付宝
    wxpay微信支付
    qqpayQQ 钱包
    bank银联支付
    jdpay京东支付
    paypalPayPal
    douyinpay抖音支付

    设备类型列表

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

    API:查询商户信息

    URL 地址:

    https://www.okopay.cn/api.php?act=query&pid={商户ID}&key={商户密钥}

    请求参数说明

    字段名变量名必填类型示例值描述
    操作类型actStringquery此 API 固定值
    商户 IDpidInt1001
    商户密钥keyString89unJUB8HZ54Hj7x4nUj56HN4nUzUJ8i

    返回结果

    字段名变量名类型示例值描述
    返回状态码codeInt11 为成功,其它值为失败
    商户 IDpidInt1001
    商户密钥keyString(32)89unJUB8HZ54Hj7x4nUj56HN4nUzUJ8i
    商户状态activeInt11 为正常,0 为封禁
    商户余额moneyString0.00商户所拥有的余额
    结算方式typeInt11:支付宝,2:微信,3:QQ,4:银行卡
    结算账号accountStringadmin@pay.com结算账号
    结算姓名usernameString张三结算姓名
    订单总数ordersInt30订单总数统计
    今日订单order_todayInt15今日订单数量
    昨日订单order_lastdayInt15昨日订单数量

    API:查询结算记录

    URL 地址:

    https://www.okopay.cn/api.php?act=settle&pid={商户ID}&key={商户密钥}

    请求参数说明

    字段名变量名必填类型示例值描述
    操作类型actStringsettle此 API 固定值
    商户 IDpidInt1001
    商户密钥keyString89unJUB8HZ54Hj7x4nUj56HN4nUzUJ8i

    返回结果

    字段名变量名类型示例值描述
    返回状态码codeInt11 为成功
    返回信息msgString查询结算记录成功!
    结算记录dataArray结算记录列表

    API:查询单个订单

    URL 地址:

    https://www.okopay.cn/api.php?act=order&pid={商户ID}&key={商户密钥}&out_trade_no={商户订单号}

    (也可使用 trade_no 传系统订单号,见下表。)

    请求参数说明

    字段名变量名必填类型示例值描述
    操作类型actStringorder此 API 固定值
    商户 IDpidInt1001
    商户密钥keyString89unJUB8HZ54Hj7x4nUj56HN4nUzUJ8i
    系统订单号trade_no选择String20160806151343312
    商户订单号out_trade_no选择String20160806151343349

    提示: 系统订单号与商户订单号二选一传入即可;若都传入,以系统订单号为准。

    返回结果

    字段名变量名类型示例值描述
    返回状态码codeInt11 为成功,其它值为失败
    返回信息msgString查询订单号成功!
    平台订单号trade_noString2016080622555342651支付系统侧订单号
    商户订单号out_trade_noString20160806151343349商户系统内部的订单号
    第三方订单号api_trade_noString20160806151343349支付宝、微信等接口方订单号
    支付方式typeStringalipay支付方式列表
    商户 IDpidInt1001发起支付的商户 ID
    创建订单时间addtimeString2016-08-06 22:55:52
    完成交易时间endtimeString2016-08-06 22:55:52
    商品名称nameStringVIP会员
    商品金额moneyString1.00
    支付状态statusInt01 为支付成功,0 为未支付
    业务扩展参数paramString 默认留空
    支付者账号buyerString 默认留空

    API:批量查询订单

    URL 地址:

    https://www.okopay.cn/api.php?act=orders&pid={商户ID}&key={商户密钥}

    请求参数说明

    字段名变量名必填类型示例值描述
    操作类型actStringorders此 API 固定值
    商户 IDpidInt1001
    商户密钥keyString89unJUB8HZ54Hj7x4nUj56HN4nUzUJ8i
    查询订单数量limitInt20最大 50
    页码pageInt1当前查询的页码

    返回结果

    字段名变量名类型示例值描述
    返回状态码codeInt11 为成功
    返回信息msgString查询结算记录成功!
    订单列表dataArray 订单列表

    API:提交订单退款

    注意: 需要先在商户后台开启「订单退款 API」开关,才能调用该接口发起订单退款。

    URL 地址: https://www.okopay.cn/api.php?act=refund

    请求方式: POST

    请求参数说明

    字段名变量名必填类型示例值描述
    商户 IDpidInt1001
    商户密钥keyString89unJUB8HZ54Hj7x4nUj56HN4nUzUJ8i
    平台订单号trade_no特殊可选String20160806151343349021out_trade_no 不能同时为空;都传时以 trade_no 为准
    商户订单号out_trade_no特殊可选String20160806151343349下单时传入的商户订单号,须在商家系统中唯一
    退款金额moneyString1.50少数通道需要与原订单金额一致

    返回结果

    字段名变量名类型示例值描述
    返回状态码codeInt00 为成功,其它为失败
    返回信息msgString退款成功

    SDK下载

    SDK.zip

    版本:V1.3