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

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

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

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

支付宝沙箱说明

支付宝沙箱说明

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

  • 使用账号不需要任何的资质
  • 账号不需要开通任何权限
  • 沙箱环境下的调用不会对生产环境数据造成影响

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

沙箱账号体系说明

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

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

沙箱账号界面

  • 应用体系:

沙箱应用界面

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

支付宝沙箱 APP

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

沙箱钱包账单:

沙箱钱包账单截图

其他常见问题

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

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

  • 22
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
你好!关于SSM框架下支付宝沙箱支付教程,我可以为你提供一些基本的步骤和指导。首先,你需要在支付宝开放平台申请一个开发者账号,并创建一个沙箱环境的应用。 下面是大致的步骤: 1. 在支付宝开放平台(https://open.alipay.com)上注册一个账号,并登录进入开发者控制台。 2. 创建一个应用,选择沙箱环境。 3. 在应用详情页中,获取应用的App ID、签名类型以及支付宝公钥和私钥。 4. 在SSM项目中添加支付宝SDK的依赖。你可以在pom.xml文件中添加以下依赖: ```xml <dependency> <groupId>com.alipay.sdk</groupId> <artifactId>alipay-sdk-java</artifactId> <version>4.9.9.ALL</version> </dependency> ``` 5. 编写支付宝支付的配置类,可以参考以下代码: ```java @Configuration public class AlipayConfig { @Value("${alipay.appId}") private String appId; @Value("${alipay.privateKey}") private String privateKey; @Value("${alipay.publicKey}") private String publicKey; @Value("${alipay.serverUrl}") private String serverUrl; @Value("${alipay.format}") private String format; @Value("${alipay.charset}") private String charset; @Value("${alipay.signType}") private String signType; @Bean public AlipayClient alipayClient() { return new DefaultAlipayClient(serverUrl, appId, privateKey, format, charset, publicKey, signType); } } ``` 6. 编写支付请求的接口和Controller,可以参考以下代码: ```java @RestController @RequestMapping("/pay") public class PayController { @Autowired private AlipayClient alipayClient; @PostMapping("/create") public String createPayOrder() throws AlipayApiException { AlipayTradeWapPayRequest request = new AlipayTradeWapPayRequest(); //设置支付宝回调地址 request.setNotifyUrl("http://your-domain.com/notify"); //设置支付请求参数 //... String form = alipayClient.pageExecute(request).getBody(); return form; } } ``` 这里只是一个简单的示例,你需要根据你的具体需求进行相应的配置和参数设置。 希望以上信息对你有帮助!如果有任何问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值