51Testing软件测试论坛

标题: 告诉你第三方支付的原理 [打印本页]

作者: 草帽路飞UU    时间: 2022-11-21 16:19
标题: 告诉你第三方支付的原理
第三方支付,就是一些具备实力和信誉保障的第三方独立机构提供的交易支付平台。买方选购了商品后,使用第三方平台进行付款,由第三方通知卖家货款到达。


  目前市面上支持第三方支付的平台有很多,商家通过和第三方签署协议,并获得一个账号,协议生效后,支付平台为商家开通支付功能,通过程序将接口集成到网站中。

  使用第三方支付可以统一资源,商家可以很容易的实现与几乎所有种类的银行实现交易服务。

  今天来说一下第三方支付的基本原理。

  具体操作步骤

  1.用户向商城网站发起确认订单的请求。

  2.商城网站接收到保存订单数据到数据库

  3.返回订单确认页面,页面上应该显示订单金额信息。

  4.用户确认支付,发起支付请求。

  支付请求是发送至支付网关,不是商城。

  5.显示支付页面。

  6.用户填写认证信息(账号密码)提交。

  7.这里一共两步,一个是扣款成功后页面跳转到支付结果展示页面,另一个是支付通知,这两步同时进行,商城网站接收到支付通知后根据验证规则验证操作信息的有效性。

  有效则为订单已付款状态,没有则为非法请求信息。

  支付宝举例


  首先有一个支付宝账号,向支付宝申请在线支付业务,签署协议。

  协议生效后支付宝会给网站方一个合作ID加安全效验,然后就按照支付宝的的接口文档开发支付宝的接口,在上面的操作步骤中4是将数据发送到支付宝网关,7是通知验证部分,验证网关请求网站,网站

验证规则对信息进行验证记录,我们开发时其他支付平台也是重要的这两步。

  支付宝支付流程

  查询PID和KEY------->下载技术文档----------->根据代码示例集成------------->接口测试----------->集成成功。

  支付宝在后台商家服务菜单:查询合作者身份(PID),查询安全验证码(Key)。

|-alipay_notify.php----支付宝通知处理文件 |-alipay_service.php---支付宝请求处理文件 |-alipay_config.php-----基础信息配置文件 |-index.php-----------快速付款模板入口文件 |-notify_url.php--服务器

异步通知页面文件

  alipay_config.php文件分析:我们需要将支付宝后台获取的PID与Key写入到配置文件中。

2345678 $partner    ="---"."86754233"  合作伙伴ID $security_code='u3e'guirpffcib7''安全验证码 $_input_charset="utf-8"  字符编码格式 $sign_type='MD5'  加密方式 $transport="http" 访问模式

$notify_url  支付通知地址 $return_url  返回地址 $show_url   商品展示地址


  支付结果页面返回地址

  支付结果页面是用户支付完成后,支付宝会请求该地址:$notify_url 这里是向支付宝服务器请求,这个url是以http开头的完整格式路径,然后根据数据库脚本创建一张表,根据数据的配置更改


mysql_config.php 通过对支付宝提供的demo修改。

  在我们后台会有一张订单表:id、goods_id、 goods_name、email、status这几个字段。

  建立支付请求

  我们一般发送哪些参数给支付网关,而且这些参数并不是原封不动的提交到支付宝就可以的,目前使用MD5签名防止数据篡改机制。

  支付完成

  在用户支付完成后,支付宝会请求网站支付通知地址(这个地址在创建支付请求时作为参数传递过去),返回参数列表,支付宝的返回数据中有一个签名串,在支付文件中首先要对数据进行签名验证。

  除了签名验证,还需要将参数中的notify_id 提交到支付宝的验证网关验证,通过验证服务器验证数据请求的真实性,如果成功返回true,否则返回false.这里有一个句柄函数fsockopen。

[attach]145244[/attach]









欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2