授權:
首先需要去支付寶開發者中心注冊一個網頁應用,注冊時需要注意應用名稱的命名規范,很容易就審核不通過,授權的回調地址必須是https的,並且頁面里必須要調用getAuthCode,否則授權時就會報 系統異常,請聯系商家。REDIRECT_URI_ILLEAGAL
調用授權api:
ap.getAuthCode( { appId: '', scopes: ['auth_user'], showErrorTip: false }, function (res) { // dosomething } )
支付寶問題解釋:https://opensupport.alipay.com/support/helpcenter/168/201602495256?ant_source=zsearch
加好友:
1、根據授權之后拿到的authCode調用支付寶 alipay.system.oauth.token 獲取userId,存入數據庫;
2、設置一個中間頁路由url,路由內部處理302重定向到 alipays://platformapi/startapp?appId=20000067&url=${encodeURIComponent(url)},后面跟的url參數就是加好友的路由地址,傳入支付寶賬號和userId參數;
3、加好友路由內部再重定向到alipays://platformapi/startapp?appId=20000186&actionType=addfriend&userId=userId&loginId='支付寶賬號'&source=by_f_v&alert=true
authCode置換userId的代碼:
app.alipaySdk.exec('alipay.system.oauth.token', { appId: 'appId', grantType: 'authorization_code', code: 'authCode', refreshToken: 'token', })
注意⚠️:用支付寶開放平台開發助手生成的私鑰是PKCS8格式的,需要轉換成PKCS1格式,否則調用會報這個錯:Error: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
支付寶問題解釋:https://opensupport.alipay.com/support/knowledge/20069/201602457250?ant_source=zsearch
附上支付寶開放平台的查找鏈接,有很多問題里面都能查到:https://opendocs.alipay.com/search