关于开放平台

飞瀚开放平台面向广大开发者,提供线上数字营销、企业福利等一站式解决方案。商户及开发者可查阅平台 API 文档,了解当前已开放的各类业务接口,灵活选用在线直充、卡密发放、实物购买等服务并自主完成接口对接。平台具备完善的商品与活动支撑能力,可全面满足商户综合权益运营需求,助力企业实现福利发放、活动营销等多场景应用。

我司作为虚拟商品充值供应商,简称 CP;调用我方接口开展业务的合作商户,统一称为业务合作方(SP)。

平台服务概览

🚀

申请接入

当您需要飞翰开放平台提供对接服务时,即可提交申请,我们十分欢迎您,并安排专人为您对接!

📖

开发指南

您可在此详细了解对接业务的各种规范,帮您快速开发。

🛠️

常用工具

您可以在此查看常见问题,下载SDK以及其他开发工具。

📋

API 文档

了解飞翰开放平台目前提供的所有可对接的业务接口以及对接方案详情。

关于接口的说明

数据传输格式:该接口使用HTTP协议,请求数据传输格式如下:

【接口URL】?【参数名称1】=【参数值1】&【参数名称2】=【参数值2】……

联调环境

地址 http://apitest.ofpay.com
userid A08566
userpws md5(of111111) 小写
秘钥(keystr) OFCARD

⚠️ 该数据只能测试环境使用,正式环境禁止使用测试账号。

对接流程

1

创建项目

会员实名认证后登陆 api.ofpay.com 创建项目,通过我司商务审核之后生成一个A开头的编号(如A08566)。

2

IP白名单

向我司对接商务提供SP服务器的出口IP地址(可多个IP)和秘钥(keystr)进行绑定。

3

商品价格设定

通知我司商务商品设定协议价格。

4

资金权限开通

通知我司商务开通账户资金权限和商品资金权限。

5

账户充值

向我司账户上打款后,方可正式下单。

6

对账方式

SP可以登陆接口后台查看交易记录进行对账,也可以使用对账接口进行自动对账。

生产环境地址:api2.ofpay.com(支持HTTP和HTTPS)

开发指南

HTTP请求方式:POST, GET

签名算法(MD5)

MD5签名计算方法
包体 = 参数1 + 参数2 + ... + KeyStr
md5_str = md5(包体).toUpperCase()  // 32位大写
KeyStr(秘钥):必须由客户提供给欧飞商务进行绑定,否则签名验证失败。KeyStr不在接口间进行传输。

全局返回值

参数名 类型 说明
retcode string 操作返回代码,1成功,其他数字具体错误在err_msg返回
err_msg string 错误描述,如请求得到正确返回,此处将为空

订单状态说明

状态码 说明
0 充值中
1 充值成功
9 充值失败(可退款)
-1 查不到订单(需人工核实)

基础接口

用户余额查询

v6.0

此接口可以查询SP用户的信用点余额,可以提醒SP商户补充信用点

POST/GET http://apitest.ofpay.com/newqueryuserinfo.do

输入参数

名称 是否必须 类型 备注
userid string SP项目编码,如A08566
userpws string 项目密码的md5值(32位小写)
version string 固定值6.0

返回参数

名称 类型 备注
retcode string 1成功
totalBalance string 账户余额
oufeiBalance string 欧飞账户资金余额
feihanBalance string 飞翰资金账户余额

返回示例

<?xml version="1.0" encoding="GB2312"?>
<userinfo>
  <err_msg/>
  <retcode>1</retcode>
  <userId>A08566</userId>
  <totalBalance>100120801.5</totalBalance>
  <oufeiBalance>100120301.5</oufeiBalance>
  <feihanBalance>500</feihanBalance>
</userinfo>

商品详情查询

v6.0

根据商品编号查询商品信息

POST/GET http://apitest.ofpay.com/querycardinfo.do

输入参数

名称 是否必须 类型 备注
userid string SP项目编码
userpws string 项目密码md5值(32位小写)
cardid string 商品编号,由我司商务提供
version string 固定值6.0

返回示例

<?xml version="1.0" encoding="gb2312"?>
<cardinfo>
  <err_msg></err_msg>
  <retcode>1</retcode>
  <ret_cardinfos>
    <card>
      <cardid>220612</cardid>
      <pervalue>1</pervalue>
      <inprice>1</inprice>
      <cardname>Q币1元直充</cardname>
      <innum>30</innum>
    </card>
  </ret_cardinfos>
</cardinfo>

订单充值状态查询

v6.0

此接口用于下单之后查询充值状态

POST/GET http://apitest.ofpay.com/api/query.do

输入参数

名称 是否必须 类型 备注
userid string SP项目编码
spbillid string SP商户订单号

返回状态

状态码 说明
0 充值中(需要等待结果)
1 充值成功
9 充值失败(可给客户退款)
-1 查不到此订单(不能作为失败处理)

订单详情查询

v6.0

根据外部订单号查询订单详情,支持XML和JSON格式返回

POST/GET http://apitest.ofpay.com/queryOrderInfo.do
签名算法
包体 = userid + userpws + sporder_id
md5_str = md5(包体 + KeyStr).toUpperCase()

输入参数

名称 是否必须 类型 备注
userid string SP项目编码
userpws string 项目密码md5值
sporder_id string 商家下单时传入的订单号
md5_str string 签名串
version string 固定值6.0
format string xml或json,默认xml

对账接口

订单列表查询

v6.0

⚠️ 此接口只查询3天内的订单

POST/GET http://apitest.ofpay.com/querybill.do
签名算法
包体 = userid + userpws + cardid + starttime + endtime
md5_str = md5(包体 + KeyStr).toUpperCase()

输入参数

名称 是否必须 类型 备注
userid string SP项目编码
userpws string 项目密码md5值
cardid string 商品编码,不填为全部
orderstat int 订单状态,默认5
classtype int 类目编号,默认0所有
starttime string 开始时间(yyyyMMdd)
endtime string 结束时间(yyyyMMdd)
md5_str string 签名串
version string 固定值6.0

返回格式

CP流水号|SP订单号|商品编号|商品数量|充值账号|订单金额|订单时间|订单状态
订单总数:xxx|订单总额:xxx

账务明细查询

v6.0

⚠️ 不可跨月查询

POST/GET http://apitest.ofpay.com/financeQuery.do
签名算法
包体 = userid + userpws + starttime + endtime + pagenum + pagesize
md5_str = md5(包体 + KeyStr).toUpperCase()

直充接口

归属地查询

v6.0

⚠️ 接口不支持json格式请求

POST/GET http://apitest.ofpay.com/queryMobileInfo.do

输入参数

名称 是否必须 类型 备注
userid string SP项目编码
phoneno string 7或11位手机号码

返回示例

{"city":"广州","operator":"移动","phoneNo":"1581585","province":"广东","retCode":"1"}

直充下单

v6.0

直充卡密类通用接口,支持话费、流量,游戏等多种直充和卡密

POST/GET http://apitest.ofpay.com/newOnlineOrder.do
签名算法
包体 = userId + userPws + cardId + buyNum + spOrderId + orderTime + customerNo
md5Str = md5(包体 + KeyStr).toUpperCase()

输入参数

名称 是否必须 类型 备注
userId string SP项目编码
userPws string 项目密码md5值(32位小写)
cardId string 商品编码,话费固定值140101
buyNum string 购买数量
spOrderId string Sp商家的订单号,唯一
orderTime string 订单时间(yyyyMMddHHmmss)
customerNo string 充值账号
md5Str string 签名
retUrl string 充值回调地址
version string 固定值6.0

下单回调说明

  • retUrl 不为空时,系统将在有结果时发送成功信息
  • 回调参数:ret_code(1成功/9撤销)、sporder_idordersuccesstimeerr_msg
  • 提交方式:POST

实物接口

物流查询

v6.0
POST/GET http://api2.ofpay.com/queryExpressTrack

输入参数

名称 是否必须 类型 备注
userId string SP项目编码
userPws string 项目密码md5值(32位小写)
spOrderId string 商家传给欧飞的唯一单号
expressNo string 物流单号
expressCompanyNo string 物流公司编号
md5Str string 签名串
version string 固定值6.0

实物下单

v6.0

实物下单接口,与直充下单共用接口,需要额外传 receiveInfo 参数

POST/GET http://api2.ofpay.com/newOnlineOrder.do

额外请求参数

名称 是否必须 类型 备注
receiveInfo string 收件人信息(JSON,URLEncodeGBK编码)

receiveInfo格式

{
  "receiverName": "收件人姓名",
  "receiverMobile": "收件人手机号",
  "address": "详细地址(必须包含省市)"
}

实物下单回调说明

  • 下单回调:系统请求 ret_code(1成功/9失败)、sporder_idordersuccesstimeerr_msg
  • 发货回调:orderType=PHYSICALexpressNoexpressCompanyTyperet_code=2表示发货

错误码列表

Code Msg
1 成功
1001 商户名验证错误
1002 商户IP验证错误
1003 MD5串验证错误
1004 此商品暂不可用
1005 购买的商品数量超出系统要求
1006 充值金额超出系统限制
1007 账户金额不足
1008 缺少必需参数
1010 查询结果为空
12 库存不足
319 充值的手机号不正确
321 暂时不支持此类手机号的充值
331 订单生成失败
4001 支付异常
2015 对账接口维护
9998 参数格式错误
9999 未知错误(不能作失败处理,需要人工核实)

接口地址

环境 地址
测试环境 http://apitest.ofpay.com
生产环境 http://api2.ofpay.com (HTTP/HTTPS)