数字营销
标准API开放接口规范
1.文档说明
2.接口规则
3.标准接口定义
会员营销
3.1.1会员账户信息查询
3.1.2会员充值
3.1.13第三方优惠试算
3.1.5会员注册
3.1.6统一登录注册
3.1.7会员商户优惠试算
3.1.10会员基本信息查询
3.1.16会员绑储值卡
3.1.17会员实名
3.1.18会员充值查询
3.1.21会员绑定实体卡(开卡)
3.1.22会员卡密码修改
3.1.23会员调账
3.1.24会员调账查询
3.1.25会员状态变更
3.1.26发送短信验证码
3.1.28会员消费查询
3.1.29会员消费撤销
3.1.30会员消费撤销查询
3.1.31会员无密码消费
3.1.32会员消费
3.1.34会员信息更新
3.1.35会员账户流水
3.1.37 获取用户基本信息(OAuth2)
3.1.38 获取基础营销授权链接
3.3.1 H5页面调用绑定微信和手机号(GET)
3.3.2 H5页面调用绑定微信和外部顾客编号(GET)
卡券营销
3.2.1卡/券查询
3.2.2发卡/券
3.2.4卡/券作废
3.2.5卡/券核券撤销
3.2.7发卡/券(套券)
3.2.8发卡/券查询
3.2.9作废优惠券发券
3.2.10储值卡充值
3.2.11储值卡充值查询
3.2.12实体储值卡激活(单张)
3.2.13可发卡/券列表查询(套)
3.2.14卡/券批量查询
3.2.15卡/券鉴权
3.2.16卡/券动态二维码生成
3.2.17卡/券转赠
3.2.18卡/券发放查询
3.2.19卡/券核销查询
3.2.20卡/券核销撤销查询
3.2.21卡/券模板详情查询
3.2.22 卡/券交易流水查询
3.2.23储值卡调账
3.2.24储值卡调账查询
3.2.25 卡/券交易流水分页查询
3.2.26 作废卡/券发放
3.2.27卡/券核销
3.2.33卡/券动账流水
3.2.35券号查询该顾客同券模板下的券号列表
3.2.36卡/券冻结
3.2.45卡券延期
外部平台券
3.2.28第三方核券准备接口
3.2.29第三方核券接口
3.2.30第三方核券流水查询接口
3.2.31第三方撤销核券接口
3.2.32第三方券码查询接口
3.2.34第三方门店验券历史接口
3.2.35券号查询该顾客同券模板下的券号列表
3.2.38美团到店综合预约数据
3.2.39美团到店综合消费数据
3.2.40美团到店综合团单消费详情数据
3.2.41美团到店综合门店流量数据
3.2.42美团餐饮门店套餐映射
3.2.43美团到店综合门店商品信息
3.2.44抖音商品线上数据
3.2.46抖音综合提现记录查询
3.2.47抖音综合账单详情查询
3.2.48抖音订单查询
3.2.49抖音账单详细查询
3.2.50抖音券状态批量查询
订单同步
3.5.1外部订单同步
3.5.2外部订单查询
3.5.3外部订单同步撤销
3.5.17外部订单核销
3.5.18外部订单查询
3.5.19外部订单撤销
订单支付
3.5.9订单查询
3.5.10订单退款
3.5.11退款订单查询
3.5.12统一扫码
3.5.13终端信息采集
3.5.14统一支付
3.5.15 ISV收银台
3.5.16生成订单
3.5.20终端信息查询
3.5.23分账确认
3.5.24分账确认结果查询
7.1终端信息字段说明
7.2 splitList字段说明
账户类
3.9.1 资金管理余额查询
3.9.3 资金管理提现
3.9.4 资金管理提现结果查询
3.9.5 资金管理账户批量导入
3.9.6 资金管理账户查询
通知相关
3.10通知相关
5.1券核销通知
5.2会员注册/修改通知
5.3订单支付通知
5.4券核销撤销通知
5.5跨机构订单支付通知
5.6微信核销通知转发
5.7发券通知
5.8卡券充值通知
5.9支付宝核销通知转发
5.10 卡券变动通知
5.11 实体卡入库通知
5.13顾客注册/修改通知
5.15提现结果通知
5.16资金管理小b开通通知
对账文件
6.1对账文件
6.2 分账对账流水文件下载
6.3 对账流水文件下载
机构管理类
3.8.1外部门店信息同步
3.8.2 创建/修改机构用户
3.8.3 查询机构用户信息
3.8.4 机构统计信息查询
附录
7.1终端信息字段说明
7.2 splitList字段说明
7.3 店铺经营类型枚举
7.6 支付方式说明
7.7 paytypeinfo-支付方式参数说明
7.9渠道交易类型(trxCode)
7.10交易返回码(trxStatus)
7.11扩展参数说明
4.1 公共返回码(code)
4.开发参考
4.1 SDK参考概述
4.2 Java SDK
4.3 Python SDK
4.4 PHP SDK
4.5 GO SDK
4.6 C# SDK
一码付开放接口规范
1.接口说明
2.接口规则
3.标准API
3.1统一扫码
3.2统一撤销
3.3统一退款
3.4统一查询
3.5交易结果通知
3.6订单生成
3.7终端信息采集报备
3.8统一支付
3.9资金管理余额查询
3.10资金管理提现
3.11资金管理提现结果查询
3.12资金管理转账
3.13资金管理转账结果查询
3.14终端信息查询
3.15订单关闭
3.16ISV收银台
3.17ISV前端跳转
3.18对账流水文件下载
3.19根据授权码(付款码)获取用户ID
3.20资金管理提现通知
3.21分账/收款确认
3.22分账/收款确认结果查询
3.23资金管理转账通知
3.24资金管理批量转账
3.25资金管理批量转账结果查询
3.26B2B订单支付收款
3.27B2B订单支付付款
3.31代付
3.32代付订单查询
3.33资金管理交易文件查询
3.34收支明细查询
3.35交易列表查询
4.附录
4.1 接口返回码retcode说明
4.2 交易返回码trxstatus说明
4.3 交易类型
4.4 支付渠道优惠信息填写规范(benefitdetail字段)
4.5 拓展参数说明(extendparams)
4.6 终端信息字段说明
4.7 asinfo字段说明
4.8 交易方式
4.9 splitlist字段说明
4.10支付方式
4.11paytypeinfo-支付方式参数说明
4.12民生/平安银行转账子账簿信息
5.13微信订单支付(小程序资金管控)接入说明
5.开发参考
5.1 SDK参考概述
5.2 Java SDK
5.3 C# SDK
5.4 PHP SDK
5.5 GO SDK
5.6 C SDK
5.6.1 安装指南
5.6.2 使用示例
通惠API开放接口规范
1. 文档说明
2. 接口规则
3.标准接口定义
3.1会员信息类
3.3页面调用类
3.4 银行活动类
3.7 互动营销类
3.8 机构管理类
4.公共返回码
5.通知相关
6.对账文件类
7.开发参考
8.接口权限申请表下载
9.常见问题合集
通联核心产品文档中心
-
+
5.6.1 安装指南
# 安装指南 本文档详细说明如何安装和配置一码付 C SDK。 --- ## 系统要求 ### 操作系统 - Linux(Ubuntu 18.04+、CentOS 7+、Debian 9+) - macOS(10.14+) - Windows(通过 MinGW 或 MSVC) ### 编译器 - GCC 4.8+ 或 Clang 3.5+(支持 C99 标准) - 或 MSVC 2015+(Windows) ### 构建工具 - Make 或 CMake 3.10+ - pkg-config(用于查找依赖库) --- ## 依赖库安装 SDK 依赖以下第三方库: 1. **OpenSSL** (>= 1.1.0) - RSA 签名验签、SHA1 哈希 2. **libcurl** (>= 7.50.0) - HTTP 请求 3. **cJSON** (>= 1.7.0) - JSON 解析 ### Ubuntu/Debian ```bash # 更新包列表 sudo apt-get update # 安装依赖库 sudo apt-get install -y \ libssl-dev \ libcurl4-openssl-dev \ libcjson-dev \ build-essential \ pkg-config ``` ### CentOS/RHEL ```bash # 安装 EPEL 仓库(如果尚未安装) sudo yum install -y epel-release # 安装依赖库 sudo yum install -y \ openssl-devel \ libcurl-devel \ gcc \ make \ pkg-config # cJSON 需要从源码编译安装 git clone https://github.com/DaveGamble/cJSON.git cd cJSON mkdir build && cd build cmake .. make sudo make install sudo ldconfig ``` ### macOS 使用 Homebrew 安装: ```bash # 安装 Homebrew(如果尚未安装) /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" # 安装依赖库 brew install openssl curl cjson pkg-config ``` ### Windows (MinGW) 1. 安装 [MSYS2](https://www.msys2.org/) 2. 在 MSYS2 终端中安装依赖: ```bash # 更新包数据库 pacman -Syu # 安装依赖库 pacman -S mingw-w64-x86_64-gcc \ mingw-w64-x86_64-openssl \ mingw-w64-x86_64-curl \ mingw-w64-x86_64-cjson \ mingw-w64-x86_64-pkg-config \ make ``` --- ## SDK 编译 ### 方式 1:使用 Makefile ```bash # 克隆或下载 SDK 源码 cd allinpay-shopoint-sdk-c # 编译 SDK make # 编译成功后会生成以下文件: # - libocpay.so (动态库) # - libocpay.a (静态库) # - examples/basic_usage (示例程序) # - examples/query_transaction (示例程序) ``` ### 方式 2:使用 CMake ```bash # 克隆或下载 SDK 源码 cd allinpay-shopoint-sdk-c # 创建构建目录 mkdir build && cd build # 配置项目 cmake .. # 编译 make # 编译成功后会在 build 目录生成库文件和示例程序 ``` ### 编译选项 **Makefile 编译选项:** ```bash # 调试模式编译 make DEBUG=1 # 指定编译器 make CC=clang # 清理编译产物 make clean ``` **CMake 编译选项:** ```bash # 调试模式编译 cmake -DCMAKE_BUILD_TYPE=Debug .. # 指定安装路径 cmake -DCMAKE_INSTALL_PREFIX=/usr/local .. # 指定编译器 cmake -DCMAKE_C_COMPILER=clang .. ``` --- ## SDK 安装 ### 系统级安装 将 SDK 安装到系统目录(需要 root 权限): ```bash # 使用 Makefile sudo make install # 或使用 CMake cd build sudo make install ``` 默认安装路径: - 库文件:`/usr/local/lib/libocpay.so` 和 `/usr/local/lib/libocpay.a` - 头文件:`/usr/local/include/ocpay/*.h` ### 自定义安装路径 ```bash # 使用 Makefile sudo make install DESTDIR=/opt/ocpay # 使用 CMake cmake -DCMAKE_INSTALL_PREFIX=/opt/ocpay .. sudo make install ``` ### 更新动态库缓存 安装后需要更新动态库缓存: ```bash # Linux sudo ldconfig # macOS sudo update_dyld_shared_cache ``` ### 用户级安装(无需 root 权限) 如果没有 root 权限,可以安装到用户目录: ```bash # 安装到用户目录 make install DESTDIR=$HOME/.local # 添加到环境变量 export LD_LIBRARY_PATH=$HOME/.local/lib:$LD_LIBRARY_PATH export C_INCLUDE_PATH=$HOME/.local/include:$C_INCLUDE_PATH ``` --- ## 配置 SDK ### 方式 1:使用配置文件 创建配置文件 `config.json`: ```json { "app_id": "your_app_id", "sign_type": "RSA", "private_key": "-----BEGIN RSA PRIVATE KEY-----\nMIIEpAIBAAKCAQEA...\n-----END RSA PRIVATE KEY-----", "public_key": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A...\n-----END PUBLIC KEY-----", "debug_enabled": 1 } ``` **字段说明:** - `app_id`:应用 ID(必填) - `sign_type`:签名类型,支持 "RSA"、"SM2"、"MD5"(必填) - `private_key`:RSA 私钥,PEM 格式(必填) - `public_key`:RSA 公钥,PEM 格式(必填) - `debug_enabled`:调试模式,1=开启,0=关闭(可选,默认 0) **注意事项:** 1. 私钥和公钥必须是 PEM 格式 2. JSON 中的换行符需要使用 `\n` 转义 3. 不要将配置文件提交到版本控制系统 4. 建议将配置文件权限设置为 600:`chmod 600 config.json` ### 方式 2:使用环境变量 ```bash # 设置环境变量 export OCPAY_APP_ID="your_app_id" export OCPAY_SIGN_TYPE="RSA" export OCPAY_PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY----- MIIEpAIBAAKCAQEA... -----END RSA PRIVATE KEY-----" export OCPAY_PUBLIC_KEY="-----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A... -----END PUBLIC KEY-----" export OCPAY_DEBUG=1 ``` **或者从文件读取:** ```bash # 将密钥保存到文件 cat > private_key.pem << 'EOF' -----BEGIN RSA PRIVATE KEY----- MIIEpAIBAAKCAQEA... -----END RSA PRIVATE KEY----- EOF cat > public_key.pem << 'EOF' -----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A... -----END PUBLIC KEY----- EOF # 设置文件权限 chmod 600 private_key.pem public_key.pem # 设置环境变量指向文件 export OCPAY_APP_ID="your_app_id" export OCPAY_SIGN_TYPE="RSA" export OCPAY_PRIVATE_KEY="$(cat private_key.pem)" export OCPAY_PUBLIC_KEY="$(cat public_key.pem)" export OCPAY_DEBUG=1 ``` --- ## 验证安装 ### 编译测试程序 创建测试文件 `test.c`: ```c #include <stdio.h> #include "ocpay_sdk.h" int main() { printf("一码付 SDK 版本测试\n"); // 创建配置对象 ocpay_config_t *config = ocpay_config_create(); if (!config) { fprintf(stderr, "创建配置对象失败\n"); return -1; } printf("✓ SDK 安装成功\n"); ocpay_config_free(config); return 0; } ``` 编译并运行: ```bash # 编译 gcc -o test test.c -locpay -lssl -lcrypto -lcurl -lcjson # 运行 ./test ``` 如果输出 "✓ SDK 安装成功",说明安装成功。 ### 运行示例程序 ```bash # 进入示例目录 cd examples # 创建配置文件(使用模板) cp config.template.json config.json # 编辑 config.json,填入真实的配置信息 vim config.json # 运行基本使用示例 ./basic_usage # 运行交易查询示例 ./query_transaction PN20240101120000abcdef ``` --- ## 故障排除 ### 问题 1:找不到头文件 **错误信息:** ``` fatal error: ocpay_sdk.h: No such file or directory ``` **解决方法:** ```bash # 方法 1:指定头文件路径 gcc -I/usr/local/include/ocpay -o test test.c -locpay # 方法 2:添加到环境变量 export C_INCLUDE_PATH=/usr/local/include/ocpay:$C_INCLUDE_PATH ``` ### 问题 2:找不到库文件 **错误信息:** ``` /usr/bin/ld: cannot find -locpay ``` **解决方法:** ```bash # 方法 1:指定库文件路径 gcc -o test test.c -L/usr/local/lib -locpay # 方法 2:添加到环境变量 export LIBRARY_PATH=/usr/local/lib:$LIBRARY_PATH ``` ### 问题 3:运行时找不到动态库 **错误信息:** ``` error while loading shared libraries: libocpay.so: cannot open shared object file ``` **解决方法:** ```bash # 方法 1:更新动态库缓存 sudo ldconfig # 方法 2:添加到 LD_LIBRARY_PATH export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH # 方法 3:使用静态库 gcc -o test test.c /usr/local/lib/libocpay.a -lssl -lcrypto -lcurl -lcjson ``` ### 问题 4:OpenSSL 版本不兼容 **错误信息:** ``` undefined reference to `EVP_MD_CTX_new' ``` **解决方法:** 这通常是因为 OpenSSL 版本过低(< 1.1.0)。请升级 OpenSSL: ```bash # Ubuntu/Debian sudo apt-get install libssl-dev # CentOS/RHEL sudo yum install openssl11-devel # macOS brew upgrade openssl ``` ### 问题 5:cJSON 库未找到 **错误信息:** ``` Package libcjson was not found in the pkg-config search path ``` **解决方法:** 从源码编译安装 cJSON: ```bash git clone https://github.com/DaveGamble/cJSON.git cd cJSON mkdir build && cd build cmake .. make sudo make install sudo ldconfig ``` ### 问题 6:编译警告 **警告信息:** ``` warning: implicit declaration of function 'xxx' ``` **解决方法:** 确保包含了正确的头文件: ```c #include "ocpay_sdk.h" #include "ocpay_config.h" #include "ocpay_response.h" #include "ocpay_errors.h" ``` --- ## 卸载 SDK ### 卸载系统级安装 ```bash # 删除库文件 sudo rm -f /usr/local/lib/libocpay.so sudo rm -f /usr/local/lib/libocpay.a # 删除头文件 sudo rm -rf /usr/local/include/ocpay # 更新动态库缓存 sudo ldconfig ``` ### 卸载用户级安装 ```bash # 删除用户目录中的文件 rm -rf $HOME/.local/lib/libocpay.* rm -rf $HOME/.local/include/ocpay ``` --- ## 下一步 - 阅读 [API 文档](API.md) 了解详细的接口说明 - 查看 [使用示例](EXAMPLES.md) 学习常见使用场景 - 查看 `examples/` 目录中的示例代码 --- ## 获取帮助 如果遇到安装问题,请: 1. 检查系统是否满足要求 2. 确认所有依赖库已正确安装 3. 查看本文档的故障排除部分 4. 联系技术支持或提交 Issue
陈志平chenzp3
2026年3月10日 10:37
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Word文件
PDF文档
分享
链接
类型
密码
更新密码
有效期