不会做,看看也可以会,要做好就还是需要多学习
国庆回来就一直没状态,看完《银河护卫队》,印象最深的竟然是只有两句台词的呆萌groot,昨天才休息一天,大耍大吃,今天还是把昨天的知识学习一下。前些天同事做一网站,需要用到支付宝接口,由于同事才学习PHP,我比他多学习了两天,我就帮忙参考了一下。
demo就是教程
支付宝官方网站(https://b.alipay.com/order/techService.htm)下载了开发包,直接拷贝了PHP版本作为我们需要的版本,里面直接就是一个demo。要怎么做呢?没吃过蛇肉还没见过蛇跑啊,要是没见过就去见识见识,毕竟关系到“人民币”。按照用户的习惯还是熟悉一下流程:加购物车(项目直接忽略,定向人群)- 下订单 - 确认订单 - 支付订单。
思路整理分析:(仅仅来源于一个顾客的思路,不正确请留言指教一下,谢谢!)
    下订单:订单数据交互至数据库,跳转至确认订单页面
    确认订单:订单数据显示给顾客确认一下
    支付订单:跳转至支付流程页面
    订单状态:订单状态修改一下
问题整理分析:(问题来源于新手刚刚看完DEMO)
    数据是通过表单提交信息至确认订单页面,直接获取数据库数据?还是显示表单提交的信息?
    确认订单后跳转至支付页面,直接获取数据库数据?还是显示表单提交的信息?
支付流程现实是这样的
如图一,下订单页面,页面如图,信息来源于第一界面,数据仅仅是针对顾客的第一预览。

页面中的信息无需如此,简单修改了一下,提交订单后跳转至alipayapi.php,页面内接受信息再让用户确认一下,或者直接取消显示的确认按钮,数据通过订单号,查询出商品单价等信息进行提交。(提到这里仅仅是因为当时开发中的一个小插曲,异步的不能修改状态,于是我帮忙测试的时候,我价格修改为了0.01元,支付成功,同步状态修改,如果是发货的话,不得气死,还好只是类似于支付定金,还好有人审核,但是这终究是一个问题)。问题来源于alipayapi没有进行数据验证,关系到钱的程序还是要谨慎一点好。
走一下接口开发流程
很简单的修改一下配置文件alipay.config.php,再然后简单的配置一下alipayapi.php,主要说明一下这两项:
//服务器异步通知页面路径
$notify_url = "http://商户网关地址/create_direct_pay_by_user-PHP-UTF-8/notify_url.php";
//需http://格式的完整路径,不能加?id=123这类自定义参数

//页面跳转同步通知页面路径
$return_url = "http://商户网关地址/create_direct_pay_by_user-PHP-UTF-8/return_url.php";
//需http://格式的完整路径,不能加?id=123这类自定义参数,不能写成http://localhost/
这里我们默认通知页面为:http://www.pushself.com/
$notify_url = "http://www.pushself.com/notify.php";
$notify_url = "http://www.pushself.com/return.php";
notify.php页面就是支付订单页面,登录支付宝支付(扫一扫支付)后,支付宝自动抓取的页面。
return.php页面就是支付订单页面,登录支付宝支付(扫一扫支付)后,页面跳转至的回调页面。
主要是针对扫一扫支付,以上两个页面为成功后做修改状态操作,return.php是支付过程中不能关闭浏览器,关闭了就不能修改状态,相反此时notify.php就会起作用了,关闭浏览器后,支付宝自动抓取这个页面,如果抓取到success,此次交易就完成了。

乱是乱了点儿
做事需要的是坚持,有些事情不做就永远也不会。

支付宝(alipay)即时到账收款接口开发中的那些事儿的更多相关文章

  1. java 支付宝 第三方即时到账支付 接口

    alipay 的几个内核功能文件:=================================================================================== ...

  2. 个人免签即时到账收款接口 bufpay.com 支持多账号收款

    有很多 bufpay 的用户反馈,单个手机收款有些时候不太方便,切换手机太麻烦:或者是营业额比较多,希望分摊到多个账号上面. 基于以上的问题,bufpay 开发了多手机收款的功能:每个收款的手机安装 ...

  3. 关于http接口开发中json格式数据编码问题处理

    关于http接口开发中json格式数据编码问题处理 在实际工作中,接口很多时候返回json格式,但有时返回的格式会有编码问题 假设如下接口:http://service.test.com/interf ...

  4. 个人开发者即时到账收款方案 BufPay.com

    BufPay 个人即时到账支付平台 前言 作为独立开发者,一般只有一个人独立奋战,做出了产品需要收款是非常麻烦的,接入支付宝微信支付都需要公司公户,而注册公司.开公户等一系列操作非常麻烦,成本也很高一 ...

  5. 支付宝PC即时到账和手机网站支付同步

    前几个月做了一个旅游网站,有PC站和手机站,涉及支付宝支付功能. 要求:PC站下的单,用户用手机登录也能支付;同理,手机站下的单,PC端登录也能支付. 附支付宝开放平台网址:即时到账 ,手机网站支付. ...

  6. 支付宝即时到账交易接口C#接入方式的几个坑

    1.在官方文档中 https://docs.open.alipay.com/62/104743 可以清楚看到input_charset前面没有要求加下横杠,可是请求示例是带着的.经过实验得知,这个必须 ...

  7. 微信支付宝个人免签约即时到帐接口开发附demo

    支付界面: 扫码支付界面: 付成功后可以跳转到你程序指定的地址! demo: http://likeyunba.com/WeChat-Pay/

  8. 微信小程序接口开发中解决https外网调试问题

    准备工作 1.有一台阿里云的Linux CentOS6 服务器,安装支持ssl模块的Nginx 2.有自己的域名,把域名解析到指向该服务器IP,本例中将wx.wangjiang.net 解析到服务器I ...

  9. 接口开发中 遇到的坑——Java byte与C# byte 数据转换问题

    前提: 公司与其他公司进行接口对接 需要使用Byte[]数据流传输数据 原本想法如下:直接IO生成就ok了 using System; using System.IO; using System.Te ...

随机推荐

  1. java多线程系列6 synchronized 加强版 ReentrantLock

    ReentrantLock类是可重入.互斥.实现了Lock接口的锁,它与使用synchronized方法和快具有相同的基本行为和语义,并且扩展了其能力.ReenreantLock类的常用方法有: Re ...

  2. python模块:xml

    """Core XML support for Python. This package contains four sub-packages: dom -- The W ...

  3. 完整的SOPC开发流程体验

    课程目标:学习并掌握完整的SOPC开发流程. 开发环境:Quartus15.1 学习内容:1.使用QSYS工具建立能够运行流水灯项目的NIOS II处理器系统 2.在quartus ii中添加NIOS ...

  4. iowait过高处理

    网管告警: 告警主机:YiDHLWJKFZ-js-app- 主机IP:192.168.***.*** 告警项目:system.cpu.util[,iowait] 告警时间: :: 告警等级:Warni ...

  5. 将Linux(ubuntu)安装到U盘上,实现即插即用

    说明: 本教程是说明如何将ubuntu系统安装到U盘上(也就是把U盘当做电脑的硬盘),可以实现U盘插到任何电脑上都能够在实体机上运行ubuntu系统,而且所有的运行配置都能被保存,相当于随身携带的一个 ...

  6. java之ArrayList详细介绍

    1  ArrayList介绍 ArrayList简介 ArrayList 是一个数组队列,相当于 动态数组.与Java中的数组相比,它的容量能动态增长.它继承于AbstractList,实现了List ...

  7. WIN 10下Mysql 5.7.21解压缩(免安装版)配置

    网上看了N多大神的东西东抄抄西抄抄,老是就不对,因为很多资料不是针对5.7这个版本的内容. 首先解压文件,比如我解压到D:\Program Files\mysql-5.7.21-winx64 第一步: ...

  8. React中的“双向绑定”

    概述 React并不是一个MVVM框架,其实它连一个框架都算不上,它只是一个库,但是react生态系统中的flux却是一个MVVM框架,所以我研究了一下flux官方实现中的"双向绑定&quo ...

  9. Python内置类型(5)--迭代器类型

    指能够被内置函数next调用并不断返回下一个值,直到最后抛出StopIteration错误表示无法继续返回下一个值的对象称为迭代器(Iterator) 其实以上的说法只是侠义上的迭代器的定义,在pyt ...

  10. JVM-常用内存调优参数总结

    一.内存调整参数 -Xmx2g    设置堆内存最大值为2g -Xmx512m  设置堆内存最大值为512m -Xms1g   设置堆内存最小值1g (ps:-Xms和-Xmx实际上是 -XX:Ini ...