java 对接农行支付相关业务(二)

文章目录

  • 农行掌银集成第三方APP
    • 1:掌银支付对接快e通的流程
      • 1.1 在农行网站上注册我们的app信息([网址](https://openbank.abchina.com/Portal/index/index.html))
      • 1.2:java整合农行的jar包依赖
      • 1.3:把相关配置信息整合到项目中
      • 1.4:前端获取授权码信息
      • 1.5:后端根据授权码信息获取token
      • 1.6:后端根据上步token获取农行用户信息
      • 1.7 登录第三方app成功,接入支付

农行掌银集成第三方APP

上篇文章我们讲了关于在第三方App接入农行支付的流程。

本篇文章讲讲关于第三方App如何集成在农行掌银的流程。关于对接网址大家可以参考这里 掌银支付对接快e通。

大体流程:我们在农行掌银App上搜素我们自己的app,然后进入,若是没有登录农行,则进入我们自

己App后会调用农行的授权登录等一系列接口进行登录并获取登录用户信息,然后在获取到用户信息

后进行我们自己系统的登录,返回我们自己App的登录token信息。

后续支付流程后端接口是一致的,前端会稍有不同。

农行授权登录是一套标准的鉴权 OAuth 2.0的实现,这一点大家可以了解一下

1:掌银支付对接快e通的流程

1.1 在农行网站上注册我们的app信息(网址)

首先,我们需要在此网站注册我们的应用信息,会得到appId,screct等信息。这些信息至关重要,后

续会用到。

1.2:java整合农行的jar包依赖

1:项目引入农行的开放平台jar包
在这里插入图片描述
2:pom文件引入该依赖
在这里插入图片描述
也可以把农行的jar导入本地maven,在pom文件再导入。

1.3:把相关配置信息整合到项目中

比如appId,screct 等等信息,这里看大家的情况是写入配置文件还是放入常量类。

1.4:前端获取授权码信息

参数如下,值得注意的是scope,scope对应的是一个字符串拼接的权限集合,
该集合其实就是一个用户的信息属性,后续的手机号;姓名啊;等等这些权限需要和农行去沟通,让他们帮忙开通,这个默认的是有openId,
在这里插入图片描述
前端拿到授权码code后,把这个code传给后端,后端会进行后续的流程处理

1.5:后端根据授权码信息获取token

获取token信息参数如下:
在这里插入图片描述

   

    Map<String, String> map = new HashMap<>();
    map.put("code", code);
    map.put("client_id", AppId);
    map.put("redirect_uri", redirectUri);
    map.put("grant_type", "authorization_code");
    map.put("client_secret", AppSecret);

    String tokenJson = HttpUtils.doPostForm(AbcBankConstants.AbcTokenUrl, map);
    logger.info

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/658189.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

广东省旗袍文化促进会正式批复为世界酒中国菜活动的指导单位

广东省旗袍文化促进会正式批复荐酒师国际认证&#xff08;广州&#xff09;有限公司成为“世界酒中国菜”系列活动的指导单位 近日&#xff0c;广东省旗袍文化促进会正式批复荐酒师国际认证&#xff08;广州&#xff09;有限公司&#xff0c;成为备受瞩目的“世界酒中国菜”系…

怎样修改库包的文件名?

python中&#xff0c;安装crypto模块时&#xff0c;会遇到crypto文件夹都是小写字母的情况&#xff0c;引用时又是首字母大写&#xff0c;这个时候&#xff0c;需要把库包文件名首字母改为大写字母。windows中一般的文件名命名中字母的大小写是不进行区分的&#xff0c;但是在p…

linux中使用gdb调试c++的dump文件

1 查看系统是否开启dump生成 0表示没开启 ulimit -c 但是这个只是针对当前这个连接&#xff0c;如果想要永久修改可以修改配置文件&#xff1a;vim /etc/profile&#xff0c;然后添加上面的命令ulimit - c unlimited.然后执行source /etc/profile或者重启使刚刚的配置可以…

12.2 通道-阻塞与流程控制、通道型函数、退出通道

阻塞与流程控制 通常在并发程序中要尽力避免阻塞式操作&#xff0c;但有时又需要让代码暂时处于阻塞状态&#xff0c;以等待某种条件、信号或数据&#xff0c;然后再继续运行。 对于无缓冲通道&#xff0c;试图从无人写入的通道中读取&#xff0c;或者向无人读取的通道中写入…

蓝牙Mesh模块多跳大数据量高带宽传输数据方法

随着物联网技术的飞速发展&#xff0c;越来越多的设备需要实现互联互通。蓝牙Mesh网络作为一种低功耗、高覆盖、易于部署的无线通信技术&#xff0c;已经成为物联网领域中的关键技术之一。在蓝牙Mesh网络中&#xff0c;节点之间可以通过多个跳数进行通信&#xff0c;从而实现大…

广东商标协会批复为世界酒中国菜的指导单位

广东商标协会批复荐酒师公司成为“世界酒中国菜”活动指导单位 一、批复背景与意义 广东商标协会正式批复荐酒师国际认证&#xff08;广州&#xff09;有限公司&#xff0c;成为备受瞩目的“世界酒中国菜”系列活动的指导单位。该活动旨在共建“一带一路”倡议、助力“乡村振兴…

深度学习之CNN卷积神经网络

一.卷积神经网络 1. 导入资源包 import numpy as np import pandas as pd import matplotlib.pyplot as plt import sklearn import tensorflow as tf from tensorflow import keras注&#xff1a;from tensorflow import keras&#xff1a;从TensorFlow库中导入Keras模块&am…

第十三届蓝桥杯国赛大学B组填空题(c++)

A.2022 动态规划 AC; #include<iostream> #define int long long using namespace std; int dp[2050][15]; //dp[i][j]:把数字i分解为j个不同的数的方法数 signed main(){dp[0][0]1;for(int i1;i<2022;i){for(int j1;j<10;j){//一种是已经分成j个数,这时只需每一个…

Docker 快速更改容器的重启策略(Restart Policies)以及重启策略详解

目录 1. 使用 docker update 命令2. 在启动容器时指定重启策略3. 在 Docker Compose 文件中指定重启策略4. 总结 官方文档&#xff1a;Start containers automatically 1. 使用 docker update 命令 Docker 提供了 docker update 命令&#xff0c;可以在容器运行时更改其重启策…

Yann LeCun 和 Elon Musk 就 AI 监管激烈交锋

&#x1f989; AI新闻 &#x1f680; Yann LeCun 和 Elon Musk 就 AI 监管激烈交锋 摘要&#xff1a;昨天&#xff0c;Yann LeCun 和Elon Musk 在社交媒体就人工智能的安全性和监管问题展开激烈辩论。LeCun 认为目前对 AI 的担忧和监管为时过早&#xff0c;主张开放和共享。而…

OrangePi AIpro初体验:开启嵌入式开发之旅

概述 随着物联网和智能设备时代的到来&#xff0c;单板电脑因其独特的优势成为创新项目和教育实践的重要工具。在众多单板电脑中&#xff0c;香橙派以其出色的性能和亲民的价格&#xff0c;十分吸引博主这初涉嵌入式开发的新手。博主有幸被CSDN邀请对OrangePi AIpro进行测评。…

css中实现背景方格

background: rgba(241,241,241,0.1); background-image:linear-gradient(90deg, rgba(241,243,244,1) 10%, transparent 0),linear-gradient(rgba()241,243,244,1 10%, transparent 0); background-size: 10px 10px; 表现出来的样子就是这个样子

广东海上丝绸之路文化促进会正式批复荐世界酒中国菜的指导单位

广东海上丝绸之路文化促进会正式批复成为“世界酒中国菜”系列活动指导单位 近日&#xff0c;广东海上丝绸之路文化促进会近日正式批复荐酒师国际认证&#xff08;广州&#xff09;有限公司&#xff0c;成为备受瞩目的“世界酒中国菜”系列活动的指导单位。此举旨在通过双方的…

Android Compose 八:常用组件 Switch

Switch 切换按钮 val isChecked remember { mutableStateOf(true) }Switch(checked isChecked.value,onCheckedChange {Log.i("text_compose","onCheckedChange>>"it)isChecked.value it})效果 默认颜色 应该对应 主题色 1.1 thumbContent 按钮…

盘点好用的国产传输软件,看看哪个适合你

流动让数据释放价值&#xff0c;无论什么企业&#xff0c;什么行业&#xff0c;业务的正常开展均是以数据和文件的传输为基础&#xff0c;因此&#xff0c;对企业来说&#xff0c;文件传输工具是最基础但也是最举重若轻的。在琳琅满目的多种国产传输软件中&#xff0c;哪个是最…

Java基础:基本语法(一)

Java基础&#xff1a;基本语法&#xff08;一&#xff09; 文章目录 Java基础&#xff1a;基本语法&#xff08;一&#xff09;1. 前言2. 开发环境搭建2.1 Java开发工具包下载2.2 环境变量配置2.3 Java程序的运行过程 3. 数据类型3.1 基本数据类型3.2 引用数据类型 4. 常量与变…

晓语台:基于大语言模型和深度学习技术的智能创作平台,高效、个性化地创作高质量内容。

晓语台 AI&#xff1a; 晓语台是由北京字里心间科技有限公司推出的一款智能AI写作工具。它基于百度的大语言模型和混合大模型以及AIGC技术研发而成&#xff0c;内置了多种风格和主题的AI创作模板&#xff0c;覆盖了20余类行业与职业&#xff0c;近30个海内外社交平台&#xff…

代码随想录——合并二叉树(Leetcode617)

题目链接 层序遍历 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val val; }* TreeNode(int val, TreeNode left, TreeNode right) …

20240529代码沉思--------聊聊清单革命

以下内容取自百度&#xff1a; 清单革命 清单革命是一场观念革命&#xff0c;旨在通过列出清晰、明确的清单来避免犯错和提高效率。以下是关于清单革命的一些核心观点和原则&#xff1a; 核心观点&#xff1a; 人类的错误主要分为两类&#xff1a;“无知之错”和“无能之错…

java配置文件解析yml/xml/properties文件

XML 以mybatis.xml:获取所有Environment中的数据库并连接session为例 import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.xml.sax.SAXException;import javax.xml.parsers.DocumentBuilder; impo…