iT邦幫忙

2021 iThome 鐵人賽

DAY 4
1
永豐金融APIs

釋放你的潛能用技能交易吧!系列 第 4

[Day04] 第四章- 初探金流API文件-3 (sign透過nodejs實作)

  • 分享至 

  • xImage
  •  

前言

今天目標是把簽章包成api的方式做完
一樣是透過nodejs的express實作喔

實作


上圖是sign簽章的作法
很多人會想說api services裡面有些不需要傳送簽章
那這個主要是做什麼呢??
比如說order create建立訂單的21個request api中參數是不需要sign參數的
那麼為什麼需要sign呢??

其實永豐給你的nonce跟hashid這些裡面透過你傳過來的內容
即可完成sign
代表這個sign只有你知我知
如果sign失敗
會回傳
相關錯誤代碼如下

今天使用兩個套件
loadsh 幫住取出空值的運算
以及sha256的加密

var sha256 = require('js-sha256');
var _ = require('lodash')

實作function如下

function sign(my_object){
  var result = _.omitBy(
    my_object,
    (v) => _.isUndefined(v) || _.isNull(v) || v === ""
  );
  
  var resultkeys = _.without(_.keys(result), "").sort();
  var hashstring = resultkeys.reduce((acc, cur, idx) => {
    if (idx == resultkeys.length - 1) {
      return acc + `${cur}=${result[cur]}`;
    }
    return acc + `${cur}=${result[cur]}&`;
  }, "");
  return hashstring
}


也就是以上的步驟

最後來透過官方的計算機驗證吧!!

明天再繼續把messeage完成吧!!
就可以開始建立訂單了


上一篇
[Day03] 第三章- 初探金流API文件-2 (hashid透過nodejs實作)
下一篇
[Day05] 第五章- 初探金流API文件-4(IV,加密msg透過nodejs實作)
系列文
釋放你的潛能用技能交易吧!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言