拉 卡 拉 互 联 网 POS+ 项 目 收 单 应 用 调 用 接 口 说 明 拉 卡 拉 商 服 公 司 二 一 五 年 八 月 1
文 档 级 别 项 目 组 产 品 部 测 试 部 编 写 者 项 目 组 版 本 1.08 创 建 日 期 2015-08-10 最 后 修 改 日 期 2016-01-22 文 档 修 改 记 录 版 本 修 改 日 期 修 改 人 说 明 1.00 2015-08-10 项 目 组 初 稿 1.01 2015-10-05 项 目 组 增 加 订 单 数 据 1.02 2015-11-02 项 目 组 增 加 撤 销 交 易 1.03 2015-11-11 项 目 组 增 加 交 易 取 消 返 回 1.04 2015-12-22 项 目 组 增 加 扫 码 交 易 返 回 订 单 号 1.05 2015-12-23 项 目 组 增 加 检 索 参 考 号 和 打 印 信 息 域 1.06 2016-01-06 项 目 组 增 加 扫 码 补 单 调 用, 增 加 交 易 时 间 1.07 2016-01-08 项 目 组 增 加 结 算 调 用 1.08 2016-01-08 项 目 组 添 加 增 加 支 付 方 式 返 回 1.09 2016-01-18 项 目 组 添 加 增 加 附 加 数 据 域 及 打 印 页 面 配 置 项 1.10 2016-01-20 项 目 组 增 加 撤 销 类 交 易 和 查 询 类 交 易 1.11 2016-01-22 项 目 组 增 加 多 商 户 类 交 易
目 录 第 1 章 引 言...4 1.1 编 写 目 的...4 1.2 阅 读 人 员...4 1.3 参 考 文 档...4 第 2 章 调 用 方 式 说 明...4 第 3 章 调 用 数 据 接 口...5 3.1 接 口 说 明...5 附 录 A: 调 用 参 考 样 例...10 第 1 章 引 言...4 1.1 编 写 目 的...4 1.2 阅 读 人 员...4 1.3 参 考 文 档...4 第 2 章 调 用 方 式 说 明...4 第 3 章 调 用 数 据 接 口...5 3.1 交 易 类...5 3.2 查 询 类...8 3.3 多 商 户 交 易...9 附 录 A: 调 用 参 考 样 例...13 附 录 B: 交 易 详 情 JSON 结 构...15 附 录 C: 应 答 码 说 明...15
第 1 章 引 言 1.1 编 写 目 的 本 文 档 描 述 拉 卡 拉 POS+ 项 目 终 端 上 其 他 APP 调 用 收 单 支 付 应 用 支 付 功 能 组 件 的 接 口 说 明, 包 括 调 用 方 式 和 样 例 数 据 交 互 格 式 等 等 1.2 阅 读 人 员 本 文 档 的 阅 读 使 用 范 围 为 参 加 项 目 建 设 的 拉 卡 拉 商 服 公 司 以 及 拉 卡 拉 商 服 公 司 授 权 的 第 三 方 合 作 方 研 发 产 品 开 发 等 相 关 人 员 该 文 档 未 经 许 可 不 得 外 传 1.3 参 考 文 档 lakala8583 实 施 规 范 V1.0.4 第 2 章 调 用 方 式 说 明 调 用 者 与 被 调 用 组 件 间, 采 用 显 式 意 图 (Explicit Intents) 进 行 信 息 交 互 调 用 者 使 用 startactivityforresult(intent intent, int requestcode) 启 用 收 单 支 付 应 用 支 付 功 能 组 件, 其 中 intent 对 象 调 用 setcomponent 方 法 设 定 收 单 支 付 应 用 包 名 和 支 付 功 能 组 件, 即 : com.lkl.cloudpos.payment" "com.lkl.cloudpos.payment.activity.mainmenuactivity" 同 时, 调 用 者 还 需 要 重 写 回 调 函 数 onactivityresult(int requestcode, int resultcode, Intent data) 获 取 支 付 功 能 组 件 返 回 的 结 果, 参 数 resultcode 取 值 Activity.RESULT_OK 和 Activity.RESULT_CANCELED, 分 别 表 示 支 付 成 功 和 失 败
收 单 支 付 应 用 功 能 组 件 处 理 完 支 付 功 能 后, 使 用 setresult(int resultcode, Intent data) 返 回 支 付 调 用 结 果, 参 数 resultcode 取 值 亦 是 Activity.RESULT_OK 和 Activity.RESULT_CANCELED 参 考 样 例 参 见 附 录 A 第 3 章 调 用 数 据 接 口 Intent 对 象 通 过 Bundle 类 携 带 数 据 信 息 以 下 说 明 各 个 交 易 在 Bundle 类 调 用 putstring(string key, String value) 方 法 时 的 key-value 域 值 3.1 接 口 说 明 交 易 类 域 内 容 数 据 类 型 键 (KEY) 值 (VALUE) 备 注 请 求 应 答 报 文 类 型 String msg_tp 0200 0210 固 定 值, 只 区 分 请 求 和 应 答. 支 付 方 式 String pay_tp 0- 银 行 卡 1- 扫 码 1- 微 信 2- 支 付 宝 3- 银 联 钱 包 4- 百 度 钱 包 5- 京 东 钱 包 区 分 各 种 支 付 渠 道 目 前 0 表 示 银 行,1 表 示 扫 码 ( 扫 码 包 括 微 信 支 付 宝 银 联 钱 包 ) 交 易 类 型 String proc_tp 00- 消 费 类 01- 授 权 类 考 虑 到 各 行 业 的 不 同 需 求, 预 留 了 交 易 类 型 域.
一 般 都 只 填 00 交 易 处 理 码 String proc_cd 000000 000000 消 费 200000 消 费 撤 销 660000 扫 码 支 付 680000 扫 码 撤 销 700000 扫 码 补 单 900000 结 算 交 易 金 额 String amt 消 费 扫 码 支 付 时 必 填 用 法 一 : 消 费 扫 码 支 付 传 入 交 易 金 额 示 例 : 100.01 检 索 参 考 号 String refernumber 交 易 成 功 返 回 POSP 交 易 系 统 参 考 号 订 单 号 String order_no 非 必 填 第 三 方 传 入 的 订 单 号 与 传 过 来 的 一 致 用 法 一 : 消 费 扫 码 支 付 时 作 为 订 单 号 传 入 做 交 易 用 法 二 : 消 费 撤 销 扫 码 撤 销 时 与 凭 证 号 任 选 其 一 传 入 做 撤 销 ( 两 者 都 不 传 入 则
调 起 收 单 撤 销 页 面 ) 仅 扫 码 支 付 返 回 订 单 号 批 次 流 水 号 String batchbillno 非 必 填 批 次 号 + 流 水 号 ( 凭 证 号 ) 与 传 过 来 的 一 致 用 法 一 消 费 撤 销 扫 码 撤 销 时 与 订 单 号 任 选 其 一 传 入 做 撤 销 ( 两 者 都 不 传 入 则 调 起 收 单 撤 销 页 面 ) 应 用 包 名 String appid 调 用 者 应 用 包 名 交 易 时 间 戳 String time_stamp 交 易 成 功 返 回 交 易 时 间 YYYYMMDDhh mmss 订 单 信 息 String order_info 非 必 填 打 印 信 息 String print_info 非 必 填 行 业 应 用 需 要 打 印 的 备 注 信 息 (100 汉 字 以 内 ) 打 单 页 面 是 否 自 动 关 闭 String return_type 非 必 填 默 认 不 自 动 关 闭, 设 置 为 1 表 示 自 动 关 闭 附 加 数 据 String adddataword 可 选 非 必 填 项 扩 展 参 数 String reserve 可 选 非 必 须 失 败 原 因 String reason 应 答 码 ( 2 仅 在 调 用 返
位 ): 应 答 码 说 明 回 失 败 时 存 在 交 易 详 情 String txndetail 非 必 填 交 易 详 情 json 字 符 串 ( 结 构 参 照 附 录 B) 3.2 查 询 类 域 内 容 数 据 类 型 键 (KEY) 值 (VALUE) 备 注 请 求 应 答 报 文 类 型 String msg_tp 0300 0310 固 定 值, 只 区 分 请 求 和 应 答. 支 付 方 式 String pay_tp 0- 银 行 卡 1- 扫 码 订 单 号 String order_no 第 三 方 传 入 的 订 单 号 批 次 流 水 号 String batchbillno 第 三 方 传 入 的 批 次 号 + 流 水 与 传 过 来 的 一 致 与 传 过 来 的 一 致 订 单 号 与 凭 证 号 任 选 其 一, 若 两 者 都 传 则 按 照 凭 证 号 优 先 查 询 1 若 两 者 都 不 传 则 跳 转 到 收 单 交 易 查 询 页 面 -
号 ( 凭 证 号 ) 应 用 包 名 String appid 调 用 者 应 用 包 名 失 败 原 因 String reason 应 答 码 ( 2 位 ): 应 答 码 说 明 仅 在 调 用 返 回 失 败 时 存 在 交 易 详 情 String txndetail 交 易 详 情 json 字 符 串 ( 结 构 参 照 附 录 B) 说 明 : 交 易 处 理 码 应 答 码 和 应 答 码 说 明 按 照 lakala8583 实 施 规 范 V1.0.4 3.3 多 商 户 交 易 域 内 容 数 据 类 型 键 (KEY) 值 (VALUE) 备 注 请 求 应 答 报 文 类 型 String msg_tp 0400 0410 固 定 值, 只 区 分 请 求 和 应 答. 支 付 方 式 String pay_tp 0- 银 行 卡 1- 扫 码 1- 微 信 2- 支 付 宝 3- 银 联 钱 包 4- 百 度 钱 包 5- 京 东 钱 包 区 分 各 种 支 付 渠 道 目 前 0 表 示 银 行,1 表 示 扫 码 ( 扫 码 包 括 微 信 支 付 宝 银 联 钱 包 ) 交 易 类 型 String proc_tp 00 - 消 费 类 考 虑 到 各 行 业 的 不 同 需
求, 预 留 了 交 易 类 型 域. 一 般 都 只 填 00 商 户 号 String merid 必 填 多 商 户 商 户 号 终 端 号 String termid 必 填 多 商 户 终 端 号 交 易 处 理 码 String proc_cd 000000 000000 消 费 200000 消 费 撤 销 660000 扫 码 支 付 680000 扫 码 撤 销 700000 扫 码 补 单 900000 结 算 交 易 金 额 String amt 消 费 扫 码 支 付 时 必 填 用 法 一 : 消 费 扫 码 支 付 传 入 交 易 金 额 示 例 : 100.01 检 索 参 考 号 String refernumber 交 易 成 功 返 回 POSP 交 易 系 统 参 考 号 订 单 号 String order_no 非 必 填 第 三 方 传 入 的 订 单 号 与 传 过 来 的 一 致 用 法 一 : 消 费 扫 码 支 付 时 作 为 订 单 号 传 入 做 交 易 用 法 二 : 消 费 撤 销 扫
码 撤 销 时 与 凭 证 号 任 选 其 一 传 入 做 撤 销 ( 两 者 都 不 传 入 则 调 起 收 单 撤 销 页 面 ) 批 次 流 水 号 String batchbillno 非 必 填 批 次 号 + 流 水 号 ( 凭 证 号 ) 与 传 过 来 的 一 致 用 法 一 消 费 撤 销 扫 码 撤 销 时 与 订 单 号 任 选 其 一 传 入 做 撤 销 ( 两 者 都 不 传 入 则 调 起 收 单 撤 销 页 面 ) 应 用 包 名 String appid 调 用 者 应 用 包 名 交 易 时 间 戳 String time_stamp 交 易 成 功 返 回 交 易 时 间 YYYYMMDDhh mmss 订 单 信 息 String order_info 非 必 填 打 印 信 息 String print_info 非 必 填 行 业 应 用 需 要 打 印 的 备 注 信 息 (100 汉 字 以 内 ) 打 单 页 面 是 否 自 动 关 闭 String return_type 非 必 填 默 认 不 自 动 关 闭, 设 置 为 1 表 示 自 动 关 闭
附 加 数 据 String adddataword 可 选 非 必 填 项 扩 展 参 数 String reserve 可 选 非 必 须 失 败 原 因 String reason 应 答 码 ( 2 位 ): 应 答 码 说 明 仅 在 调 用 返 回 失 败 时 存 在 交 易 详 情 String txndetail 非 必 填 交 易 详 情 json 字 符 串 ( 结 构 参 照 附 录 B) 说 明 : 交 易 处 理 码 应 答 码 和 应 答 码 说 明 见 附 录 C
附 录 A: 调 用 参 考 样 例 调 用 者 启 用 收 单 支 付 应 用 支 付 功 能 组 件 try { ComponentName componet = new ComponentName("com.lkl.cloudpos.payment", "com.lkl.cloudpos.payment.activity.mainmenuactivity"); Intent intent = new Intent(); intent.setcomponent(component); Bundle bundle = new Bundle(); bundle.putstring("msg_tp", "0200"); bundle.putstring("pay_tp", "0"); bundle.putstring("proc_tp", "00"); bundle.putstring("proc_cd", "000000"); bundle.putstring("amt", "100.01"); bundle.putstring("order_no", "xxxxxxxxxxx"); bundle.putstring("appid", "com.lkl.cloudpos.collect"); bundle.putstring("time_stamp", "20150930035201"); bundle.putstring("order_info", " 订 单 商 品 明 细 单 价 等 xxxxxx"); intent.putextras(bundle); this.startactivityforresult(intent, 1); } catch(activitynotfoundexception e) { //TODO: } catch(exception e) { //TODO: }
调 用 者 处 理 支 付 功 能 组 件 返 回 结 果 @Override protected void onactivityresult(int requestcode, int resultcode, Intent data) { super.onactivityresult(requestcode, resultcode, data); switch (resultcode) { // 支 付 成 功 case Activity.RESULT_OK: // TODO: break; // 支 付 取 消 case Activity.RESULT_CANCELED: Bundle bundle = data.getextras(); String reason = bundle.getstring("reason"); if (reason!= null) { // TODO: } break; case -2: // 交 易 失 败 Bundle bundle = data.getextras(); String reason = bundle.getstring("reason"); if (reason!= null) { // TODO: } break; default: // TODO: break; } }
附 录 B: 交 易 详 情 JSON 结 构 字 段 字 段 类 型 字 段 名 称 备 注 merid String 商 户 号 termid String 终 端 号 batchno String 批 次 号 systraceno String 凭 证 号 authcode String 授 权 号 orderid_scan String 扫 码 订 单 号 扫 码 交 易 返 回 的 订 单 号 附 录 C: 应 答 码 说 明 返 回 码 代 表 信 息 返 回 码 代 表 信 息 00 交 易 成 功 54 过 期 卡 01 查 询 发 卡 方 55 正 常 卡, 密 码 不 符 02 CALL BANK 查 询 56 无 卡 记 录 03 无 效 商 户 57 持 卡 人 无 效 交 易 05 不 承 兑 58 终 端 无 效 交 易 10 承 兑 部 分 金 额 59 舞 蔽 嫌 疑 12 无 效 交 易 61 超 限 额 13 无 效 金 额 65 交 易 次 数 超 限 14 无 此 卡 号 68 接 收 超 时 19 稍 候 重 做 交 易 75 超 过 密 码 次 数 23 不 能 接 受 的 交 易 费 76 不 允 许 手 输 卡 号 24 接 收 者 不 支 持 78 有 效 期 错 25 记 录 不 存 在 79 帐 务 处 理 超 时
26 重 复 的 文 件 更 新 记 录 80 MAC 不 正 确 27 文 件 更 新 域 错 81 网 间 MAC 不 正 确 28 文 件 锁 定 82 返 回 码 未 定 义 29 文 件 更 新 不 成 功 83 无 效 终 端 30 格 式 错 误 84 限 本 地 卡 31 交 换 站 不 支 持 代 理 方 85 限 异 地 信 用 卡 33 到 期 卡, 请 没 收 86 单 笔 核 对 有 误 34 舞 弊 嫌 疑, 请 没 收 88 网 络 连 接 失 败 35 与 受 卡 行 联 系 89 操 作 员 密 码 错 36 黑 名 单 卡, 没 收 90 系 统 暂 停 40 请 求 的 功 能 尚 不 支 持 91 交 换 站 未 操 作 41 遗 失 卡, 请 没 收 92 找 不 到 交 易 终 点 43 被 盗 卡, 请 没 收 93 交 易 违 法 51 余 额 不 足 95 对 帐 不 平 53 帐 户 不 存 在 96 系 统 故 障 C0 微 信 被 扫 交 易 处 理 中