韩国ICB支付

ICB支付是代理了韩国的支付宝与微信支付,通过ICB封装好的统一支付接口,根据参数不同可分别调取支付宝支付和微信

1.支付url

测试环境 :https://onlinetest.funpay.co.kr/payment/payment.icb
线上环境 :https://online.funpay.co.kr/payment/payment.icb

首先配置支付所需的参数

Mandatory为0是必填项 ,其中statusurl为后台的回调地址,支付成功返回resmgs为success,returnurl 为支付完成后跳转的页面,其他的参数可查看上图所示注解。

后台拼接参数代码实例

/*** 拼接icb支付所需的参数** @param payInfo* @return*/public Map<String, Object> payParameter(PayInfoDto payInfo) {Map<String, Object> map = new HashMap();map.put("ver", "100");//icb提供的midmap.put("mid", "************");//项目名称map.put("mname", "**");//支付方式S000支付宝 S001微信map.put("servicetype", "S000");//项目订单号map.put("refno", payInfo.getPayNo());//货币类型map.put("reqcur", "CNY");//支付金额map.put("reqamt", payInfo.getPayAmount());//买家名称map.put("buyername", payInfo.getUserId());//购买产品名称map.put("product", payInfo.getBody());//后台回调地址map.put("statusurl", payInfo.getApiNoticeUrl());//支付方式map.put("reqtype", "M");//支付类型map.put("restype", "JSON");//支付完跳转页面map.put("returnurl", "https://baidu.com");map.put("refer_url", "https://baidu.com");//商品信息map.put("trade_information", "{\"business_type\":\"4\",\"goods_info\":pencial^1|eraiser^1\",\"total_quantity\":2}");//进行加密生成fgkey参数MessageDigest messageDigest = null;try {//生成fgkeyStringBuffer buffer = new StringBuffer();Iterator iters = map.entrySet().iterator();while (iters.hasNext()) {Map.Entry entry = (Map.Entry) iters.next();if (buffer.toString().length() == 0) {buffer.append(entry.getKey() + "=" + entry.getValue());continue;}buffer.append("&" + entry.getKey() + "=" + entry.getValue());}char[] chars = buffer.toString().toCharArray();Arrays.sort(chars);String A = String.valueOf(chars);String B = "icb提供的密钥" + "?" + A;messageDigest = MessageDigest.getInstance("SHA-256");messageDigest.update(B.getBytes("UTF-8"));} catch (NoSuchAlgorithmException e) {e.printStackTrace();} catch (UnsupportedEncodingException e) {e.printStackTrace();}String C = Sha256Util.bytes2Hex(messageDigest.digest());String s = C.toUpperCase();map.put("fgkey", s);Map clint = HttpClint(map, "https://online.funpay.co.kr/payment/payment.icb");return clint;}

 返回的map中前端将resmgs字段拼接到 https://intlmapi.alipay.com/gateway.do?之后即可唤起支付宝或微信的支付页面,代码中使用的工具类如下。

public class Sha256Util {/*** byte数组转换为16进制字符串** @param bts*            数据源* @return 16进制字符串*/public static String bytes2Hex(byte[] bts) {String des = "";String tmp = null;for (int i = 0; i < bts.length; i++) {tmp = (Integer.toHexString(bts[i] & 0xFF));if (tmp.length() == 1) {des += "0";}des += tmp;}return des;}public static HashCode sha256(final String x) {Preconditions.checkNotNull(x);final Charset charset = Charsets.UTF_8;final HashFunction hashFunction = Hashing.sha256();return hashFunction.newHasher().putString(x, charset).hash();}
}
/*** 进行请求** @param params, url* @return*/public Map HttpClint(Map params, String url) {Map map = new HashMap();try {if (null != url && !Objects.equals(url, "")) {// 定义HttpClientBufferedReader in = null;HttpClient client = new DefaultHttpClient();// 实例化HTTP方法HttpPost request = new HttpPost();request.setURI(new URI(url));//设置参数List<NameValuePair> nvps = new ArrayList<NameValuePair>();for (Iterator iter = params.keySet().iterator(); iter.hasNext(); ) {String name = (String) iter.next();String value = String.valueOf(params.get(name));nvps.add(new BasicNameValuePair(name, value));}request.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));HttpResponse response = client.execute(request);String responseBody = EntityUtils.toString(response.getEntity());Map map1 = JSON.parseObject(responseBody, Map.class);return map1;
}

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么是VISA信用卡?

什么是VISA信用卡&#xff1f; 一、什么是虚拟Visa卡&#xff1f; 虚拟Visa卡又称虚拟信用卡是一组随机生成的卡号&#xff0c;这些数字代表你的虚拟信用卡账户&#xff0c;可免KYC起到信息安全保护作用比使用普通信用卡更安全&#xff0c;虚拟VISA卡不受征信系统影响。 ​ 二…

【训练1】储蓄卡与信用卡

【训练1】储蓄卡与信用卡 创建银行卡类&#xff0c;并设计银行卡的两个子类&#xff1a;储蓄卡与信用卡 主方法调用&#xff0c;银行卡类&#xff0c;储蓄卡类&#xff0c;行用卡类 /* 【训练1】储蓄卡与信用卡* 创建银行卡类&#xff0c;并设计银行卡的两个子类&#xff1a;…

SF34 | 股指日内交易策略(开发贴)

大家好&#xff0c;我是乌克兰剑圣。 这一期我们开发一个股指的日内策略&#xff0c;为了多平台源码适应&#xff0c;我们基于收盘价机制编写。收盘价模型有利也有弊&#xff0c;如果你的周期比较大&#xff0c;比如在15分钟以上&#xff0c;日线级这种的出入场信号会有比较大…

继续聊聊A股市场

继续聊聊A股市场 2021-11-30 股市理性投资 价值投资看人性 市场有很多&#xff0c;比如港股&#xff0c;美股&#xff0c;当然我们投资者依然关注A股&#xff0c;毕竟做A股的投资者占比很重&#xff0c;所以依然是看A股市场&#xff01;长期绝对看好&#xff01;毕竟从很多的事…

投资新手理解Anzocapital昂首资本分析3点,翻倍不是梦

在外汇交易中一流的高手总能在急跌中抢当日反弹&#xff0c;那么作为一名投资新手怎么样像高手那样抓反弹盈利呢?Anzocapital昂首资本认为投资新手也可以抓住波段反弹盈利。因为波段反弹持续的时间一般在两周以上&#xff0c;反弹高度至少有几百点。投资新手就想放弃这样的盈利…

九龙证券|消费股集体拉升,这个热门赛道却大幅跳水

A股午后全线反弹&#xff0c;上证50指数涨超1%&#xff1b;港股探底上升&#xff0c;两大股指小幅走高。 详细来看&#xff0c;A股方面&#xff0c;两市股指早盘震动回落&#xff0c;午后探底上升&#xff0c;沪指、上证50指数在酿酒、银行、券商等板块的带动下强势上扬。到收盘…

封闭式基金2021年收益战败指数-导致投资者寻求其他选择

美国科技巨头的大幅反弹和一系列痛苦的市场震荡打乱了许多封闭式基金在2021年的市场份额。多数投资者近年来已经放弃了私募和对冲基金。在 KlipC 最近进行的一项调查中&#xff0c;数据显示越来越多的投资者转向 ETF 和社区交易&#xff0c;而不是将资金投资于不透明和高成本的…

【CTA系列】复合中短周期双均线策略

本篇文章是基于研究报告的复现作品&#xff0c;旨在记录个人的学习过程和复现过程中的一些思路。 感谢中信期货研究员前辈的宝贵思路。 一、策略简介 1.双均线策略 均线是最经典的传统技术指 标之一 &#xff0c;最早由美国投资专家Joseph E.Granville于 20 世纪中期提出&am…

马斯克收购 Twitter:把你们的代码都打印出来

转自&#xff1a;量子位 | 公众号 QbitAI 来&#xff0c;将付费服务涨价3倍&#xff0c;一周干不好就卷铺盖走人&#xff01; 没想到&#xff0c;马斯克对推特员工下的第一个“最后通牒”&#xff0c;竟来得这么快。 既压榨了员工&#xff0c;又是在为公司谋利&#xff0c;这一…

马斯克想退居 Twitter 二线,发起“是否该卸任”投票,近 6 成网友大力支持!...

认真对待你的愿望&#xff0c;也许它会实现。 整理 | 苏宓 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 久经争议&#xff0c;或许连马斯克自己都陷入了迷茫之中。当地时间 12 月 19 日 7:20&#xff0c;马斯克做了一件令人意想不到的举动&#xff0c;他将自己…

罕见!嘲讽 Twitter 被裁员工后,马斯克公开道歉

整理 | 郑丽媛 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 当初马斯克收购 Twitter 时&#xff0c;我们认为他简直是“灭霸式”裁员。但现在看来&#xff0c;这个说法可能并不准确——他比灭霸还狠。接管 Twitter 还不到 5 个月&#xff0c;马斯克已裁员近 75…

腾讯 pcg 移动端开发 春招 一+二+三+hr面(已oc)月薪25K

3.31日早上电话突击面试&#xff0c;当时我还在睡觉&#xff0c;迷糊中接到了电话&#xff0c;一开始以为他只是和我确认时间&#xff0c;没想到问完信息之后直接开始问问题了&#xff0c;我当时没反应过来&#xff0c;说我现在不太方便&#xff0c;等20分钟再电话面的。我没想…

牛!又一顶级大厂开招.NET,5年35k!

继腾讯阿里百度京东华为招.NET Core后&#xff0c;又一顶级大厂开招.NET Core了&#xff1a;美团上海总部&#xff0c;住宿业务线别样红业务部招.NET开发&#xff0c;25~35k&#xff0c;具体参见【招聘(上海)】美团酒店招聘 .NET 高级开发。大厂遥不可及的认知该放下了&#xf…

【A卡,Windows】stable diffusion webui下载安装避坑指南

观前提醒 本文内容都是本人亲身经历的&#xff0c;一个一个安装下载测试所感&#xff0c;当然如果你更想用傻瓜式集成包的&#xff0c;那还是跳过这篇文章吧。 当然我不推荐这篇文章的操作&#xff0c;因为我用了差不多1h才有一副图&#xff0c;有N卡&#xff0c;就用N卡&…

疑似通过GPT3.5白嫖GPT4

前言 仅供参考&#xff1a; 通过测试&#xff0c;发现使用特定的提示&#xff08;prompt&#xff09;可能会让chatGPT-3.5具备chatGPT-4的能力。 怀疑可能是早版本的GPT-4 测试过程 测试内容 # 叔叔把二叔叔带到三叔叔家&#xff0c;说四叔叔被五叔叔骗到六叔叔家&#xff0…

第三方登录的实现

业内现在第三方注册的流程一般是什么样的&#xff1f; 前端通过授权方式获取第三方账号对应的unionId或openId&#xff0c;把它传给应用服务器&#xff0c;服务器判断这个第三方id有没有注册过如果没有就创建一个对应的新账号。 问题是&#xff0c;按照上面这种流程&#xff0…

第三方登录:QQ登录接入指南

现在互联网应用一般都会接入QQ登录。但是在接入QQ登录的时候就有点犯晕了。因为摆在他们面前的有2个平台。 一个是 腾讯开放平台&#xff0c;一个是 QQ互联。 QQ互联&#xff08;QQ开放平台&#xff09; 如果只是单纯的想要QQ授权登录、分享&#xff0c;而不需要进入腾讯应用…

第三方登录实现

第三方登录 自建了一个网站&#xff0c;想要增加一个登录入口&#xff0c;但是自己实现登录又很麻烦&#xff0c; 那么就可以尝试使用第三方登录的方式。 谈到第三方登录就不得不提到OAuth&#xff0c;OAuth是Open Authorization的简写,它就是一种授权机制。数据的所有者告诉…

登录等第三方认证-outh2原理与分析

看了很多关于outh2应用文章&#xff0c;介绍都比较晦涩难懂&#xff0c;同时没有一个实际案例说明&#xff0c; 下面&#xff0c;我将使用securityouth2简单案例讲解&#xff0c;并通过微信认证流程解释为什么这种实现方式是最佳的。 1. Security实现Outh2登录 1.1 项目环境搭…

论文管理系统(登录功能)

目录 一、后端部分 1.1 实体类 1.2 UserMapper类 1.3 Service层 接口 实现类 1.4 controller层 1.5 拦截器 二、前端部分 效果图 源码如下 代码讲解 准备工作和数据库都已经准备好了,接下来我们来写登录功能,登录功能我们通过mybatisplus来码写,所以不需要在UserMapper.…