推广 热搜: 公司  快速  上海  中国  未来    企业  政策  教师  系统 

记录支付宝手机网站(WAP)支付踩过的坑

   日期:2024-10-31     作者:caijiyuan    caijiyuan   评论:0    移动:http://keant.xrbh.cn/news/13291.html
核心提示:由于苹果审核机制变化,除了JSPatch等热修复的应用受到影响外,另个影响较大的就是非法集成第三方支付SDK(尤

由于苹果审核机制变化,除了JSPatch等热修复的应用受到影响外,另个影响较大的就是非法集成第三方支付SDK(尤其支付宝)而审核被拒。但是由于你懂的的原因,不想走IAP(In App Pay),所以当然想到了支付宝 WAP 支付。完成 WAP 支付大概花了三天多时间,但是有大概一天时间是在等签约,所以为了让大家和自己有需要的话快速集成,特意做一个总结。涉及 iOS(OC)和JS(HTML5)以及PHP,下面进入正题。

记录支付宝手机网站(WAP)支付踩过的坑

之前我一直觉得只有微信的开发平台网站比较容易搞混(一个是微信开放平台,另个是微信公众平台,但是接触支付宝后,深深陷入各个跳转和新旧文档难以自拔(我记得之前没这么乱啊,我知道网站迭代更新向后兼容不易,但是能不能稍微克制一下

先扔出个WAP支付开发文档的链接出来,大家最好直接输入链接,搜索引擎慎用。(你能明白花了很长时间研究文档最后发现是老版本的痛苦吗
WAP支付开发文档

1、注册商家等都不说了,很简单
2、虽然之前已经签约过 APP 支付功能,但是做手机网站支付的话还得继续签约手机网站支付功能,注意 APPID 是不一样的。签约网址在这里签约申请,开始的时候我以为我们运营同事已经帮忙申请好,但是最后在调支付宝接口的时候老是报错ISV权限不足,经过检查才发现是没有签约手机网站支付,提交申请审核时间是一个工作日。所以大家记得提前申请。
3、签约成功后,由于支付宝使用 RSA 数据加密方式,非对称加密,所以在本机可以openssl生成应用私钥和应用公钥(统称密钥,应用私钥在自己的代码中加密数据的时候会用到,应用公钥配置到支付宝后台产生支付宝公钥进行数据解密。注意下图,配置手机网站支付的时候选择左边的平台开放密钥,然后找到对应的APPID产品进行公钥配置。我一开始失误配置成了下面的mapi网关产品密钥,导致报错验签失败。
在这里插入图片描述
WX20170322-200717.png

注意后面的queryString,由于支付网页需要UID,考虑到方便快捷,没有选择用 WebViewJSBridge 进行数据交互,而是直接拼在链接后面。

代码如下

集成 支付宝 PHP SDK 详细步骤(后端代码
下1、载PHP DEMO
2、将SDK拖入项目文件,配置config.php文件,如下

3、

4、然后到了关键的地方,利用total_params拼接表单字符串,方法如下

5、执行第4步生成的表单html代码被类AlipayTradeService进行echo到前端页面上,包含JS自动提交脚本,所以就直接调起了支付宝支付。为了让大家更加明白,生成的h5代码形式如下

当上面的H5代码被echo到前端页面,会自动submit表单信息。继续往下看

自动提交后,当手机有安装支付宝的时候,在webView中实现一个协议方法即可自动跳转到支付宝客户端。如果没有安装,进入支付宝的H5收银台进行支付。协议方法如下

当支付成功后,会自动跳转到return_url页面,这个页面简单展示一下支付成功信息即可。注意并不能作为交易成功的凭证。
支付成功后,除了会进入上面提到的return_url,支付宝还会异步通知notify_url,并传递详细的交易信息,支付宝会根据上面传入的异步通知地址notify_url通过POST请求的形式将支付结果作为参数通知到商户后台系统。在这个接口中实现验签和支付成功的业务逻辑代码。

新版开发文档入口 https://openhome.alipay.com/developmentdocument.htm
查看是否已经签约 https://app.alipay.com/market/productIndex.htm
开放平台密钥管理 https://openhome.alipay.com/platform/keyManage.htm
调用支付宝网关接口https://openapi.alipay.com/gateway.do https://doc.open.alipay.com/doc2/detail.htm?treeId=203&articleId=105463&docType=1

1、创建订单号 很简单,月日时分秒 + 5位随机数

2、取得 QueryString 参数值

3、另外一个比较好用的在PHP代码中插入JS代码实现弹出debug信息,如果服务器不支持write info,这招很方便。

本文地址:http://lianchengexpo.xrbh.cn/news/13291.html    迅博思语资讯 http://lianchengexpo.xrbh.cn/ , 查看更多
 
标签: 支付宝
 
更多>同类行业资讯
0相关评论

新闻列表
企业新闻
推荐企业新闻
推荐图文
推荐行业资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  粤ICP备2023022329号