PHP PC端接入支付宝和微信感悟
想着中秋节的时候把异步线程学习完,同事说有个PHP的支付要帮忙做一下,虽然中秋节计划是把C#的异步学完,不过还是喜欢挑战,好久没有像大学一样这么认真的熬夜解决问题了。由于在大学学过asp,它和php有点类似,就这样稀里糊涂的开始做PHP PC端的支付功能。也不敢说这是一篇对支付的总结,只是主要是记录下遇到的坑。
1.环境配置phpstudy安装(具体使用也不难挺简单的)
之前也没深入研究过PHP,也就是大概了解了下,也知道它是用mysql、apache,但不知道用什么软件,还是问的同事,在网上下载的phpstudy,这里在安装的时候就遇到一个坑,启动apache启动不了,自己当时也百度了好大一会,最后在它的使用手册中找到了解决方法。
phpStudy启动失败,原因一是防火墙拦截,二是80端口已经被别的程序占用,如IIS,迅雷等;三是没有安装VC9运行库,php和apache都是VC9编译。解决以上三个问题,99%能一次性安装成功
为了减少出错安装路径不得有汉字,如有防火墙开启,会提示是否信任httpd、mysqld运行,请选择全部允许。
由于牵扯到注册服务、自解压等,个别弱智傻X杀毒卫士会误报病毒,不放心的可以安装后自行扫描。
32位的VC9运行库下载:http://www.microsoft.com/zh-CN/download/details.aspx?id=5582
64位的VC9运行库下载:http://www.microsoft.com/zh-CN/download/details.aspx?id=15336
不是管理员administrator的用户,请右键以管理员身份运行。牵扯到服务进程的管理必须以管理员身份运行。
端口问题无法启动时,请使用菜单『环境端口检测』进行端口检测,尝试启动。最重要的一点,你的机子一定要安装VC9运行库,phpStudy安装路径不得有汉字。
2013版菜单名为『强制启动端口』
2.开发环境
刚开始了解的时候用的是NotePad++,查看的时候还可以,可能是自己php用的不熟悉,用NotePad++基本只是看下大概。项目的目录结构也看不出来。于是乎自己又下载了PHP Eclipse,有了它能把整个的项目结构了解清楚。

3.花生壳的使用
在接入支付宝和微信的时候都要配置回调的url,而这个url要能外界访问,不能是127.0.0.1,不然支付宝微信怎么回调通知支付结果,但我又没有域名和服务器,当时真是一直纠结这个问题,还是同事说可以用花生壳,之前也听说过花生壳,但具体没用过,这次算是体验了一把。有了它即使局域网也可以部署服务器来进行测试。
4.支付接入
对于支付接入网上有大把的例子,由于是第一次做,没经验,对支付宝和微信接入流程也不熟悉,所以在这块浪费了好多的时间。对于接入的前期准备有必要详细的了解。
1.支付宝接入
在PC端网站接入使用的是即时到账,https://b.alipay.com/signing/productSet.htm?navKey=all,这个一般是公司来做,签约成功之后才可以使用MD5的方式来支付,作为开发者来说可以在沙盒环境来模拟支付。模拟支付我没找到MD5加密的方式支付。其中最重要的是notify_url和return_url。这两个设置成功支付宝会在支付成功之后自动跳转到回调页面。
在支付宝接入demo测试配置项采用RSA加密方式会报下面的错误:
Fatal error: Call to undefined function openssl_get_privatekey() inC:\Users\Administrator\Desktop\create_direct_pay_by_user-PHP-UTF-8\lib\alipay_rsa.function.php on line26
解决方法:
通过phpstudy中打开php.ini文件 ctrl+F 查找
extension=php_openssl.dll 去掉前面的分号 重启服务
2.微信支付
微信支付使用的是V3的模式二支付,感觉微信支付比支付宝支付比较坑的就是跳转的问题,微信扫描成功支付后不能自动回调,看网上说要通过js轮询根据订单号查询订单状态来跳转。感觉好坑好坑。
3.代码
代码网上有好多demo,http://www.thinkphp.cn/code/240.html这个的就很不错。
PHP PC端接入支付宝和微信感悟的更多相关文章
- 智齿客服网页端接入文档V2.3
产品介绍 智齿客服网页端接入提供以下两种部署方式. 一.网页组件(推荐) 通过智齿客服网站咨询组件,企业的用户可快捷联系到企业客服获取帮助.智齿客服网页组件提供强大的用户行为采集能力和系统对接能力,支 ...
- React-Native调用支付宝,微信
https://www.pingxx.com/docs/downloads Ping++ 是为移动端应用以及 PC 网页量身打造的下一代支付系统,通过一个 SDK 便可以同时支持移动端以及 PC 端网 ...
- 支付宝支付 微信支付SDK接口不统一? 盘他!
开发过支付宝.微信支付的同学都知道,微信的支付 API 设计感觉是 Java 开发工程师写的,远不如支付宝 SDK 的接口设计用起来顺手.在这里,统一封装微信支付和支付宝支付的API,使两种支付方 ...
- ecshop增加pc扫描二维码微信支付功能代码
ecshop开发网站,如果没有手机版,又想通过微信支付,可以加入pc二维码扫描微信支付功能 工具/原料 ecshop商城系统,phpqrcode,WxPayPubHelper 公众号已申请微信支付 方 ...
- IOS 支付宝、微信回调传值给H5网页
这里用是的苹果原生和JS的交互 .有不明白JavaScriptCore框架的可以去网上搜索下这方面的资料很多废话不多说直接上代码 @protocol JSContextDelegate <JSE ...
- spring_boot_pay支付宝,微信,银联支付详细代码案例
spring-boot-pay 支付服务:支付宝,微信,银联详细代码案例(除银联支付可以测试以外,支付宝和微信支付测试均需要企业认证,个人无法完成测试),项目启动前请仔细阅读 注意事项 . 友情提示 ...
- iOS支付宝,微信,银联支付集成封装调用(下)
一.越来越多的app增加第三方的功能,可能app有不同的页面但调用相同的支付方式,例如界面如下: 这两个页面都会使用第三方支付支付:(微信,支付宝,银联)如果在每一个页面都直接调用第三方支付的接口全部 ...
- JAVA支付宝和微信(APP支付,提现,退款)
公共参数图表: 接口 需要参数 通知方式 支付宝APP支付 应用公钥,应用私钥 异步 支付宝APP提现 应用公钥,应用私钥,支付宝公钥 同步 支付宝APP退款 应用公钥,应用私钥,支付宝公 ...
- Android接入支付宝和微信支付
然后把下载下来的aar包,放到项目目录下面的libs目录下,通过下面的gradle依赖进来 // 支付宝 SDK AAR 包所需的配置compile(name: 'alipaySdk-15.6.0-2 ...
随机推荐
- 使用Httpclient来替代客户端的jsonp跨域解决方案
最近接手一个项目,新项目需要调用老项目的接口,但是老项目和新项目不再同一个域名下,所以必须进行跨域调用了,但是老项目又不能进行任何修改,所以jsonp也无法解决了,于是想到了使用了Httpclient ...
- MongoDB 存储引擎Wiredtiger原理剖析
今天开始看MongoDB 3.2的文档,发现了这么两句话 Support for Multiple Storage Engines MongoDB supports multiple storage ...
- 第七篇 :微信公众平台开发实战Java版之如何获取微信用户基本信息
在关注者与公众号产生消息交互后,公众号可获得关注者的OpenID(加密后的微信号,每个用户对每个公众号的OpenID是唯一的.对于不同公众号,同一用户的openid不同). 公众号可通过本接口来根据O ...
- 01_传说中的车(Fabled Rooks UVa 11134 贪心问题)
问题来源:刘汝佳<算法竞赛入门经典--训练指南> P81: 问题描述:你的任务是在n*n(1<=n<=5000)的棋盘上放n辆车,使得任意两辆车不相互攻击,且第i辆车在一个给定 ...
- 计算几何--求凸包模板--Graham算法--poj 1113
Wall Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 28157 Accepted: 9401 Description ...
- folly
一.简介 Folly是,Facebook于2012年6月初开源的一个基于C++11的C++组件库,提供了类似Boost库和std库的功能,包括散列.字符串.向量.内存分配.位处理等,以满足大规模高性能 ...
- repcached的安装练习
1 自行寻找一个具有大量非结构化数据,很难使用关系型数据库进行处理的场景,清晰描述场景并指出困难所在,要求原创 譬如说:以易迅电商为例,顾客会对购买的商品做出反馈评论,这些评论都是非结构化的数据,如 ...
- Check list
greenplum
- Android Studio系列教程二--基本设置与运行
Android Studio系列教程二--基本设置与运行 2014 年 11 月 28 日 DevTools 本文为个人原创,欢迎转载,但请务必在明显位置注明出处! 上面一篇博客,介绍了Studio的 ...
- Xcode中文乱码问题
老师给拷贝的程序用Xcode打开中文显示是乱码,而预览里面是正常显示的,Xcode默认编码UTF-8没错的,怎么办呢? 解决办法:用自带的文本编辑器打开,全选,复制,Xcode中打开文件,粘贴,ok~ ...