新零售支付全家桶


支付宝沙箱的注意事项

<p>使用支付宝沙箱环境之前,我要讲一下注意事项。我们开通了支付宝沙箱环境之后,要在手机上面安装一个支付宝沙箱APP,注意这个APP只有安卓版本,没有iOS版本,所以使用苹果手机的同学,你要跟家人或者同学借用一下安卓手机,然后把这个沙箱APP安装一下。其实这个APP本质上就是支付宝APP,只不过里面的数据都是来自于沙箱环境,跟真实的支付宝数据完全是隔离的。调试程序的时候,我们用这个支付宝沙箱APP,就可以模拟支付宝APP付款,从而完成支付流程。</p> <p><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/b9b5810f1ce5d35cfd9a1303670dd5d4?showdoc=.jpg" alt="" /></p> <p>我讲过支付宝的接口一共有五种,下面我就来跟大家说一下,这五种接口怎么调用沙箱APP来付款。比如说支付宝小程序、APP程序,还有移动网站,在支付的时候,因为都是运行在手机系统里面,所以直接可以唤起沙箱APP,然后弹出付款页面,就跟我们在真实的支付宝APP上面付款是一样的,我们输入了支付密码,就完成了扣款。另一种形式就是我们拿着沙箱APP,扫描PC网站上面的付款二维码,或者出示我们自己的付款码,让对方扫码,也能完成付款流程。所以大家可以看到,沙箱APP完美的兼容了五种支付接口。</p> <h3>成为支付宝开发者</h3> <p>不管你用的是个人类型的支付宝账号,还是企业类型的账号,都可以接入支付宝开发者。但是用个人类型的支付宝账号接入开发者账号,不能申请支付接口,但是可以使用沙箱环境。反之,企业类型的账号就没有这个限制。同学们打开浏览器,访问下面的这个网址,然后用你手机上面的支付宝APP,扫描二维码登陆网站,就进入到了成为开发者的流程。</p> <p><a href="https://openhome.alipay.com/developmentAccess/developmentAccess.htm">https://openhome.alipay.com/developmentAccess/developmentAccess.htm</a></p> <p><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/230090b7211ebf13fdd44f25c77956d5?showdoc=.jpg" alt="" /></p> <p>因为使用沙箱环境,我用的是个人类型的支付宝账号,所以这里只能选择自研开发服务,然后你要把自己的个人信息填写一下,就注册成为了开发者。如果你用的是企业类型的支付宝账号,可以选择右侧的提供第三方服务的选项,然后按照提示信息,把资料填写一下。这样就接入成功了。好了同学们,你自己完成一下接入的流程吧,然后下节课,咱们从支付宝小程序的接口开始学习,我们看看支付宝小程序是怎么开发的</p> <p><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/8f5c64eb6186cde3ddbe53f8375b5bda?showdoc=.jpg" alt="" /></p> <h3>创建小程序沙箱环境</h3> <p>首先各位同学要登陆支付宝开发者网站,之前我们已经成功的注册成为了开发者,所以只要你保持登陆,然后用浏览器访问这个网址,就会自动创建出小程序的沙箱环境。同学们要注意,这里开通的是小程序的沙箱环境,只能用在小程序案例上面。用在APP支付和网站支付上面,都是不行的。</p> <p><a href="https://openhome.alipay.com/platform/sandboxMini.htm">https://openhome.alipay.com/platform/sandboxMini.htm</a></p> <p>我们用浏览器访问这个网址以后,小程序的沙箱环境就创建好了,我们在网页上面就能得到这个沙箱小程序的APPID了,各位同学用个记事本文档保存下来,别弄丢了,后面我们写程序的时候需要用到。大家注意,这个沙箱小程序是不能上架发布的,用能用在开发环境中。</p> <p><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/28693ca77e72ed90f4c6ca460c534d17?showdoc=.jpg" alt="" /></p> <h3>安装支付宝沙箱APP</h3> <p>因为沙箱小程序要运行在支付宝沙箱APP上面,所以我们要在安卓手机上面安装这个APP软件。之前我说过,支付宝沙箱APP只有安卓版本。你找一个安卓手机,然后扫描这个二维码,把沙箱APP给安装一下。或者你用浏览器访问这个链接,也能下载到沙箱APP。甚至你从本课程的git项目中也能下载到沙箱APP,这个文件叫做支付宝沙箱APP.apk,你把这个文件拷贝到安卓手机上,执行安装就OK了。这个软件的安装过程我就不演示了,大家自己安装一下就可以。</p> <p><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/0952a68c8bb098fc7828a802996ac46d?showdoc=.jpg" alt="" /></p> <p><a href="https://sandbox.alipaydev.com/user/downloadApp.htm">https://sandbox.alipaydev.com/user/downloadApp.htm</a></p> <p>安装完这个软件,很多同学发现了,这就是个简化版的支付宝APP,只不过里面所有的数据都是来自于沙箱环境。接下来我们就像正常登陆支付宝一样,登陆一下这个APP软件。我不是让你用真实的支付宝账号去登陆,而是用沙箱环境生成的买家账号来登陆。</p> <h3>安装支付宝小程序开发工具</h3> <p>因为要开发支付宝小程序,所以我们要把开发工具给安装一下。你用浏览器访问<a href="https://render.alipay.com/p/f/fd-jwq8nu2a/pages/home/index.html" title="这个网址">这个网址</a>,然后在页面上选择开发小程序的IDE,把它下载下来。目前来说只有windows版和MacOS版本,没有Linux版本,所以有些用Ubuntu做程序开发的同学,你就得切换到Windows或者MacOS系统了。</p> <p><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/10d0b53aeba93720e4b1dd75a007eec2?showdoc=.jpg" alt="" /></p> <p>这个小程序开发工具,目前是1.5版本,我把它上传到了本课程的git工程里面,你也可以从git上面下载。如果你发现从官网下载的最新版IDE工具不好用的话,不妨从git上下载我这个1.5版本的IDE工具</p> <h3>安装小程序沙箱插件</h3> <p>刚才我们安装好了支付宝小程序开发工具,同学们先不要着急怎么使用这个IDE开发小程序,接下来我们还要安装一个插件。这个插件就是沙箱插件,如果没有这个插件的话,我们就没有办法开发沙箱环境的小程序。这个插件并不大,一瞬间就能安装好。安装好这个插件,我们重启小程序IDE工具,然后就能切换到沙箱环境了,操作起来非常简单。当然了,如果你是以企业的身份开发正式的小程序,那就没必要安装这个插件。</p> <h3>特殊说明</h3> <p>因为我们现在是给IDE工具安装了沙箱环境,开发沙箱小程序,所以在IDE工具的模拟器上面运行小程序,或者说在沙箱APP上面跑小程序,都是没问题的,但是沙箱小程序是不能上架发布的,更不能运行在真正的支付宝小程序上面。</p> <p>uni-app移动端框架能不能用于开发支付宝小程序呢?当然是可以的。之前我就跟大家说过,我们写的uni-app项目可以编译成支付宝小程序,甚至编译成安卓App都没问题。无论是原生,还是用uni-app框架,都可以开发沙箱小程序。这一点大家请放心。</p> <p>虽然说IDE工具和沙箱APP,都能运行沙箱小程序,但是还略微存在一些问题,由于问题不算严重,所以我们勉强可以接受。如果我们开发的是非沙箱小程序的话,那么IDE模拟器和支付宝APP上面运行的小程序是没有任何区别的。下面咱们还是得把目光转移到开发沙箱小程序上面,究竟IDE和沙箱APP在运行小程序的时候有什么区别?</p> <p>比如说我们在做用支付宝账号登陆小程序的时候,要获得支付宝账号的信息。在IDE的模拟器上面运行小程序,我们可以获得沙箱账号的信息,所以可以完成支付宝账号登陆小程序。但是在沙箱APP上面运行的小程序,是不能获得沙箱账号的信息,也就无法完成用支付宝账号登陆小程序。但是大家也不用太担心,等我们写程序的时候,我告诉你怎么解决这个调试的难题。</p> <p>第二点是沙箱APP上面不支持Storage,也就是说我们没有办法往Storage里面存放Token令牌。但是在IDE模拟器是支持Storage存储的,但是模拟器不支持沙箱支付。所以我们就只能先在模拟器上面创建支付订单,然后在沙箱APP上面执行付款。看来啊,IDE模拟器和沙箱APP都不能完美的支持沙箱小程序的调试,我们只能想办法绕开这些限制,找到一种妥协的办法,才能调通小程序支付接口。</p>

页面列表

ITEM_HTML