先說(shuō)重點(diǎn) uni-app 不支持支付寶沙箱測(cè)試!不支持支付寶沙箱測(cè)試??!不支持支付寶沙箱測(cè)試?。。。ㄖ匾氖虑檎f(shuō)三遍,為此我浪費(fèi)了半天。上線應(yīng)用沒(méi)簽約支付又浪費(fèi)了半天)。
客戶端很簡(jiǎn)單 一句代碼搞定: 參考官方文檔:https://uniapp.dcloud.io/api/plugins/payment?id=requestpayment (5+App 支付)
服務(wù)端編寫(xiě)代碼之前,需要去支付寶進(jìn)行app應(yīng)用創(chuàng)建。詳細(xì)流程:https://docs.open.alipay.com/204/105297/
注 :創(chuàng)建后的應(yīng)用是不能用于真實(shí)環(huán)境測(cè)試的,必須申請(qǐng)應(yīng)用上線(審核比較容易)。并且簽約支付功能,簽約!簽約??!簽約?。。。](méi)簽約的可以用沙箱環(huán)境測(cè)試生成的訂單信息)
三個(gè)密鑰: 商戶應(yīng)用私鑰(自己保存生成訂單用)、商戶應(yīng)用公鑰(上傳到支付寶應(yīng)用,用來(lái)生成支付寶公鑰)、支付寶公鑰(根據(jù)商戶應(yīng)用公鑰自動(dòng)生成,生成訂單用到)。
創(chuàng)建應(yīng)用后
1、設(shè)置密鑰 工具下載地址:https://docs.open.alipay.com/291/105971 私鑰保存到本地,公鑰填寫(xiě)到支付寶應(yīng)用,得到支付寶公鑰。
從上面的圖 我們可以知道,我們只需要的兩個(gè)東西:1、APPID、2、支付寶公鑰(根據(jù)用戶上傳的公鑰自動(dòng)生成)(網(wǎng)關(guān)是固定的,真實(shí)環(huán)境:https://openapi.alipay.com/gateway.do。沙箱環(huán)境:https://openapi.alipaydev.com/gateway.do。 有區(qū)別!)。
做完上面,我們就可以下載對(duì)應(yīng)的SDK了。下載地址:https://docs.open.alipay.com/54/106370/。 上面有詳細(xì)的使用說(shuō)明。多看幾遍。
我用的是 .net,我新建了一個(gè)WebService項(xiàng)目,把上面的SDK 應(yīng)用到項(xiàng)目就好了。
代碼:
運(yùn)行結(jié)果如下圖,直接拷貝到客戶端的代碼里就可以了。
正式上線的App 并且已經(jīng)簽約了支付功能,可以運(yùn)行。如果是沙箱環(huán)境,則會(huì)報(bào)錯(cuò) “[payment支付寶:62009]未知錯(cuò)誤”。
支付寶提供了調(diào)試工具用來(lái)驗(yàn)證上面的訂單信息。工具下載地址:https://openclub.alipay.com/read.php?tid=7695。
選擇沙箱環(huán)境,把上面生成的訂單信息考本到文本框,點(diǎn)擊“點(diǎn)我去支付”,可以喚起支付頁(yè)面而不報(bào)錯(cuò),就說(shuō)明在服務(wù)端的請(qǐng)求參數(shù)沒(méi)有問(wèn)題。