关于开发支付宝与Paypal系统有何区别
2012-08-02 15:01
316 查看
开发栀子 花开鲜花网时,遇到的两个问题,与大家分享,希望各位在开发时不要走太多的弯路。
关于支付宝 其实国内已经很流行了,很多网站都已经开始使用,他是阿里巴巴旗下的公司,是现代化电子商务支付平台,准确的说应该是具有中国特色的电子商务支付平台。而Paypal是全球最大的电子商务站点EBay旗下的了公司,也是EBay收购了Paypal ,在全球Paypal 具体上千万用户,全球30几个国家使用,在中国,由于EBay收购了易趣来发展中国市场,去年Paypal在中国正式开通,中文名为贝宝(www.paypal.com.cn
)。如果使用易趣的人应该都知道,俗称PP。
在中国,这两种产品大部分都是在官方网站中使用,但支付宝发展比较早,而且开发接口有中文版,已经在很多电子商务站点中开始流传,而PP,在国内几乎没有 使用,当当购物网是使用比较早的,但也是为了发展国际业务而对接的,我的栀子花开鲜花礼品网英文版也采用Paypal支付,而中文版中是使用支付宝。其实 一个很重要的原因,是因为PP里面收到的钱很难转入国内银行的原因,而在EBAY上交易的人,有很多都是做国际贸易的,可能也是压制PP在国内发展的一个 重大理由,当然,贝宝是中文的PP,是可以存入人民币的,但又不能国际通用。没有办法,中国是外汇制国家。
至于两者在软件开发上的区别,PP的开发难度要远远高于支付宝,我在淘宝的网站上很多上都在问为什么对接不上,其实,支付宝的开发原理与大多数第三方使用平台的开发一样,只是在交易的过程中多了一步。
一般的银行支付:
1. 购物网站 —》支付平台 -》支付完成 —》返回网站。
在支付完在之后,支付台平都会去调用你的IPN,其实大部分的开发者就是不了解IPN的意义,IPN是一个实时通知程序,支付平台在支付完成以后会通知你 的网站,支付已经完成,如果完全利用一般IE的重定向来通知,用户可能在支付完成以后,立即关闭IE,这样就可能导致数据没有更新,而使用IPN就不会, 就算服务器中断,支付平台也会不断的发请求,直到你的服务器回送处理完成为止。
而支付宝也是这样一个工作原理,但支付宝有点不同的是,在用户支付完成以后,IPN通知信号并不只是发送一个支付完成的信号。他先会发送一个·支付完成, 请求发货·的通知,即sendOFF信号,通知商户发货,商户程序接到通知,应该更新你的定单为已经支付,开始发货,这时支付宝会一直发送这个信号给你, 当你的定单已经发货时,你应该给支付宝回送信号。这时支付宝会通知购物者,要求确认,如果购物者确认了,则支付宝会继续发送一个IPN,告诉用户,购物者 已经付款。过程就全部完成。
另外要注意的是,支付宝 还有一个信号查询的功能,当你收到支付宝的IPN信号时,应该查询这个信号是 不是由支付宝发出,这样为防止信号的伪造。另外,当你的服务器发生问题时,支付宝也不会丢失数据,他具有故障处理功能,如果你申请故障处理,支付宝会发送 一个test的IPN,你如果收到这个信号并返回一个Y信号给支付宝 后,他会将所有没有成功的定单全部发送过来。
而Paypal的开发处理要复杂得多。主要是PP支持信用卡的直接支付,注意,必须有美国的PP才可能直接支付。你的网站上可以让用户输入信用卡号/有效 日期后,通过SSL(当时,不使用SSL也行,但你如果不使用SSL,也有人在你的网站上输入了信用卡号,那人一定是个笨蛋。)传到你的服务器上,你的服 务器使用Paypal的API函数,与PAYPAL的服务器建立一个SSL通道,并使用PAYPAL的数字签名证书一起转到PAYPAY的服务器上,如果 PAYPAL服务器通过了你的数字认证,则会把相应的信用卡数据转到对应的信用卡机构进行处理,然后返回购物站点。因为PP大部分是国外人使用,他们一般
信用体制都很好, 所以没有支付宝那么多的规范,但他也支持退款。而且有很完整的API函数。加密比支付宝严格的多。
关于支付宝 其实国内已经很流行了,很多网站都已经开始使用,他是阿里巴巴旗下的公司,是现代化电子商务支付平台,准确的说应该是具有中国特色的电子商务支付平台。而Paypal是全球最大的电子商务站点EBay旗下的了公司,也是EBay收购了Paypal ,在全球Paypal 具体上千万用户,全球30几个国家使用,在中国,由于EBay收购了易趣来发展中国市场,去年Paypal在中国正式开通,中文名为贝宝(www.paypal.com.cn
)。如果使用易趣的人应该都知道,俗称PP。
在中国,这两种产品大部分都是在官方网站中使用,但支付宝发展比较早,而且开发接口有中文版,已经在很多电子商务站点中开始流传,而PP,在国内几乎没有 使用,当当购物网是使用比较早的,但也是为了发展国际业务而对接的,我的栀子花开鲜花礼品网英文版也采用Paypal支付,而中文版中是使用支付宝。其实 一个很重要的原因,是因为PP里面收到的钱很难转入国内银行的原因,而在EBAY上交易的人,有很多都是做国际贸易的,可能也是压制PP在国内发展的一个 重大理由,当然,贝宝是中文的PP,是可以存入人民币的,但又不能国际通用。没有办法,中国是外汇制国家。
至于两者在软件开发上的区别,PP的开发难度要远远高于支付宝,我在淘宝的网站上很多上都在问为什么对接不上,其实,支付宝的开发原理与大多数第三方使用平台的开发一样,只是在交易的过程中多了一步。
一般的银行支付:
1. 购物网站 —》支付平台 -》支付完成 —》返回网站。
在支付完在之后,支付台平都会去调用你的IPN,其实大部分的开发者就是不了解IPN的意义,IPN是一个实时通知程序,支付平台在支付完成以后会通知你 的网站,支付已经完成,如果完全利用一般IE的重定向来通知,用户可能在支付完成以后,立即关闭IE,这样就可能导致数据没有更新,而使用IPN就不会, 就算服务器中断,支付平台也会不断的发请求,直到你的服务器回送处理完成为止。
而支付宝也是这样一个工作原理,但支付宝有点不同的是,在用户支付完成以后,IPN通知信号并不只是发送一个支付完成的信号。他先会发送一个·支付完成, 请求发货·的通知,即sendOFF信号,通知商户发货,商户程序接到通知,应该更新你的定单为已经支付,开始发货,这时支付宝会一直发送这个信号给你, 当你的定单已经发货时,你应该给支付宝回送信号。这时支付宝会通知购物者,要求确认,如果购物者确认了,则支付宝会继续发送一个IPN,告诉用户,购物者 已经付款。过程就全部完成。
另外要注意的是,支付宝 还有一个信号查询的功能,当你收到支付宝的IPN信号时,应该查询这个信号是 不是由支付宝发出,这样为防止信号的伪造。另外,当你的服务器发生问题时,支付宝也不会丢失数据,他具有故障处理功能,如果你申请故障处理,支付宝会发送 一个test的IPN,你如果收到这个信号并返回一个Y信号给支付宝 后,他会将所有没有成功的定单全部发送过来。
而Paypal的开发处理要复杂得多。主要是PP支持信用卡的直接支付,注意,必须有美国的PP才可能直接支付。你的网站上可以让用户输入信用卡号/有效 日期后,通过SSL(当时,不使用SSL也行,但你如果不使用SSL,也有人在你的网站上输入了信用卡号,那人一定是个笨蛋。)传到你的服务器上,你的服 务器使用Paypal的API函数,与PAYPAL的服务器建立一个SSL通道,并使用PAYPAL的数字签名证书一起转到PAYPAY的服务器上,如果 PAYPAL服务器通过了你的数字认证,则会把相应的信用卡数据转到对应的信用卡机构进行处理,然后返回购物站点。因为PP大部分是国外人使用,他们一般
信用体制都很好, 所以没有支付宝那么多的规范,但他也支持退款。而且有很完整的API函数。加密比支付宝严格的多。
相关文章推荐
- PHP 进行支付宝开发中return_url和notify_url的区别分析
- 关于系统中添加的音视频聊天的二次开发包SDK
- 关于AndroidManifest.xml开发中使用系统权限报错的问题
- Form开发 关于菜单Row和Form的一些区别
- 关于windows系统下eclipse开发NDK,是否还需要cygwin的问题
- 关于开发系统后门软件的几点思路
- 关于 Web开发中的请求重定向和内部转发的区别 (声明:文章有 截取其他博客的内容)
- php进行支付宝开发中return_url和notify_url的区别分析
- 关于POS系统可靠性开发的一些考虑:
- android开发,关于android app实现静默安装自己(系统签名)
- 关于项目管理系统 activiti工作流开发
- 在系统开发中关于实体的问题
- 关于亮剑.NET:Visual C# 2008实例演练与系统开发(含光盘1张)的读后感
- 关于Android在线支付Alipay(支付宝)开发的经验分享
- Android下开发ArcGIS系统学习笔记--(hdpi/mdpi/ldpi区别)
- 关于集成支付宝SDK的开发
- 关于基于sharepoint开发信息发布系统的功能规划
- 关于系统中添加的音视频聊天的二次开发包
- 做项目的研发模式,即怎么研发一个系统,一步一步怎么做:UP、RUP、迭代式、瀑布式、快速原型、敏捷开发,区别
- 关于李三影【Unity 游戏开发教程】装备系统 - 01. JSON数据创建与使用要做笔记的地方