支付宝(alipay)即时到账收款接口开发中的那些事儿

不会做,看看也可以会,要做好就还是需要多学习

国庆回来就一直没状态,看完《银河护卫队》,印象最深的竟然是只有两句台词的呆萌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,此次交易就完成了。

乱是乱了点儿

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

时间: 2024-10-22 11:12:10

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

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

alipay 的几个内核功能文件: AlipayFunction.java package com.test.util.alipay; import java.io.FileWriter; import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; import java.util.ArrayList; import java.util.Collections; import ja

支付宝即时到账收款接口

官方文档 参考网站 1.src导入taobao接口包 lib导入jar包 百度网盘 2.三个支付宝界面 alipayapi.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="com.alipay.config.*"%> <%@ pag

支付宝支付即时到账接口在ThinkPHP商城中的应用

支付宝支付是PHP高级课程中ThinkPHP商城项目课的内容之一,在此视频中将会讲解如何将支付宝作为第三方库集成到ThinkPHP框架中,并且将支付宝的配置参数写入自定义配置中从而达到在整个项目中灵活调用支付的目的.涉及到的知识点有使用vendor函数加载第三方扩展库,对vendor函数做了详细的介绍.使用C函数来读取自定义配置.结合ThinkPHP的特性和支付宝第三方支付的调用方式做了支付宝集成到ThinkPHP框架的完整流程. 1.   支付宝支付–即时到账 1.1.  获取即时到账sdk

支付宝支付--即时到账 开发总结

在支付宝支付的开发过程中,通过自己的理解和尝试做出一点流程总结记录: 一.前往 https://doc.open.alipay.com/doc2/alipayDocIndex.htm 支付宝开放平台 点击业务接入->即时到账 ,即可下载 即时到账DEMO.DEMO中包含 两种签名版本(MD5.RSA) 三种编程语言(CSHARP.JAVA.PHP) 两种编码格式(GBK.UTF-8),我选择是MD5签名下的PHP语言UTF-8编码. 如果项目拥有SSL加密协议,也就是HTTPS安全通道,可以使用

支付宝-即时到账交易接口

引用 项目中需要集成支付宝,发现集成很简单,mark一下. 支付宝即时支付接口功能描述:通过支付宝的支付渠道,付款者可以直接汇款给另一个拥有支付宝账号的收款者. 支付宝官方接口:http://club.alipay.com/read-htm-tid-9976972.html 支付宝自带示例演示(create_direct_pay_by_user_jsp_utf8),已经添加附件,我们将其中的代码集成到我们项目中即可. 1.修改AlipayConfig.java中的partner,key,sell

搞定支付接口—支付宝即时到账支付接口详细流程和代码

搞定支付接口(一) 支付宝即时到账支付接口详细流程和java代码 为避免你们和我一样被支付接口搞得焦头烂额,写一个从申请开始到能收到钱为止的详细教程,实际上各个语言都可以用来集成支付接口,我用java来举例. 正所谓知己知彼,百战不殆.首先,我们来看一看支付宝平台给我们的说明. 打开支付宝 选择商家平台 选择电脑支付 进行如上操作后,来到如下图所示的页面 没有商家支付宝账号的需要注册,需要营业执照,经营信息,网址信息,联系人等等数据(图里说的很详细) 服务开通后,我们就可以集成了,我们点击如何集

支付宝:即时到账接口对接

支付宝接口DEMO文档下载 https://doc.open.alipay.com/doc2/detail.htm?spm=a219a.7629140.0.0.qAEbso&treeId=62&articleId=103566&docType=1 创建 反馈信息表 支付业务逻辑处理 1.支付接口的"合作身份者ID"和"密匙"就要自己申请,这里跳过 下载完demo文档后,选择适合自己项目的语言和编码格式,这里用的是JAVA - UTF-8 然后

xuelipay 个人即时到账收款平台 原理及源码详解 支持微信支付宝

xuelipay 个人即时到账收款平台 原理及源码详解 现状及解决原理 1.1 现状 1.2 原理 1.3 例子 收款到完成收款过程源码详解 1 上传账户的收款码 2.2 创建订单 2.3 手机app 监听 2.4 服务器处理付款完成通知 漏单原理及漏单的处理办法 3.1 为什么会漏单 3.2? 漏单的处理办法 3.3 源码解析 收款异常检测 4.1 异常检测配置 4.2 源码解析 4.3 收款失败原因 如何解决并发 官网 接入文档 收费模式 9.? 优惠活动 现状及解决原理 1.1 现状 微信

java 支付宝 第三方即时到账支付

java 支付宝 第三方即时到账支付 alipay 的几个内核功能文件: ====================================================================================================== AlipayFunction.java [java] view plain copy package com.test.util.alipay; import java.io.FileWriter; import jav