支付接口教程,详解支付宝接口(一)

简介: 相对来说支付宝是三大常见支付方式里面,集成起来比较简单的,官方替程序员们考虑了很多,包括详细的注释,简单的流程。集成支付宝接口我们会遇到的情况只有下面两种:PC和WEB支付,场景是触屏网站和PC网站,也称作即时到帐接口APP支付,场景是原生APPPC和WEB支付之所以合并到一起是因为,支付的过程全部发生在支付宝的页面,我们只需要负责发起,只是发起时传递的参数不同罢了。

相对来说支付宝是三大常见支付方式里面,集成起来比较简单的,官方替程序员们考虑了很多,包括详细的注释,简单的流程。集成支付宝接口我们会遇到的情况只有下面两种:

  1. PC和WEB支付,场景是触屏网站和PC网站,也称作即时到帐接口

  2. APP支付,场景是原生APP

PC和WEB支付之所以合并到一起是因为,支付的过程全部发生在支付宝的页面,我们只需要负责发起,只是发起时传递的参数不同罢了。这为我们后面写通用支付类创造了很好的条件。是不是感觉很温暖,点赞马云爸爸。
APP支付相对复杂一些,主要是涉及到了公私钥的问题,在讲APP支付之前会先讨论一下公私钥,相信只要懂了原理,集成起来也不是什么难事。
让我们开始。

PC和WEB支付

接口申请

申请地址是支付宝的官网,然后我们需要一个商家账户,这个账户一般是客户或者老板注册之后给你的。在下面的地方申请:

img_47340cf9f1c88ce43ff9d1e0414453be.jpe
支付接口教程,详解支付宝接口(一)

img_0363c30b8375f1423282715e0270bc8a.jpe
支付接口教程,详解支付宝接口(一)

每一个接口的申请流程都给出了直观的图解:
img_42558bde983ddead78e504334934e2f0.jpe
支付接口教程,详解支付宝接口(一)

认证的流程也相对微信没有那么复杂,如果你先集成了微信支付再来看支付宝,是不是觉得很舒服呢。
我们把电脑网站支付和手机网站支付都申请了。
申请流程到集成上线这一步的时候,我们会看到一个 前往商家管理的按钮,点击它。
img_33aca64e3604ec8d786112438ee05c00.jpe
支付接口教程,详解支付宝接口(一)

集成这个接口我们只需要两个参数,点击 查看PID、Key:
img_fe99aa550020097d9b9b956584c11e8e.jpe
支付接口教程,详解支付宝接口(一)

partner,合作者身份ID,和seller_id是同一个值

key,加密方式为md5,用于签名

集成流程

  1. 配置好上面那些参数,引入必要的文件

  2. 构造请求函数

  3. 构造表单和按钮放到页面上准备提交

  4. 支付成功后的回调验签名

WEB支付集成方式是相同的,只是配置参数中的产品类型(service)不同,PC支付的产品类型为create_direct_pay_by_user,WEB支付的产品类型为alipay.wap.create.direct.pay.by.user。
集成过程中几乎没踩过什么坑,所以如果你的客户急着要项目的话,可以先快速的把支付宝集成好,让整个项目可以正常运行,之后再增加微信支付。

总结

我们已经看了5种支付方式,分别是微信家的三个,和支付宝家的两个。不难总结出下面这样的模式:
通常来说,无论何种支付方式,你发起支付需要下面几个参数:

1. 订单号

2. 订单名称

3. 支付金额

4. 前台回调地址

5. 后台回调地址

6. 穿透数据

通常来说,无论何种支付方式,支付成功后你会收到下面的信息:

1. 你的订单号

2. 支付接口的订单号

3. 支付时间

4. 支付金额

5. 支付方式

6. 穿透数据

这个模式对我们以后写通用支付类很重要,因为想要实现简单集成,拿来则用,最关键的思想就是要把口子扎紧了,也就是把尽量少的变化留给外部,尽量实现解耦。
上面的模式也就是整个支付模块和外部交流的模板,约定好输入和输出参数之后,你甚至可以换一套支付模块,也不会影响到项目的其他部分。同样的,一个项目里面如果出现了多个支付页面,也可以使用同一个模块调起支付,降低维护成本。
后面还剩下支付宝APP支付和银联支付需要纳入我们的模块中来,他们有个共同点就是,都需要配置公钥和私钥,所以后面我们就需要研究一下公私钥原理了。


以上内容属于作者原创,特此声明,如需转载,请留言取得同意

目录
相关文章
|
6月前
|
小程序 前端开发 API
微信小程序中微信支付流程
微信小程序中微信支付流程
78 0
|
API PHP
漏刻有时API接口实战开发系列(9):短信宝短信接口php开发及调用
漏刻有时API接口实战开发系列(9):短信宝短信接口php开发及调用
82 0
|
前端开发
基于thinkphp5.0和支付宝面对面扫码支付DEMO制作的扫码支付
基于thinkphp5.0和支付宝面对面扫码支付DEMO制作的扫码支付
627 0
基于thinkphp5.0和支付宝面对面扫码支付DEMO制作的扫码支付
|
XML JSON JavaScript
【微信支付】精选干货带你使用微信公众号调起微信支付
最近搞了个微信公众号拉起微信支付的功能项目,看了微信官方文档之后,我从不懂变成了迷糊,又看了几遍之后,发现我从迷糊变成了懵逼状态。
559 0
【微信支付】精选干货带你使用微信公众号调起微信支付
|
开发工具
微信支付 & 退款 - 快速入门(第三方SDK)(一)
微信支付 & 退款 - 快速入门(第三方SDK)(一)
1413 0
微信支付 & 退款 - 快速入门(第三方SDK)(一)
|
前端开发 开发工具 数据库
微信支付 & 退款 - 快速入门(第三方SDK)(二)
微信支付 & 退款 - 快速入门(第三方SDK)(二)
333 0
微信支付 & 退款 - 快速入门(第三方SDK)(二)
|
JavaScript 算法 NoSQL
微信公众平台开发(四)——微信支付
公众号中的微信支付需要通过JS来实现。微信JS-SDK是微信公众平台面向网页开发者提供的基于微信内的网页开发工具包。
|
Java API 调度
JAVA实现的支付宝扫描二维码支付
JAVA实现的支付宝扫描二维码支付http://www.bieryun.com/1638.html 支付项目采用springMvc+Dubbo架构实现,只对外提供接口 前期酝酿准备 最近项目中要上线支付功能、前段时间刚开发完微信的扫码支付、不得不说微信开发团队的文档真是一个烂。
2797 0