您的位置:首页 > 编程语言 > PHP开发

PHP 对接 支付宝 移动接口

2016-01-09 12:45 441 查看
2016年 我本以为并没有很么意义 无非就是跟往常一样 一个人度过 除了觉得 时光飞逝 之外 再无任何感受 从 13年 到 16年 这三年间 我走不少的弯路 直到现在 才选择一条 IT 路线 这条路 并不是我想要的 只是暂时 无奈的 在走 因为心底总有一个声音在 呐喊 “大学生活” 让我坚持下去 不要放弃最开始的梦想

2015年12月31号 我还在 为了 产品上线 不断的测试 修改bug 最后就只剩一个问题 支付宝的移动支付对接 要说 这个 并不是很难 但确实困扰了 好几天 耗费了 很多的精力 之前也做过这个 原来是用别人集成 好的 我拿来用就好 不用费多大的劲 况且 上次用的是 ecshop 框架 这次 我用是thinkphp 框架 所以有所差异 区别就在于集成上 其他的都一样 先说说这次对接支付宝的心酸历程吧

支付宝我从 31号 到 6号 算是彻底搞定 先把经过我反反复复修改好的代码 贴出来
我的异步通知回调地址是:
www.aaaa.com/Home/Index/notify_url

/*
* @ out_trade_no 是订单号

* @ trade_no 是交易流水号

* @ trade_status 是交易状态

WAIT_BUYER_PAY 等待 支付 会触发 支付通知 返回 8次 这个文档里详细有说明

trade_success 支付成功 对数据库的更新操作 要写在这里

* @ total_fee 交易总金额
*/



@ 对接支付宝有 以下几点需要注意 (文档中都有 我之前没有仔细的去看 列出来)

1 首先这个 回调地址 一定不能带参数?a=11之类的
2 回调地址一定是外网可以访问的 并且没有什么 404错误 我在做的时候 自己代码有错误 导致 地址 404 最后一行行 排查 先不要着急写逻辑代码 测试 回调能不能收到 可以用记录日志的形式来看

自己的代码 先放到 其他方法执行 看有无错误 一旦 放到notify_url 当中 必须保证无错误 否则就会 接不到 通知 我在此纠结了很久

3 最后输出一定要有 success 这 7个字符 除此之外不能有任何东西 空格 html 标签等
我exit掉 是因为 我框架 开启了 debug 模式 成功后会返回 html 标签 支付宝服务器会认为不成功 不断的异步通知
导致我后来出现了 反复收到通知 在不断对同一个账户 重复加钱

4 在不知是何原因之后 可以请求支付宝的技术人员进行配合 查看 问题? 说实话 这几天 这些技术都被我烦遍了 老请他们配合 可以看到 错误原因 我 的一直是 404

5 心态 要好 不能着急 冷静思考 我在做的时候就很不理智 很多次的错误信息 虐哭 了我

没有找原因 在一个错误上反复的测试 浪费 了大量的时间 在写程序 想很重要 写之前 就很清楚怎么做
思路很清晰 写的时候如神附体 只听键盘的声音 一直在哒哒想 一会就写完 运行 还不报错 这种情况很少 一般都会有错误
所以我现在写的很慢 写完后 3分钟 查看 尤其是变量名 有木有写错 经常有因为 手快 把 model 写成 modle 总觉得没错
可就是找不到原因 我记得一位 6年PHP 大牛 跟我说过这么一句话 看代码 错了肯定是你写的有问题 仔细看 对于新手来说 总想着 有人带
大神帮

可是 我总结出来惨痛的经验

a 大神 跟你在一起办公 他更清楚你的情况 可现场查看 解决

b 打电话说问题一定 简洁明了 听他的思路分析 然后自己去搞定 不要抱有任何希望 想 着 大牛解决

这是我之前的想法 因为只有自己研究 解决 问题 困难 才能不断 的成长

我的建议是:
准备好笔和纸 有问题直接 写出来 有解决办法 就写上去看那条路可以走

没有办法 把 核心问题列出来? 分析矛盾点 搞定 它 就行了

这是我的习惯 .

写了一年的PHP了

16年 也是 我 20岁了 3年的生日我都不曾过 特送给自己的礼物 就是计划
&&&&&&&&&&&&&&&&&&&&&&&&&&
@   再探PHP
@   初识Linux
@ 打开Mysql
@ 一场独自的旅行

&&&&&&&&&&&&&&&&&&&&&&&&&&

  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: