深刻理解alipay node sdk

alipay的SDK只是提供網關,沒有暴露Rest Api端點,須要本身提供封裝接口到end point.node

官方sdk連接 github.com/alipay/alip…git

官方sdk作了進一步封裝,跟原始api有些區別,請求有些區別,原始請求連接 docs.open.alipay.com/api_3/alipa…github

請求參數分兩個部分,common request公共請求和private request私自請求api

Common request裏面sdk對必須的參數作了封裝,如bash

調用方式app

所以調用方式是:

exec(
    method: string,
    params: IRequestParams = {},  //default {}
    option: IRequestOption = {},  //default {}
  )
複製代碼

若是option裏面有formData,則去提交表格,支付或者上傳form文件;不然則執行普通的請求操做,即依靠params來操做。

  1. 必要公共參數已經封裝並提供
  2. 非必要公共參數如app_auth_token則須要提供在parmas裏面
  3. 若是是須要提交表格的內容則能夠把參數傳給formData來提交
  4. formData提交經過兩個(pageExec+multipartExec分別對應PC支付+上傳文件),同時若是設置formData的method是get則傳回URL(而非form),即formData是兩個特例進行處理,所以返回response也跟原始的api不一致(看原始response)

最後看看SDKui

結論:url

  1. 考慮到以上SDK的方式,若是使用則須要再次封裝
  2. 相對其餘SDK,官方比較靈活,理論上能夠使用全部官方api,只要按照如上範式調用便可
  3. SDK使用了把參數名稱裏面的_改爲了camelcase,即若是官方文檔參數return_url則使用returnUrl來調用SDK

相關文章
相關標籤/搜索