技术饭

tp5.1支付宝电脑网站支付遇到的坑以及支付宝沙箱环境的坑

copylian    0 评论    2380 浏览    2019.05.31

1、命名空间问题,由于tp5.1加载的都是命名空间方式,对于include或者require的类需要使用 \ 号进行实例化

$payRequestBuilder = new AlipayTradePagePayContentBuilder();

改成

$payRequestBuilder = new \AlipayTradePagePayContentBuilder();

2、如果报错没有tmp目录就在sdk目录新建个tmp文件夹

然后修改AopSdk.php   18行

define("AOP_SDK_WORK_DIR", "/tmp/");

改成如下

define("AOP_SDK_WORK_DIR",dirname(__FILE__) . "/tmp/");

3、报错遇到each()错误

while改成foreach

//while (list ($key, $val) = each ($para_temp)) {
foreach ($para_temp as $key => $val) {

4、支付宝沙箱环境的坑

1、首先登陆支付宝https://open.alipay.com

1243133-20190108105523363-1117305425.png

使用扫一扫登陆,然后选择沙箱环境

1243133-20190108105608619-1454362083.png

2、填写一些相关的信息就会进入沙箱应用里面,先别急找参数,先生成公匙和私匙。点击里面的生成方法,会下载一个文件。里面有使用说明。

rsa秘钥生成工具:https://docs.alipay.com/mini/introduce/rsa2

  用里面的方法生成公匙后点击查看应用公匙(RSA2)把生成的公匙填进去。支付宝应用公匙就会自动生成。官方是推荐使用2048位的。

  生成的私匙也要保存,但是不用填写在该页面。下面的密匙应用不用管它。

1243133-20190108105748621-1903042981.png

3、提取相关应用参数:注意这个支付宝公匙不是你刚才填写的那个,是旁边系统自动生成的那一个。

 1243133-20190108110223758-509768924.png

1243133-20190109093902840-1605725406.png

4、根据这些参数提取到java应用程序中。我上面的图片是另一个项目的参考,所以回调地址与下面的参数不一致。实际应用中回调地址是要一致的。

1243133-20190108111635840-120510225.png

在此改正:这是官方文档说明。也就是应用网关 和回调地址 沙箱测试不用设置。避免误导大家,本地部署项目并测试沙箱支付的就不用设置这两个值了,因为这两个值必须保证外网能访问。

因此本地项目测试支付能成功 但是回调不能成功也就没什么好纠结的了。然而我支付宝沙箱页面没设置,只是项目中设置了上面的同步和异步地址还是回调成功了!

应用网关:该地址用于接收开放平台的异步通知。目前沙箱环境不需要配置此参数;授权回调地址;第三方应用授权或获取用户信息中用于接收授权回调信息的地址。使用相关产品时再进行配置;

         1. 第三方应用授权:

             授权url中的redirect_uri必须与此值相同。

         2. 获取用户信息:

             授权url中的redirect_uri的域名必须与此值相同。(例如:授权回调地址配置:https://auth.example.com/authCallBack 高亮部分需和授权url相同)

             RSA(SHA1)密钥:目前推荐使用RSA2(SHA256)密钥,请参考第1步进行配置;

             AES密钥:目前不再使用;

5、继续下一步,下载沙箱钱包。不过有点坑,我用手机扫一扫没能下载,是在电脑端下载了再安装到手机上的。

1243133-20190108111931633-1872590548.png


6、下载安装了沙箱钱包。还要解决登录账号的问题,这点支付宝都没有直接说明有点奇葩。

https://openhome.alipay.com/platform/appDaily.htm?tab=account

1243133-20190108112410639-2054468112.png

进这个地址,支付宝扫一扫就有了,使用下面的账号登录测试支付就好了

7、测试成功


 1243133-20190108112538795-1942302776.png

支付宝沙箱环境还有一个很大的功能,那就是余额,你的沙箱支付宝余额几百万。

你把这余额给老丈人、小妹妹一看,瞬间被你征服啊。真是程序员泡妞把妹的神器啊,哈哈哈!

CopyLian
感谢你的支持,我会继续努力!
扫码打赏,感谢您的支持!

文明上网理性发言!

  • 还没有评论,沙发等你来抢