使用支付宝对企业金流接口的注意事项--URL参数警报

现在许多企业与组织都有网上卖东西的需求,而在线付款成为B2C的最大难题,因为银行不能能直接与 那么多企业(而且是中小企业)实施技术对接,幸好有类似支付宝这样的中间件,这个问题才得以解决,但 是在付款给支付宝时,有一个“URL参数问题”,如果处理不当,就会给粗心的接口使用者造成损失。

这样讲的意思是:如果支付宝可以更加严谨的处理或B2C企业技术人员能够严谨处理,这个损失是可以 避免的。

为了说明问题所在,先说一下支付宝接口在处理客户付款时的流程:

1.顾客浏览B2C网站并选择产品,并点击类似“支付宝支付”的按钮--2.B2C网站后台程序处理,根据 顾客所选商品金额、订单号等信息生成URL,跳转至支付宝网站--3.支付宝网站根据URL参数生成付款数额 ,用户在支付宝界面选择网银并支付给支付宝--4.支付宝收到银行款项,将款项打入B2C企业的支付宝帐 户,并主动访问B2C网站的一个页面,将付款结果以参数形式返回给该页--5.该页面接收到参数后,根据 URL MD5验证与付款状态成功字段,修改订单状态为“已付款”--6.B2C网站管理员看到“已付款”后发货 。

问题出在步骤2与步骤5。

首先说说步骤2的具体环节:B2C网站按照支付宝接口的要求,将商品金额、订单号码等参数拼接为一 个URL,并将此URL参数的MD5值做为最后一个参数(应该是支付宝那边做验证用)传递给支付宝网站,支付 宝网站根据参数中的信息生成付款项。而URL中的所有参数都是明文传递的,虽然有MD5值做校验,但无法 防止人为修改URL中的参数。攻击者完全可以在下完订单后,获得此URL并修改订单金额参数的值,并生成 新的MD5校验值,而后拼接新的URL传递给支付宝,这样一来,一张订单的应付款项就被修改了。

再来说说步骤5:B2C网站的程序员在接收到反馈后,发现付款状态为成功,就会更新整张订单状态为 “已付款”,而往往忽略了一个及其重要的事情,那就是检测用户付款数额!因为支付宝只保证某订单是 否付款成功,而并不能保证付款数额为订单额!(原因上面说的很清楚了)

解决方案:

支付宝公司改进方面:将URL参数以可逆密文形式传递,算法保密,不可对企业程序人员开放!

B2C企业方面:接收到支付宝反馈后,如果付款标志为“True”,先不要急于更新订单状态,要判断一 下付款金额是否为订单额,然后在处理

时间: 2024-09-17 03:40:49

使用支付宝对企业金流接口的注意事项--URL参数警报的相关文章

支付宝 即时交易接口 请求参数 能设置备注吗?

问题描述 支付宝 即时交易接口 请求参数 能设置备注吗? 解决方案 各位大神们,指点下,接口开发中要如何 配置 ,感谢! 解决方案二: 并不是 那个 body 参数,那个是商品描述.. 解决方案三: 还是看官方sdk文档吧.

支付宝收银台收款接口开发

问题描述 支付宝收银台收款接口开发 帮帮忙 支付宝的收银台收款接口,官方没有资料. 描述: 扫码枪先扫描物品,然后再扫描手机支付宝里的付款码,就可以直接付款了 解决方案 你想用免费的? 如果你是开超市的,或给开超市的写这个程序,扫描设备会给你程序发消息,除非你采购的扫描设备是水货,你可以问问扫描设备厂商,有免费的驱动软件提供的. 有app版本的,有web版本的,形成订单后,等待扫描支付宝付款吗,这里可以告诉你一下,扫描设备厂商他们会给你提供扫描支付宝这个接口呢. 解决方案二: 哥,我再问个问题,

url-关于支付宝支付回调接口参数问题

问题描述 关于支付宝支付回调接口参数问题 支付宝回调接口参数中notify__url这个参数,支持ip加端口的格式吗?

我要接入一个支付宝的充值接口 要钱吗?

问题描述 我要接入一个支付宝的充值接口 要钱吗? 网页支付,这种接口要收钱吗? 解决方案 开通需要企业认证,不收费.但是转账本身要收费.如果是个人,你得找公司挂靠. 解决方案二: 看下支付宝主页,有介绍,去看下 解决方案三: 申请需要押金,微信就不需要押金,但需要审核300. 解决方案四: 不要钱的,你可以接个自己的网站.比如凡科 解决方案五: 不要钱的,你可以接个自己的网站.比如凡科 解决方案六: 这种是属于什么的额?支付宝有很多个,我不知道那个-

thinkPHP框架对接支付宝即时到账接口回调操作示例_php实例

本文实例讲述了thinkPHP框架对接支付宝即时到账接口回调操作.分享给大家供大家参考,具体如下: 关于支付宝即时收款接口的对接过程,很简单,也有很多人发过,我这里就不在啰嗦了,对接完成后,在线支付成功后的回调,相对来说,是个难点,,我重点分享下我的经验. 我在开发二代旅游CMS(http://www.erdaicms.com)的时候,在回调的时候,也花了不少时间. 不管是支付宝接口好是微信支付接口,回调都分为跳转回调和异步通知回调,跳转回调是不保险的,加入客人支付完成后马上把支付页面关闭,没跳

php 支付宝-开发支付宝担保交易接口问题

问题描述 开发支付宝担保交易接口问题 个人网站想通过支付宝担保接口实现购物功能,在支付宝传回成功状态码后,该怎么利用"trade_no="来更改订单属性,确定已付款或未付款成功呢? 程序为PHP编写 解决方案 在支付宝的提供的sdk中有相关实现,具体就是通过支付宝那边返回来的订单编号,通过这个订单编号查询我们本地的订单,然后更改相应属性,是否成功付款支付宝会返回信息的

php支付宝在线支付接口开发教程_php实例

1.什么是第三方支付 所谓第三方支付,就是一些和各大银行签约.并具备一定实力和信誉保障的第三方独立机构提供的交易支持平台.在通过第三方支付平台的交易中,买方选购商品后,使用第三方平台提供的账户进行货款支付,由第三方通知卖家货款到达. 目前提供第三方支付的机构很多,常见的有支付宝.财付通.快钱.网银在线.易宝支付.云网等各大支付平台.网站如果需要实现第三方支付首先应该向第三方支付平台申请一个账号并签署协议,协议生效后第三方支付平台将为其开通在线支付功能,通过程序将接口集成到网站中. 为什么要使用第

支付宝服务窗API接口开发php版本_php实例

支付宝服务窗API接口的开发对于许多网站要充值的朋友来讲是非常的重要的,今天我们就一起来看一篇关于php版本的支付宝服务窗API接口的开发例子. 这两天没事要接入支付宝服务窗,看支付宝的DEMO,我的神,我怎么评价好呢?阅读性不是很好,很阻碍简单的开发.所以我就根据提供的API简单的开发了点,接口还有很多不完善,有兴趣的可以自己完善一下,下边我就把代码贴出来,有时间再写如何使用. <?php class AlipayService{ /** - 服务接口信息 */ public $service

php版本的支付宝服务窗API接口的开发

这两天没事要接入支付宝服务窗,看支付宝的DEMO,我的神,我怎么评价好呢?开发思路很牛逼,但是阅读性不是很好,很阻碍简单的开发.所以我就根据提供的API简单的开发了点,接口还有很多不完善,有兴趣的可以自己完善一下,下边我就把代码贴出来,有时间再写如何使用. <?php class AlipayService{     /**      - 服务接口信息      */     public $service = null;     /**      - 签名信息      */     publ