牛骨文教育服务平台(让学习变的简单)
博文笔记

商城支付~支付宝~加密

创建时间:2017-09-21 投稿人: 浏览次数:353

一个牛逼的网址:http://blog.csdn.net/guozekui778899/article/details/52120019
 
 

关于商城支付流程的笔记


官方流程:
   在我们的手机支付APP中,完成买东西支付效果.主要设置到就是客户端与服务其之间的交流.
   那么我们在手机APP支付过程中,主要涉及到的有:
   1.手机商城APP客户端  (淘宝)
   2.手机商城APP服务端,即手机商城APP服务器.(这些大型的,应用广泛的APP几乎都有自己的服务器)
   3.支付APP客户端(支付宝,微信支付)
   4.支付APP服务端.
   所有的支付逻辑处理,在电商本身的APP里进行处理,但是要集成支付宝的    //这个
智能SDK,也就是JAR包,这种方式最常用
原理:电商App向服务器发送请求,电商服务器生成订单信息后,返回给电商APP,
电商APP支付时,调用集成支付宝的智能SDK就可以了,然后智能SDK完成支付,
支付宝服务器就会把成功支付的数据反馈给电商APP和电商服务器。
   大致流程:  支付APP官网流程解析
   手机商城APP客户端(发支付请求)-->支付APP客户端(接收请求,构建业务,交易业务)-->
   支付APP服务端(完成业务即交易支付)-->发通知--->同步通知支付APP客户端,支付APP客户端再发给手机商城APP客户端,表示完成
                                             ---->异步通知商城APP服务端.(即开始对订单进行处理,便于立即发货啊啥的)
   
   同步异步:
       同步:发送发发出数据后,等待接收方发出回应后,在进行下一步的操作.  //人性化
       异步:发送方发出数据后,不等待接收方回应,接着进行下一步的操作.
   
    这里涉及到如果支付宝服务器发送7次通知给电商服务器,而电商服务器没有告诉支付宝服务器“我收到了”,支付宝把钱退回用户的支付宝上。这个规则类似于Socket的三次握手原则.
    网址:http://blog.csdn.net/ithomer/article/details/53401963
    如果要进行退款操作,可以在这取消这个通知的发送.在做这些操作之前,需要确定你的订单号,是否已经被处理.处理了的画就需要更多操作,比如说和商家沟通退货啥的,如果没受理的话,可以中断交易业务.完成退款.
    
    你的公钥和支付宝公钥的交互:
你在支付宝官网进行应用创建的时候,支付宝就会要求你把你的公钥给支付宝,然后支付宝也会给你一个他的公钥。

在进行支付信息加密解密的时候:
先用base64加密一下这个信息,然后要用支付宝的公钥进行加密一下,最后用你的私钥加密一下这个支付信息,然后给支付宝服务器发送过去。
同理,在解密的时候:
先获取支付宝的加密字符串,然后在用你的私钥解密,再用支付宝的公钥解密,最后用base64解密,获取到支付信息
   
   支付宝的三种支付流程

1.所有的支付逻辑处理,全在服务器完成,现在被淘汰了
原理就是电商App吧所有的信息提交给电商服务器,然后又电商服务器与支付宝服务器进行交互

2.所有的支付逻辑处理,是电商APP调用手机的支付宝客户端,然后由支付宝客户端和支付宝服务器进行交互处理。
原理就是电商APP向电商服务器发送请求,然后电商服务器生成订单信息
后,返回给电商APP,电商APP进行付款时,需要进行判断用户有没有支付宝客户端。
如果没有,则不能支付,提示用户下载支付宝。如果有则调用支付宝客户端进行支付。
然后支付宝服务器会把成功支付的数据反馈给电商APP和电商服务器。

3.所有的支付逻辑处理,在电商本身的APP里进行处理,但是要集成支付宝的    //这个
智能SDK,也就是JAR包,这种方式最常用
原理:电商App向服务器发送请求,电商服务器生成订单信息后,返回给电商APP,
电商APP支付时,调用集成支付宝的智能SDK就可以了,然后智能SDK完成支付,

支付宝服务器就会把成功支付的数据反馈给电商APP和电商服务器。

加密:
  非对称加密算法:RSA是支付宝加密的核心算法,RSA会生成俩种钥匙,公钥和私钥.
  上传给支付宝服务器的是自己的公钥,支付宝服务器返回一个支付宝的公钥,注意这个公钥才是你开发中要配置的公钥
 
  对称加密算法:
  DES,AES
  特点:加密和解密使用同一个密钥
 
  非对称加密算法
  RSA  
  公钥,私钥,成对出现   公钥解私钥,私钥解公钥
 
 
    加密:就是往数据上加一层保护.  上把锁.
   首先密钥:密钥是一种参数,他是在明文转换为密文或密文转换为明文的算法中输入的参数.
   密钥分为俩种:
      对称密钥和非对称密钥.
      
   在密码学中,  
      密钥:秘密的钥匙.
      私钥:私有的钥匙.
      公钥:公开的钥匙.
      
      
   根据密码算法所使用的加密密钥和解密密钥是否相同,即能否由加密过程推导出解密过程,或者有解密过程推导出加密过程,以此来将密码体制分为俩种:对称密码体制,非对称密码体制.
    对称密码体制:
        网址:http://blog.sina.com.cn/s/blog_56d8ea900100bzpr.html
        对称密钥加密,又叫私钥加密或会话密钥加密算法,即信息的发送方和接收方使用同一个密钥去加密和解密数据.它的最大优势是加密速度快,适合于对大量数据进行加密,但密钥管理困难.
        常见的对称加密算法有DES、3DES、Blowfish、IDEA、RC4、RC5、RC6和AES
       非对称密钥加密,又叫公钥加密.它需要使用不同的密钥来分别完成加密和解密操作.一个公开发布,即公钥,另一个由用户自己秘密保存,即私钥.信息发送者用公钥去加密,而信息接受者则用私钥去解密.非对称密钥加密机制灵活,但是速度慢.
       目前最常用的非对称加密算法是RSA算法,是Rivest, Shamir, 和Adleman于1978年发明
        
        
        
        
    
    
 
 
 
 
 
 
 

   
  
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。