使用alipay.fund.trans.uni.transfer接口進行打款必須使用支付寶公鑰證書進行簽名,但是支付寶提供的alipay-sdk並不支持支付寶公鑰證書加密,所以,我們必須自己進行加密。
官方說明文檔參考:
使用支付寶SDK進行公鑰證書籤名 https://opendocs.alipay.com/open/54/103419 很抱歉,沒有node.js版本的
自行實現簽名 https://opendocs.alipay.com/open/291/106118
大致思路如下:
1.獲取證書的應用公鑰證書和支付寶根證書的簽發機構名稱和內置序列號,以便計算生成SN值;
2.使用支付寶公鑰證書進行簽名,生成sign值;
3.攜帶app_cert_sn和alipay_root_cert_sn發送請求;
----------------------漂亮的分割線-------------------------
劇情發送了巨大的轉折,就在我調試支付寶轉賬的這幾天,node.js版本的alipay-sdk發佈了新版本3.1.1,並開始支持支付寶公鑰證書了,於是乎,事情就簡單多了,只需要修改AlipaySdk初始化傳參即可
參照文檔 https://www.npmjs.com/package/alipay-sdk 證書模式
使用 alipay.fund.trans.uni.transfer 接口打款到銀行卡,要參考這個文檔進行傳參 https://docs.alipay.com/open/common/transfertocard
最後需要注意一點,必須開通支付寶小程序的“現金紅包”能力,且必須在改功能審覈通過以後才能正常使用打款到銀行卡功能