Day 0x3 - 阅读API文件

0x1 API规格文件

是的,终於来到阅读文件的这一天了
忘记是什麽时候建立的习惯,拿到一个文件我都会先把目录看个几次

  • 主要几个大标是自己会优先去看,能快速建构出架构及开发规划
    • API 应用场景
    • 连线说明及测试方式
    • 请求 API 前的前置动作

0x2 应用场景

  • 文件列出三个,这里依照有写过的金流来进行安排

    1. 建立订单 - 取得虚拟帐号
      1. 订单成立
      2. 付款方式选择 虚拟帐号汇款 後结帐
      3. 呼叫 API 「建立订单交易」,并等待回传虚拟帐号
      4. 画面显示虚拟帐号,等待顾客付款
      5. 等待 API 「即时讯息通知」呼叫本机 API
      6. 使用 API 「讯息查询服务」解密上一步的讯息
    2. 建立订单交易 - 信用卡
      1. 订单成立
      2. 付款方式选择 虚拟帐号汇款 後结帐
      3. 呼叫 API 「建立订单交易」,并等待回传付款页URL
      4. 画面跳转至付款页,等待顾客付款
      5. 付款页会依照 API 「建立订单交易」设定的 returnURL进行跳转,显示付款成功与否
    3. 建立订单交易 - 信用卡 + 3D 验证
      1. 订单成立
      2. 付款方式选择 虚拟帐号汇款 後结帐
      3. 呼叫 API 「建立订单交易」,并等待回传付款页URL
      4. 画面跳转至付款页,等待顾客输入信用卡卡号後,跳转到发卡行 3D 验证
      5. 付款页会依照 API 「建立订单交易」设定的 returnURL进行跳转,显示付款成功与否
  • 个人觉得 信用卡信用卡 + 3D 验证 的流程一模一样,只是 3D 多了发卡行验证,但都是银行服务器验证,基本上权责不在自己的服务器。

  • 文件里有 LINE 的付款流程,但 API 服务规格没有写,所以就没有额外提出来了

0x3 连线说明及测试方式

  • 最重要的一个,没有提供就只能靠通灵了,里面主要提到几点是开发过程中必须注意的

    1. 协定为 HTTPS (TLS1.2)
    2. Content-Type 为 application/json;charset=utf-8
  • 测试网址这里就没有贴出来了

  • 测试注意事项

    1. 自动交易成功测试-测试建立「虚拟帐号」订单成功後,系统每隔 5 分钟会自动模拟付款完成,只要 5 分钟後确认订单是否变为「已付款」即可
    2. 自动交易失败测试-若订单编号(OrderNo)尾数为 9,系统不会模拟付款,可用於测试「付款帐号逾期」情境。需要订单编号尾数
    3. 交易查询测试-透过 API 产生的订单资料,除了可以透过查询 API 取得外,还可登入「丰收款商户管理後台」的测试环境查询测试资料。
    4. 信用卡一样有测试的卡号,这里也不会贴出来
    5. 讯息通知 - 只接受 80/443 (http/https)

0x4 请求 API 前的前置动作

  • 金融业对於资料安全,比很多行业都还要高很多,所以流程比较复杂一些。

  • 依据「电子银行业务安全控管作业基准」的要求,主要需求有两个

    1. 安全签章 (Sign): 将内文与参数进行 SHA-256 运算杂凑
    2. 内文加密机制 (Message): 采用对称加密 AES-CBC
  • 流程简述:

    1. 根据银行提供的商店代码取得 Nonce
    2. 根据银行提供的 4 把杂凑值 XOR运算出 Hash Id
    3. 把前两步的结果,加上内文进行 SHA-256 运算来取得 Sign
    4. 把 Nonce 进行 SHA-256 运算後取得尾端16个文字为 IV
    5. 以 Hash Id 为 key, IV 为 IV 进行 AES-CBC 运算

0x5 今日结语

明天就要开始前置动作 Part 1
终於要开始有 code 出现了,再也不是一堆文字的混篇幅了(喂
对,结语就是这麽简短,明天见


<<:  DAY11-JAVA的类别(5)

>>:  Golang 转生到web世界 - http套件小疑问

Day26 Lab 2 - Object storage 上传续传

https://github.com/kaichiachen/python-simple-objec...

桌面端 YouTube 影片下载器--〖2022亲测〗

接下来为您介绍 10 款不错的第三方 YouTube 下载软件!让我们来看看哪个软件才是 2022 ...

大数据平台:讯息中介

讯息伫列(Message Queue)是大数据生态圈中不可或缺的中介软件,为资讯的生产者(Produ...

在linux中看gcc产生出来的组合语言

环境:linux使用者直接用终端机即可,windows使用者可用WSL或是建一个linux的虚拟机 ...