zoukankan      html  css  js  c++  java
  • 【Java EE 学习 21 下】【 使用易宝支付接口实现java网上支付功能】

    一、网上支付分为两种情况,一种方法是使用直接和银行的支付接口,另外一种方法是使用第三方支付平台和银行对接完成支付。

      1.直接和银行对接。

      

      2.使用第三方支付平台

      

      3.常见的第三方支付平台

      

    二、使用易宝支付接口实现java网上支付功能(农业银行)。

      1.完整源代码:https://github.com/kdyzm/day21_2_pay

      2.实现过程的时序图

       

      3.技术要点

        (1)使用GET请求的时候必须将全部参数都带上,参数名称参考开发者文档中的请求参数列表

        (2)使用PaymentUtil类实现加密,该类由易宝支付公司编写

        (3)支付成功之后通知商户按钮指向的url在本地,即http://localhost:8080/backServlet(localhost只在本地有意义),为什么能够成功返回这里,原理见上面流程图。关键点:重定向技术解决了这一问题。

      4.需要的几点信息。

        (1)商户账号:p1_MerId=10001126856

        (2)商户的keyVaue:keyValue=69cl522AV6q613Ii4W6u8K6XuW8vM1N6bFgyv769220IuYe9u37N4y7rI4Pl

        (3)PaymentUtil类。

    PaymentUtil.java

        (4)注意:该商户账号是传智播客某老师的账号,在进行测试的时候会实际打钱过去,所以在选择支付数额的时候千万要谨慎!!!

      5.支付过程:

        (1)填写订单信息

          

        (2)单击支付按钮之后重定向到农业银行支付界面(如果网速慢点能够看到易宝支付处理的过程

        

        (3)我进行的是K码支付

      

        (4)填写相应的信息,进行身份验证之后(短信),单击确定按钮(谷歌浏览器不支持后续操作,我换了IE浏览器)

        

        (5)支付成功,自动跳转到支付成功页面

          

        (6)单击通知商户按钮,跳转到的页面是同一个。

          

    三、总结

      1、java实现网上支付功能并不难,几乎没有任何技术要点,关键就是太繁琐,要学会读开发者文档。

      2.重定向技术在这里非常重要,要根据时序图理解重定向在这里的使用。

  • 相关阅读:
    Mysql日志管理
    Mysql 安全和DCL语句
    Mysql DDL语句之视图
    Mysql增删改查(DML、DQL)
    Mysql操作之部分DDL语句
    如何做事情
    temp
    asp.net入门
    希望尽快回忆起来
    需求?
  • 原文地址:https://www.cnblogs.com/zhikou/p/6965151.html
Copyright © 2011-2022 走看看