支付支付简要原理整理

1.第三方支付,就是一些具备实力和信誉保障的第三方独立机构提供的交易支付平台。买方选购了商品后,使用第三方平台进行付款,由第三方通知卖家货款到达。
目前市面上支持第三方支付的平台有很多,主要有支付宝,财富通,块钱,网银在线,易宝支付,等各大支付平台。商家通过和第三方签署协议,并获得一个账号,协议生效后
支付平台为商家开通支付功能,通过程序将接口集成到网站中。

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

具体第三方支付原理:

2.具体操作步骤:
1.用户向商城网站发起确认订单的请求。

2.商城网站接收到保存订单数据到数据库。
3.返回订单确认页面,页面上应该显示订单金额信息。

4.用户确认支付,发起支付请求。支付请求是发送至支付网关(支付宝,财付通),不是商城。
5.显示支付页面。

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

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

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

3.在支付宝中:首先有一个支付宝账号,向支付宝申请在线支付业务,签署协议。协议生效后支付宝会给网站方一个合作ID加安全效验,然后就按照支付宝的

的接口文档开发支付宝的接口,在上面的操作步骤中4是将数据发送到支付宝网关,7是通知验证部分,验证网关请求网站,网站验证规则对信息进行验证记录

我们开发时其他支付平台也是重要的这两步。
4. 支付宝支付流程:

查询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   商品展示地址 

5. 支付结果页面返回地址($return_url)

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

根据数据的配置更改mysql_config.php 通过对支付宝提供的demo修改。
在我们后台会有一张订单表:

id ,goods_id, goods_name, email ,status 这几个字段
6. 建立支付请求

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

7. 在用户支付完成后,支付宝会请求网站支付通知地址(这个地址在创建支付请求时作为参数传递过去),返回参数列表,支付宝的返回数据中有一个

签名串,在支付文件中首先要对数据进行签名验证。除了签名验证,还需要将参数中的notify_id 提交到支付宝的验证网关验证,通过验证服务器验证数据请求的

真实性,如果成功返回true,否则返回false.这里有一个句柄函数fsockopen

时间: 2024-07-29 20:16:49

支付支付简要原理整理的相关文章

如何玩转微信支付功能的原理和开发(转)

打开微信,各种营销信息霸占了我的眼球,以“微信支付+微信小店”的模式挑战阿里“支付宝+淘宝天猫”的模式开启了新纪元,腾讯此举是在革淘宝的命吗?有人说,微信对阿里最大的挑战,是把连接能力下发给了企业/用户,让企业/用户而不是平台自身发挥主动权和能动性来建立新的连接模式. 近年来,移动支付发展迅猛,移动支付已经成为了不可抵挡的发展趋势,其引领了新一轮的支付潮流.从某种角度来讲,反观移动互联网的迅速发展,对微信的快速发展起到了很大的推动力,其所蕴含的巨大潜力使其成为了市场争相抢夺的香饽饽.一时间各种支

GooglePlay支付相关资料部分整理

本篇只是记录当出找资料的点点滴滴.未做详细整理,只能算是收集. google play 应用内支付 http://developer.android.com/training/in-app-billing/preparing-iab-app.html#Connect http://developer.android.com/training/in-app-billing/index.html Go to the Google Play Developer Console site http://

商户网站使用第三方支付的大致原理和实现

如果把商户网站使用第三方支付平台(比如支付宝)的原理搞清楚,那编程就变得简单多了. 整个过程大致这样: 1.商户与支付宝签约.2.在商户网站购买商品,填写数量,确定购买后跳转到结账页面.结账页面可能包括订单号.定单状态(已支付/未支付).收货人信息.配送方式.定单金额.配送费用.总金额.支付方式.结账按钮,等等.3.当点击"结账"按钮,会重定向到支付宝付款页面.而在后台,实际上是把数据提交到支付宝一个接收支付信息的网关,比如是http://www.zhifubao.com:6060/A

微信支付-支付结果通用通知

微信官方文档非人类,在此整理 支付结果通用通知微信是xml的形式发送给你的,但貌似必须要用这个接收 $returnResult = $GLOBALS['HTTP_RAW_POST_DATA']; 使用$_POST接收不了,要问为何,百度脑补 接收到的数据与官方提供的字段无区别 官方demo 提供了解析方法 - 以下是我简化后的 public function FromXml($xml) { libxml_disable_entity_loader(true); return json_decod

Atitit 微信支付 支付结果通用通知

Wechat hto sh ma  返回页面return_url?- 熊佳佳的博客 d ,only notyfi url-... 接口链接 该链接是通过[统一下单API]中提交的参数notify_url设置,如果链接无法访问,商户将无法接收到微信通知. 通知url必须为直接可访问的url,不能携带参数.示例:notify_url:"https://pay.weixin.qq.com/wxpay/pay.action" 通知参数 字段名 变量名 必填 类型 示例值 描述 返回状态码 re

微信支付 支付成功后不跳转 ecshop微信支付 如下操作即可

微信--订单处理页: <?php    include("WxPayPubHelper.php");    //使用jsapi接口    $jsApi = new JsApi_pub();    //=========步骤1:网页授权获取用户openid============    //通过code获得openid    if (!isset($_GET['code']))    {        //触发微信返回code码        $url = $jsApi->c

[转]微信支付 支付结果通用通知

本文转自:https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=9_7 应用场景 支付完成后,微信会把相关支付结果和用户信息发送给商户,商户需要接收处理,并返回应答. 对后台通知交互时,如果微信收到商户的应答不是成功或超时,微信认为通知失败,微信会通过一定的策略定期重新发起通知,尽可能提高通知的成功率,但微信不保证通知最终能成功. (通知频率为15/15/30/180/1800/1800/1800/1800/3600,单位:

前后端分离微信公众号支付 支付授权目录的配置

支付授权目录配置: a. 前端的url上一级的 域名目录地址 b. 后端请求支付参数的url上一级的 域名目录地址 原文地址:https://www.cnblogs.com/foreversun/p/9595027.html

dynamic-load-apk插件原理整理

因为当前项目功能越来越多,编译速度越来越慢(公司电脑配置也挺差的...),并且方法数已超出65535的限制了,虽然通过multidex暂时解决了,但是这并不是一个好的解决方式.所以通过插件来加快编译速度以及解决方法数的限制,算是一个越来越重要的任务了,工作中还有很多新需求,所以趁放假的2天研究了下现在比较流行的插件框架dynamic-load-apk,并整理了下. 框架github地址:https://github.com/singwhatiwanna/dynamic-load-apk lib