写点什么

支付宝沙箱超详细教程 + 避雷经验,看这篇就够了

作者:盐焗代码虾
  • 2023-10-24
    浙江
  • 本文字数:2267 字

    阅读完需:约 7 分钟

使用支付宝沙箱的时候经常踩坑 TAT 自己排查问题还要花好长时间。

今天总结了一下支付宝沙箱的使用教程,希望帮助到大家,避免重复踩坑~ψ(*`ー´)ψ

我们先看下官方对沙箱的说明,如下:


支付宝沙箱说明

支付宝沙箱说明

我们可以看到官方文档上说明的指出了沙箱的三个特性

  • 使用账号不需要任何的资质

  • 账号不需要开通任何权限

  • 沙箱环境下的调用不会对生产环境数据造成影响

这不就说明了这是可以在官方给的接口范围内 随便乱搞 认真调研了嘛。



沙箱账号体系说明

为了实现上面这三个功能,支付宝给沙箱单独做了一套 账号体系应用体系以及独立的支付宝沙箱 APP(暂时仅支持 Android,iOS 使用详见:iOS 如何下载使用沙箱钱包 )。

  • 账号体系:第一次登录支付宝开放平台的小伙伴记得先按照指引入驻一下,传送门:沙箱账号获取入口


沙箱账号界面


  • 应用体系:


沙箱应用界面


  • 支付宝沙箱 APP:暂时仅支持 Android。


支付宝沙箱 APP


划重点:支付宝沙箱钱包也只能使用沙箱账号登录

划重点:支付宝沙箱钱包也只能使用沙箱账号登录

划重点:支付宝沙箱钱包也只能使用沙箱账号登录


重要的事情说三遍,大家在登录的时候记得 不要直接用自己的账号登录,选择下面的【更多选项】-【用支付宝/邮箱登录】去输入沙箱账号。

相信我,你们一定不会想体会重复被提示“账号不存在”,反复检查账号的感觉。


我把之前遇到关于支付宝沙箱 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、接口加签方式和支付宝网关地址获取位置截图如下:


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 参数里面的链接就可以转成二维码用 沙箱钱包扫码支付 了。


沙箱钱包账单:


沙箱钱包账单截图


其他常见问题

在使用支付宝沙箱过程中,还会遇到一些其他常见问题,这里全都列出来供大家参考查阅:


以上就是关于支付宝沙箱支付的所有内容了,希望对大家有所帮助(ノ ̄▽ ̄)~❀欢迎留言交流

用户头像

还未添加个人签名 2023-10-17 加入

还未添加个人简介

评论

发布
暂无评论
支付宝沙箱超详细教程+避雷经验,看这篇就够了_测试_盐焗代码虾_InfoQ写作社区