支付寶沙箱超詳細教學+避雷經驗,看這篇就夠了

2023-10-24 18:01:54

使用支付寶沙箱的時候經常踩坑 TAT 自己排查問題還要花好長時間。

今天總結了一下支付寶沙箱的使用教學,希望幫助到大家,避免重複踩坑~ψ(*`ー´)ψ

我們先看下官方對沙箱的說明,如下:

 

 

我們可以看到官方檔案上說明的指出了沙箱的三個特性

  • 使用賬號不需要任何的資質
  • 賬號不需要開通任何許可權
  • 沙箱環境下的呼叫不會對生產環境資料造成影響

這不就說明了這是可以在官方給的介面範圍內 隨便亂搞 認真調研了嘛。

 

沙箱賬號體系說明

為了實現上面這三個功能,支付寶給沙箱單獨做了一套 賬號體系應用體系以及獨立的支付寶沙箱 APP(暫時僅支援Android,iOS 使用詳見:iOS 如何下載使用沙箱錢包 )。

  • 賬號體系:第一次登入支付寶開放平臺的小夥伴記得先按照指引入駐一下,傳送門:沙箱賬號獲取入口

 

  • 應用體系:

 

 

 

  • 支付寶沙箱 APP:暫時僅支援Android。

 

 

劃重點:支付寶沙箱錢包也只能使用沙箱賬號登入

劃重點:支付寶沙箱錢包也只能使用沙箱賬號登入

劃重點:支付寶沙箱錢包也只能使用沙箱賬號登入

 

重要的事情說三遍,大家在登入的時候記得 不要直接用自己的賬號登入,選擇下面的【更多選項】-【用支付寶/郵箱登入】去輸入沙箱賬號。

相信我,你們一定不會想體會重複被提示「賬號不存在」,反覆檢查賬號的感覺。

 

我把之前遇到關於支付寶沙箱 APP 的問題列在這邊,大家共勉~/(ㄒoㄒ)/~~

 

沙箱介面開發流程說明

支付寶沙箱目前不僅後端介面開發,還支援小程式前端開發。

目前沙箱產品支援的範圍參考:支付寶沙箱支援的產品範圍

這個範圍我覺得 ok,至少市面上主流的能力都能測試,可以覆蓋產品的絕大部分核心鏈路和對接邏輯。

接下來將分別從 前端後端 講解如何具體使用沙箱。

 

前端如何使用沙箱

首先介紹下小程式如何使用沙箱進行偵錯。

正式和沙箱環境的區別

知道之前有沒有用過支付寶沙箱的小夥伴,以前支付寶沙箱如果要偵錯小程式的話,還需要在 IDE 上下載沙箱外掛,重啟之後才能生效,非常麻煩。

不知道是不是聽到了廣大群眾的呼聲,這次支付寶沙箱在小程式開發上做了一次升級,拋棄了沙箱外掛,直接把正式環境的小程式同步到了沙箱裡。針對 2021 開頭的小程式,小程式會自動同步到沙箱環境。

簡單來說在同一套程式碼、不切換環境的情況下,你推到沙箱 APP 上了就是沙箱環境測試;推到正式的 APP 上就是正式環境測試了。

偵錯步驟

  • 第一步:使用 線上APP 掃碼登入支付寶小程式開發工具
  • 第二步:選擇需要開發的小程式
    • 這裡需要選擇 2021 開頭的小程式 APPID,否則會報錯碼已失效,請重新整理二維條碼後重試。詳見:[沙箱支援的小程式範圍]
  • 第三步:正常偵錯小程式,如果遇到線上環境沒有許可權的功能,可以直接使用沙箱的 APP 去掃偵錯碼,推播到沙箱 APP上進行真機偵錯,記住沙箱 APP 登入的是商家賬號,不要使用買家賬號去登入。
    • ⚠️注意:最好把 小程式自動推播給支付寶 選項的勾選給去掉,不然就會推播到正式的支付寶 APP上了

 

可以使用 my.env 的 clientEnv 動態獲取支付寶 APP 的環境資訊,來決定網路請求介面的目標地址。

後端如何使用沙箱

接下來我們就來介紹下,伺服器端如何使用沙箱環境。

正式和沙箱環境的區別

因為賬號體系不一樣,應用、金鑰和支付寶閘道器都是不一樣的,最主要的區別還是支付寶閘道器地址。

  • 正式環境支付寶閘道器地址為:https://openapi.alipay.com/gateway.do
  • 沙箱環境支付寶閘道器地址為:https://openapi-sandbox.dl.alipaydev.com/gateway.do 

 

最好設定兩套金鑰,方便正式和沙箱環境來回搞。

偵錯步驟

就以「當面付」產品為例,看一下沙箱環境如何呼叫。

第一步:獲取設定資訊

伺服器端介面所需要的平臺上的資訊就是 APPID介面加簽方式中的金鑰資訊支付寶閘道器地址

  • APPID、介面加簽方式和支付寶閘道器地址獲取位置截圖如下:

  • 點選【檢視】獲取金鑰

第二步:將設定資訊入參到程式碼中

為了方便說明,這邊就直接參照官方提供的程式碼範例了,詳情參考:[當面付範例程式碼]。

在 Config 類中,引數與平臺中對應的關係如下:

  • gatewayUrl:支付寶應用閘道器
  • app_id:APPID
  • merchant_private_key:應用私鑰
  • alipay_public_key:支付寶公鑰

設定完成,呼叫成功之後就會返回

{
    "alipay_trade_precreate_response":{
        "code":"10000",
        "msg":"Success",
        "out_trade_no":"2023888888888888",
        "qr_code":"https://qr.alipay.com/bax04390c1pudiutvskn009b"
    },
    "sign":"lcwdCgQgkUGcjoqWDlfmQojtFSof+XigNflDorz8Lmep1yGfSMB75S8S0ZbPfzA5p8fRWnnyDyVatlRcnA+AmBeh/VlDxxQ9KmE9BR+0UHZtd6+ucdBDGU/hAhZd3+NbCmZ61eAEeArpE7HPOQWwac/nOynrPjnp3YSTOCR7U+O8o3gbz1Hc6QQo0aVz63t0DKGPanvrk4hkRJhLsZj1oMoguevj86mPoixRX5mxGiheIPbmtB4CjJAS5kx6EGEuBd3uk2UL8BQjQ/XqyCsDHSNJ8zglGwW0PyBuRPhF1S2LSIazlOz32cQDFh2NZLpXtJl/fFSQzQhy99i57+z/dg=="
}

 

第三步:使用沙箱錢包支付

上述 qr_code 引數裡面的連結就可以轉成二維條碼用 沙箱錢包掃碼支付 了。

沙箱錢包賬單:

其他常見問題

在使用支付寶沙箱過程中,還會遇到一些其他常見問題,這裡全都列出來供大家參考查閱:

以上就是關於支付寶沙箱支付的所有內容了,希望對大家有所幫助(ノ ̄▽ ̄)~❀歡迎留言交流