电子商务中第三方支付网关谈

简介: 很久就想写了,一直觉得太简单了,可能没什么技术含量,不过也希望给在做电子商务网站的朋友有一定帮助。 在电子商务越来越发达的今天,第三方支付网关也越来越多,虽然第三方支付的公司很多,但在接口方面还是比较相似的,都有一定的规则在其中,比如支付,它势必会有订单生成、支付、返回成功标志、对账等功能,当然,各家网关还有自己独有的一些特点,比如IPS的分账系统。

很久就想写了,一直觉得太简单了,可能没什么技术含量,不过也希望给在做电子商务网站的朋友有一定帮助。

在电子商务越来越发达的今天,第三方支付网关也越来越多,虽然第三方支付的公司很多,但在接口方面还是比较相似的,都有一定的规则在其中,比如支付,它势必会有订单生成、支付、返回成功标志、对账等功能,当然,各家网关还有自己独有的一些特点,比如IPS的分账系统。

或许大家会在各家公司之间取舍,就我个人来看,现在做的比较成功的,还算支付宝,有淘宝这个得天独厚的电子商务平台,使支付宝这个第三方成为了国内首屈一指的支付平台,稳定性和安全性都相对比较好。IPS是国内较早起家的第三方支付网关,成熟的商业模式和完善的客服体系,也在这个市场中,赢得了较好的口碑。还有一些大家比较熟悉的,快钱、财付通、chinapay、paypal等,就在今年,国内的银联机构也加入了这场战斗中,再加上各种第四方支付接口,电子商务在金融危机下的今天,正在迅速的发展中。

现在支付支持的方式越来越多,大概分为:

1、网银支付(银行卡)

2、充值卡支付(esales)

3、手机卡支付

4、第三方货币支付

除了网银支付这个大家都有的支付方式外,各家公司的其他功能,也是我们选择支付网关时需要考虑的。所以我们选择的时候需要考虑的一些问题如下:

1、稳定性

2、安全性

3、功能

4、手续费

5、结算时间

6、接口的复杂度

重要性从上往下,或许很多人会看手续费,但这其实并不是很重要,我使用过各种支付接口,有收费和免费的,免费的手续费也比较低,但在结算和功能上比收费的网关差的真的很多,所以大家在选择的时候一定要按照自己的网站规模来进行选择,那样才能更好的。这里我想说一下,就是第四方支付网关,这类网关其实是整合了多家网关,然后变为自己的一个支付网关,这类网关收费也相对较高,安全性方面也不是很好,如果可能还是不要选择这类网关比较好。

当你选择好支付网关后,请一定要下载他们的API文档,在这里 你可以下载 支付宝API  IPSAPI

因为各家公司还有自己的特色,所有文档会不太一样,不过大致相同的是网银的支付方式,其实大概的流程如下:

提交:用户 –>  生成订单 –>  生成支付网关订单 –>  提交到支付网关(我们只需要到这里) –>  与银行支付网关交互

返回:银行返回到支付网关(我们无需知道) –>  支付网关返回网站 ->  处理返回数据 –>  返回给用户友好信息

 

知道了处理流程和API,我们的代码写起来就非常的简单,但我看了好多公司写的支付接口,说实在的,大多没有考虑到自己网站会使用多支付方式,造成了一个支付网关,一堆相互无关的代码,日积月累,留给后续程序人员带来了无尽的烦恼。其实我想大家也明白了,支付网关大体都差不多,只不过个别不一样,我们可以利用抽象工厂等设计模式,设计出漂亮的架构出来。关于支付网关框架,我是想做一个,其实很多CMS和BBS已经带了完整的支付框架,不过.Net的好像不多,我们可以参考他们的优点,仅仅需要配置,就可以方便任何人进行使用,如果有兴趣,大家可以联系我:)

 

说了支付,其实很多网关都功能比较完善,但仅仅支付是不够的,我们还需要考虑其他一些问题,比如技术支持、稳定性、数据完整性、掉单处理等等,都是我们网站开发人员需要考虑的问题。在支付网关中,有一项是大家比较忽略,但非常重要的一个环节:对账系统

何为对账系统呢?说白了,就像会计在核查账本,那我们在何种情况下会使用到呢?我想说的是,何处我们都要使用。看下面几种情况:

1、支付按流程完成,返回到用户。

2、用户支付途中遇到错误(包括网关异常、网络错误、返回错误等)

3、遇到骗子

第一种情况,大家会问既然成功了,为什么还要对账呢?因为我们与网关的交互都是依靠网络的,而网络却是最最不安全的东西,而金钱又是至关重要的东西,所以我们一定要对它严谨的处理。因为我们的支付包括返回,都是Post数据,Get返回,所以很可能有恶意的用户进行构造数据,蒙蔽你的返回处理系统,当然,如果你觉得你的返回接口比较强大,没有漏洞那就另当别论了。对账系统能够确保数据的再次比对,让你的数据能够安全的核对,因为对账系统一般都是由网关直接post给你,会有一定的安全措施在其中,比如域名、ip限制等。

第二种情况,相信大家会遇到的很多,这是无法避免的情况,不过大多情况都是发生在用户身上,网站服务器一般都是托管,24×7服务的,有了对账系统,能够在大多数情况下避免此种麻烦。当然还会遇到其个别的错误,这时候对账也无法成功,这时候就需要手工处理掉单。

第三种情况,为什么把他也列为一列呢?因为真的会有不少骗子,给你造成很多不必要的麻烦,这时候,我们可以根据自己的支付系统和对账系统一起来调查,这样也比较快捷,遇到了骗子就直接拉黑。

 

支付网关对账系统是非常严谨的一个系统,因为其中也包含了很多用户信息,包括安全验证码等,所以一般的对账系统,都有时间限制,比如5分钟,在5分钟内一直发送对账信息,如果成功,此条信息就销毁,避免不必要的麻烦。这是非常好的措施,但有时也会造成麻烦,万一我重启呢?不过好在这种情况,我们很少会遇到,除非遇到机房断电,519断网事件等。

那我们的对账系统需要如何来做呢?以我多年的经验,除了处理对账数据(与返回数据相类似),还要限定ip、限定域名等,以确保数据的安全性。

 

好了,就说到这里吧,后续我想还说说如何构建统一的支付接口,要看有没有时间了,这次把自己对支付网关的理解说了下,也把一些需要注意的说了说,希望能对你起到一些作用。

最后推荐几个国内好的支付网关:

IPS   支付宝    财付通   快钱   

 

PS:为什么IPS第一个呢,嘿嘿,因为。。。。。。知道的联系我,哈哈

相关文章
|
API
第三方账号认证OpenID Connect结合Api网关的应用
OpenID Connect1.0是一个位于OAuth2.0之上的简单身份认证层,是基于OAuth2.0授权协议基础上的由Google,微软,Facebook等公司于2014年发布的最新的认证授权协议(http://openid.net/specs/openid...
3758 0
|
2月前
|
监控 负载均衡 Java
深入理解Spring Cloud中的服务网关
深入理解Spring Cloud中的服务网关
|
4月前
|
运维 网络协议 安全
长连接网关技术专题(十):百度基于Go的千万级统一长连接服务架构实践
本文将介绍百度基于golang实现的统一长连接服务,从统一长连接功能实现和性能优化等角度,描述了其在设计、开发和维护过程中面临的问题和挑战,并重点介绍了解决相关问题和挑战的方案和实践经验。
217 1
|
4月前
|
缓存 安全 API
【亿级数据专题】「高并发架构」盘点本年度探索对外服务的百万请求量的API网关设计实现
公司对外开放的OpenAPI-Server服务,作为核心内部系统与外部系统之间的重要通讯枢纽,每天处理数百万次的API调用、亿级别的消息推送以及TB/PB级别的数据同步。经过多年流量的持续增长,该服务体系依然稳固可靠,展现出强大的负载能力。
152 9
【亿级数据专题】「高并发架构」盘点本年度探索对外服务的百万请求量的API网关设计实现
|
9月前
|
负载均衡 Cloud Native Java
【云原生】Spring Cloud Alibaba 之 Gateway 服务网关实战开发
【云原生】Spring Cloud Alibaba 之 Gateway 服务网关实战开发
1625 0
|
1月前
|
运维 Kubernetes 安全
利用服务网格实现全链路mTLS(一):在入口网关上提供mTLS服务
阿里云服务网格(Service Mesh,简称ASM)提供了一个全托管式的服务网格平台,兼容Istio开源服务网格,用于简化服务治理,包括流量管理和拆分、安全认证及网格可观测性,有效减轻开发运维负担。ASM支持通过mTLS提供服务,要求客户端提供证书以增强安全性。本文介绍如何在ASM入口网关上配置mTLS服务并通过授权策略实现特定用户的访问限制。首先需部署ASM实例和ACK集群,并开启sidecar自动注入。接着,在集群中部署入口网关和httpbin应用,并生成mTLS通信所需的根证书、服务器证书及客户端证书。最后,配置网关上的mTLS监听并设置授权策略,以限制特定客户端对特定路径的访问。
109 2
|
1月前
|
Java API 微服务
服务网关Gateway
该博客文章详细介绍了Spring Cloud Gateway的使用方法和概念。文章首先阐述了API网关在微服务架构中的重要性,解释了客户端直接与微服务通信可能带来的问题。接着,文章通过具体的示例代码,展示了如何在Spring Cloud Gateway中添加依赖、编写路由规则,并对路由规则中的基本概念如Route、Predicate和Filter进行了详细解释。最后,文章还提供了路由规则的测试方法。
服务网关Gateway
|
1月前
|
Kubernetes 安全 数据安全/隐私保护
利用服务网格实现全链路mTLS(二):通过出口网关访问外部mTLS服务
阿里云服务网格(Service Mesh,简称ASM)提供了一个全托管式的服务网格平台,兼容Istio开源服务网格,简化服务治理,包括流量管理、服务间通信安全及网格可观测性。ASM出口网关统一管理网格内的出口流量,实现全链路加密通信与精细访问控制。本文介绍如何配置ASM出口网关以管理出口流量并发起mTLS通信,涉及配置ServiceEntry、创建出口网关、设置虚拟服务及目标规则等步骤,最终实现安全可控的mTLS服务访问。
121 3
|
2月前
|
监控 安全 网络安全
inishConnect(..) failed: Connection refused,服务本地正常服务器网关报400,nacos服务实例不能下线
总之,这种问题需要通过多方面的检查和校验来定位和解决,并可能需要结合实际环境的具体情况来进行相应的调整。在处理分布式系统中这类问题时,耐心和细致的调试是必不可少的。
70 13
|
1月前
|
监控 供应链 安全
构建高效微服务架构:API网关与服务熔断策略
【7月更文挑战第38天】随着现代应用程序向微服务架构的转型,系统的稳定性和效率成为了开发团队关注的焦点。本文将探讨在微服务环境中实现系统可靠性的关键组件——API网关,以及如何在服务间通讯时采用熔断机制来防止故障蔓延。通过分析API网关的核心功能和设计原则,并结合熔断策略的最佳实践,我们旨在提供一套提高分布式系统弹性的策略。