深刻理解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

相关文章
相关标签/搜索