目录
  在电商类的网站实现的过程中,我们经常会涉及到支付的功能,目前比较流行的第三方支付是支付宝和微信,所谓第三方支付,就是一些和各大银行签约、并具备一定实力和信誉保障的第三方独立机构提供的交易支持平台。在通过第三方支付平台的交易中,买方选购商品后,使用第三方平台提供的账户进行货款支付,由第三方通知卖家货款到达。本文以支付宝的接入为案例。
一.基本流程图
二.详细步骤分析:
三.支付宝接口接入
下面我们展示一下即时到账的业务逻辑流程:
第一步:买家选择心仪产品
第二步:跳转到收银台页面
第三步:买家选择付款方式
第四步:付款成功
下面我们展示一下接入的步骤:
第一步:获取PID,开发者登录开放平台,点击右上角的“账户及密钥管理”。
查询到合作伙伴身份(PID),以2088开头的16位纯数字。" >第二步:选择“合作伙伴密钥”,即可查询到合作伙伴身份(PID),以2088开头的16位纯数字。
第三步:配置秘钥
第四步:接入项目
注:notify_url页面只能返回success,异步通知页面上不可有任何HTML代码。支付结果请以异步通知为准。
首页 后端开发 php教程 php在线支付功能的实现(支付宝)

php在线支付功能的实现(支付宝)

Apr 04, 2017 pm 02:51 PM
php 支付宝

  在电商类的网站实现的过程中,我们经常会涉及到支付的功能,目前比较流行的第三方支付是支付宝和微信,所谓第三方支付,就是一些和各大银行签约、并具备一定实力和信誉保障的第三方独立机构提供的交易支持平台。在通过第三方支付平台的交易中,买方选购商品后,使用第三方平台提供的账户进行货款支付,由第三方通知卖家货款到达。本文以支付宝的接入为案例。

一.基本流程图

php在线支付功能的实现(支付宝)

支付流程

二.详细步骤分析:

(1)用户向商城网站发起确认订单的请求(例如点击立即购买)
(2)商城网站接收到请求保存订单数据到数据库或其他存储介质
(3)返回订单确认页面,页面上应该显示订单金额等信息(点击立即购买后的订单界面)
(4)用户确认支付,发起支付请求。注:支付请求是发送到支付网关(比如支付宝、网银在线)而不是发送到商城网站。
(5)显示支付页面(这个界面就是支付宝的同一界面了)
(6)用户填写认证信息提交(扫码相对方便些)
(7)这里有两个步骤一个是扣款成功后页面跳转到支付结果页面(展示给用户),另一个是支付通知,这两步没有先后顺序可能同时执行,商城网站接收到支付通知后根据验证规则验证信息的有效性,并作出相应的更改操作(例:有效则更改订单为已付款状态,无效则为未支付状态)。

  以支付宝为例:如果实现在网站中集成支付宝接口,首先要有一个支付宝账号,接下来向支付宝申请在线支付业务,签署协议。协议生效后有支付宝一方会给网站方一个合作伙伴ID,和安全校验码,有了这两样东西就可以按照支付宝接口文档开发支付宝接口了,在上图的几个步骤中只有4和7两个步骤在商城与支付网关之间有信息交互。在步骤4中指将数据发送到支付网关(支付宝),在步骤7中是的通知验证部分,验证网关请求网站某地址,网站按验证规则对信息进行验证记录并作出响应,我们几乎在开发任何支付接口时,重点是这两部分的开发,明白支付接口原理,开发支付接口就不难了。需要额外强调的是,如果我们想要测试整个流程,那么我们需要有一个商家账号(签约账号),就是需要向支付宝提交营业执照等材料,经过支付宝审核通过后,可以进行收款的账号。(这个一般个人很少有,开发时可以用公司名义申请一个)

三.支付宝接口接入

接口简介与测试
  支付宝目前提供了,担保交易、标准即时到帐、双功能等几种接口,只是在功能上有些差异,网站集成方式是一样的。以标准即时到帐接口为例,在与支付宝签署协议后(即成为正式商家后),还需要几个步骤才能完成集成。针对每种功能,支付宝的开发者平台已经列举了详细的步骤以及案例展示。关于如何签约请访问 前往支付宝认证

下面我们展示一下即时到账的业务逻辑流程:

第一步:买家选择心仪产品

php在线支付功能的实现(支付宝)

第一步:点击了立即购买

第二步:跳转到收银台页面

    1.用户可以打开手机钱包选择“扫一扫”,对准屏幕扫码,待手机提示付款后选择支付工具输入密码支付即可;

php在线支付功能的实现(支付宝)

扫一扫


    2.如果不想使用手机支付,可以点击上图所示页面右侧的“登录账户付款”,输入支付宝账号和密码登录。

php在线支付功能的实现(支付宝)

登录账户付款

第三步:买家选择付款方式

php在线支付功能的实现(支付宝)

选择付款方式

第四步:付款成功

php在线支付功能的实现(支付宝)

付款成功

下面我们展示一下接入的步骤:

第一步:获取PID,开发者登录开放平台,点击右上角的“账户及密钥管理”。

php在线支付功能的实现(支付宝)

获取PID

第二步:选择“合作伙伴密钥”,即可查询到合作伙伴身份(PID),以2088开头的16位纯数字。

php在线支付功能的实现(支付宝)

密钥

第三步:配置秘钥

请参考支付宝DSA、RSA、MD5三种签名方式,建议使用支付宝提供的官方工具,点此前往。

第四步:接入项目

(1)下载官方文件(demo), 点击下载。
(2)配置DEMO中的开发者信息,找到目录下alipay.config.php文件并打开,内容如下:

php在线支付功能的实现(支付宝)

配置代码


(3)在配置文件中找到以下参数进行对应配置:

php在线支付功能的实现(支付宝)

参数

php在线支付功能的实现(支付宝)

找到这部分


(4)若您选择MD5签名方式,请根据MD5方式配置:详见第三步
(5)跟我们的php代码连接,我们可以看到还有一个名为alipayapi.php的文件,这个文件就是接受订单信息的,通过post形式将订单参数传递到这个文件,这个文件已经引用了alipay.config.php,所以大家的基本配置要正确,当成功接受参数后,会跳转到支付宝预先写好的支付界面。

php在线支付功能的实现(支付宝)

alipayapi.php的文件


(6)接受支付结果:配置同步返回(同步跳转通知)和异步回调(异步通知)。在配置文件中有return_url和notiry_url两个参数,可分别配置到DEMO中的return_url页面和notify_url页面。同步返回使用GET方式获取,异步通知使用POST方式获取;同步返回验证有1分钟超时,异步通知验证没有时间限制。return_url页面和notify_url页面都会将数据使用AlipayNotify.verify() 验签方法验证。
(7)最终的判断:通过返回参数中的trade_status字段(交易状态)判断并可写入执行业务逻辑代码。

php在线支付功能的实现(支付宝)

屏幕快照 2016-12-15 16.30.28.png

注:notify_url页面只能返回success,异步通知页面上不可有任何HTML代码。支付结果请以异步通知为准。

以上是php在线支付功能的实现(支付宝)的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

在PHP API中说明JSON Web令牌(JWT)及其用例。 在PHP API中说明JSON Web令牌(JWT)及其用例。 Apr 05, 2025 am 12:04 AM

JWT是一种基于JSON的开放标准,用于在各方之间安全地传输信息,主要用于身份验证和信息交换。1.JWT由Header、Payload和Signature三部分组成。2.JWT的工作原理包括生成JWT、验证JWT和解析Payload三个步骤。3.在PHP中使用JWT进行身份验证时,可以生成和验证JWT,并在高级用法中包含用户角色和权限信息。4.常见错误包括签名验证失败、令牌过期和Payload过大,调试技巧包括使用调试工具和日志记录。5.性能优化和最佳实践包括使用合适的签名算法、合理设置有效期、

解释PHP中的晚期静态绑定(静态::)。 解释PHP中的晚期静态绑定(静态::)。 Apr 03, 2025 am 12:04 AM

静态绑定(static::)在PHP中实现晚期静态绑定(LSB),允许在静态上下文中引用调用类而非定义类。1)解析过程在运行时进行,2)在继承关系中向上查找调用类,3)可能带来性能开销。

什么是PHP魔术方法(__ -construct,__destruct,__call,__get,__ set等)并提供用例? 什么是PHP魔术方法(__ -construct,__destruct,__call,__get,__ set等)并提供用例? Apr 03, 2025 am 12:03 AM

PHP的魔法方法有哪些?PHP的魔法方法包括:1.\_\_construct,用于初始化对象;2.\_\_destruct,用于清理资源;3.\_\_call,处理不存在的方法调用;4.\_\_get,实现动态属性访问;5.\_\_set,实现动态属性设置。这些方法在特定情况下自动调用,提升代码的灵活性和效率。

在使用PHP调用支付宝EasySDK时,如何解决'Undefined array key 'sign'”报错问题? 在使用PHP调用支付宝EasySDK时,如何解决'Undefined array key 'sign'”报错问题? Mar 31, 2025 pm 11:51 PM

问题介绍在使用PHP调用支付宝EasySDK时,按照官方提供的代码填入参数后,运行过程中遇到报错信息“Undefined...

说明匹配表达式(PHP 8)及其与开关的不同。 说明匹配表达式(PHP 8)及其与开关的不同。 Apr 06, 2025 am 12:03 AM

在PHP8 中,match表达式是一种新的控制结构,用于根据表达式的值返回不同的结果。1)它类似于switch语句,但返回值而非执行语句块。2)match表达式使用严格比较(===),提升了安全性。3)它避免了switch语句中可能的break遗漏问题,增强了代码的简洁性和可读性。

什么是跨站点伪造(CSRF),您如何在PHP中实施CSRF保护? 什么是跨站点伪造(CSRF),您如何在PHP中实施CSRF保护? Apr 07, 2025 am 12:02 AM

在PHP中可以通过使用不可预测的令牌来有效防范CSRF攻击。具体方法包括:1.生成并在表单中嵌入CSRF令牌;2.在处理请求时验证令牌的有效性。

H5和小程序与APP的区别 H5和小程序与APP的区别 Apr 06, 2025 am 10:42 AM

H5、小程序和APP的主要区别在于:技术架构:H5基于网页技术,小程序和APP为独立应用程序。体验和功能:H5轻便易用,功能受限;小程序轻量级,交互性好;APP功能强大,体验流畅。兼容性:H5跨平台兼容,小程序和APP受平台限制。开发成本:H5开发成本低,小程序中等,APP最高。适用场景:H5适合信息展示,小程序适合轻量化应用,APP适合复杂功能应用。

See all articles