立即注册
 找回密码
 立即注册

梦幻岛

搜索
热搜: 活动 交友
梦幻岛 首页 生活 技术分享 查看内容

uniapp支付宝支付总结(订单异常ALI错误不能唤起支付宝)

2020-1-17 23:03| 发布者: admin| 查看: 95| 评论: 0

摘要: 支付宝在申请SDK,支付能力这块比微信强的多,支持个人,支持企业。这点很方便。不像微信,本来做小程序交了300开通微信支付,申请了微信认证。

支付宝在申请SDK,支付能力这块比微信强的多,支持个人,支持企业。这点很方便。不像微信,本来做小程序交了300开通微信支付,申请了微信认证。

然而在整APP,还要在开放平台申请开发者认证,又是300。明摆着敛钱啊。


今天说支付宝SDK的使用。网上很多的常规步骤,照方法来,前面的过程基本上都不会有问题。

开发者平台注册一个号,完事添加自己的应用

image.png

进去之后,重点添加app支付功能

image.png

应用信息里设置好自己的密钥:

image.png

    应用公钥,应用私钥,这两个可以用支付宝开放平台助手生成。

    支付宝公钥,在查看里可以看到。

  这几步都不会有问题,代码上调用SDK,设置应用私钥,支付宝公钥,两个大长串。然后按照官方文档里调订单数据:

image.png

这是这些,拿到内容是一个大串。直接返回到客户端,uni.requestPayment就可以唤起支付宝

image.png

无耐我这里怎么也唤不起来,报订单参数异常ALIN

image.png

image.png

检查了好几次,困住了两三天。之后看下网上别人说的,说相比JAVA调用少些东西。

然后再找,网上有通过证书方式唤起的。尤其在开发者中心,应用信息里,点开接口加签方式:

image.png

这里有下载应用公钥证书,支付宝证书,支付宝根证书。之前有一个界面是选择证书还是公钥的,先择用证书方式,等两点就生效成这样了。(证书还是用支付宝开放平台助手生成)


接下来就是代码:

之前用的AopClientTest,这回参照AopCertificationTest

image.png

引用三个证书内容,换个类实例,其它一样。然后再获取订单数据。

吐给客户端,神奇的成功了。。


归纳下遇到的几个问题:

AopClient只用公钥,私钥两个大长串,如果拿到结果给客户端不好使就换个方式,还可以用证书方式。文件下下来肯定没跑。其余代码就那些。

这块请求支付宝SDK要用openssl扩展,PHP5.6.8代码里的openssl模块没装上,可以再装一套php,我用的php7

然后php7我想用mongodb,结果没了mongo,网上找半天三方类,研究了下,与之前CURD数据库的代码比复杂多了。

而且之前PHP5.6.8里的mongo,mongodb,fastDFS都有。是不是有半法一部分接口走PHP7,一部分走PHP5呢,顺着这思路,

我想到了Location:

最终location ~/pay/{ fastcgi_pass:127.0.0.1:9001} //这是把URL走pay的这部分内容交给php7,可以用openssl(之前还想在5.6.8上用openssl,结果系统装的openssl1.1.1太高了,还没法装Php_openssl扩展,降级也有影响,而且调半天没成功。mongodb用的openssl1.1.1)

然后location \.php {fastcgi_pass:127.0.0.1:9000} //这部分走php5

如此一来就全搞定了。



转载请注明来源:梦幻岛 http://dreamisland.wang/article/3385p1.html



路过

雷人

握手

鲜花

鸡蛋
返回顶部