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 ...
随机推荐
- Greenplum 4.3 For Centos 6.5 安装指南
1.greenplum数据库安装前期准备工作 1.1 安装Linux l 内存:最小1GB,推荐2GB或以上. l 交换空间: 内存大小是1-2GB时,交换空间是内存的1.5倍,内存大小2-16G ...
- Solr与HBase架构设计
摘要:本篇是本人在做一个大数据项目时,对于系统架构的一点总结,如何在保证存储量的情况下,又能保证数据的检索速度. 前提: Solr.SolrCloud提供了一整套的数据检索方案,HBase提 ...
- 虚拟机centos6.5 --VirtualBox设置全屏
一.安装以下模块 yum install kernel-devel kernel-headers gcc,然后重启. 二.安装增强功能 安装失败,查看日志文件,cat /var/log/vboxadd ...
- 解决ubuntu sudo not found command的问题
将/etc/sudoers 中Defaults env_reset改成Defaults !env_reset取消掉对PATH变量的重置, 然后在/etc/bash.bashrc中最后添加alias s ...
- 百度地图Api进阶教程-点击生成和拖动标注4.html
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- Excel Sheet Column Number
Related to question Excel Sheet Column Title Given a column title as appear in an Excel sheet, retur ...
- [转]ionic项目之上传下载数据
本文转自:http://blog.csdn.net/superjunjin/article/details/44158567 一,首先是上传数据 记得在angularjs的controller中注入$ ...
- tarjan算法求割点cojs 8
tarjan求割点:cojs 8. 备用交换机 ★★ 输入文件:gd.in 输出文件:gd.out 简单对比时间限制:1 s 内存限制:128 MB [问题描述] n个城市之间有通讯网 ...
- 边工作边刷题:70天一遍leetcode: day 84-3
Meeting Rooms I/II 要点:这题和skyline类似,利用了interval start有序的特点,从左向右处理,用一个heap来动态表示当前占用rooms的时间段,所以heap的si ...
- HDU 5056 Boring Count --统计
题解见官方题解,我这里只实现一下,其实官方题解好像有一点问题诶,比如 while( str[startPos] != str[i+1] ) cnt[str[startPos]]--, startPos ...