[java]代码库package utils;

public class PaymentUtil {

/**

* 生成hmac方法

*

* @param p0_Cmd

* 业务类型

* @param p1_MerId

* 商户编号

* @param p2_Order

* 商户订单ID号

* @param p3_Amt

* 支付金额

* @param p4_Cur

* 交易币种

* @param p5_Pid

* 商品名称

* @param p6_Pcat

* 商品种类

* @param p7_Pdesc

* 商品描述

* @param p8_Url

* 商户接受支付成功后的地址

* @param p9_SAF

* 送货地址

* @param pa_MP

* 商户扩展信息

* @param pd_FrpId

* 银行编码

* @param pr_NeedResponse

* 应答机制

* @param keyValue

* 商户密钥

* @return

*/

public static String createHmac(String p0_Cmd, String p1_MerId,

String p2_Order, String p3_Amt, String p4_Cur, String p5_Pid,

String p6_Pcat, String p7_Pdesc, String p8_Url, String p9_SAF,

String pa_MP, String pd_FrpId, String pr_NeedResponse,

String keyValue) {

StringBuffer sValue = new StringBuffer();

sValue.append(p0_Cmd);

sValue.append(p1_MerId);

sValue.append(p2_Order);

sValue.append(p3_Amt);

sValue.append(p4_Cur);

sValue.append(p5_Pid);

sValue.append(p6_Pcat);

sValue.append(p7_Pdesc);

sValue.append(p8_Url);

sValue.append(p9_SAF);

sValue.append(pa_MP);

sValue.append(pd_FrpId);

sValue.append(pr_NeedResponse);

String resultValue = DigestUtil.hmacSign(sValue.toString(), keyValue);

return resultValue;

}

/**

* 返回校验hmac方法

*

* @param hmac

* 支付网关发来的加密验证码

* @param p1_MerId

* 商户编号

* @param r0_Cmd

* 业务类型

* @param r1_Code

* 支付结果

* @param r2_TrxId

* 易宝支付交易流水号

* @param r3_Amt

* 支付金额

* @param r4_Cur

* 交易币种

* @param r5_Pid

* 商品名称

* @param r6_Order

* 商户订单号

* @param r7_Uid

* 易宝支付会员ID

* @param r8_MP

* 商户扩展信息

* @param r9_BType

* 交易结果返回类型

* @param keyValue

* 密钥

* @return

*/

public static boolean verifyCallback(String hmac, String p1_MerId,

String r0_Cmd, String r1_Code, String r2_TrxId, String r3_Amt,

String r4_Cur, String r5_Pid, String r6_Order, String r7_Uid,

String r8_MP, String r9_BType, String keyValue) {

StringBuffer sValue = new StringBuffer();

// 商户编号

sValue.append(p1_MerId);

// 业务类型

sValue.append(r0_Cmd);

// 支付结果

sValue.append(r1_Code);

// 易宝支付交易流水号

sValue.append(r2_TrxId);

// 支付金额

sValue.append(r3_Amt);

// 交易币种

sValue.append(r4_Cur);

// 商品名称

sValue.append(r5_Pid);

// 商户订单号

sValue.append(r6_Order);

// 易宝支付会员ID

sValue.append(r7_Uid);

// 商户扩展信息

sValue.append(r8_MP);

// 交易结果返回类型

sValue.append(r9_BType);

String sNewString = DigestUtil.hmacSign(sValue.toString(), keyValue);

if (hmac.equals(sNewString)) {

return true;

}

return false;

}

}

易宝支付 java_易宝支付工具类相关推荐

  1. java在线支付---04_编写易宝支付的客户端加密工具类

    2013/5/30 04_编写易宝支付的客户端加密工具类 创梦综合技术qq交流群:CreDream:251572072 ---------------------------------------- ...

  2. php 应用宝支付,U8SDK——应用宝YSDK新的支付流程

    应用宝不管是之前MSDK,还是现在YSDK,对于普通网络手游来说,他的支付方式都只能是游戏币托管的方式.之前接MSDK的时候,也是费了九牛二虎之力才搞定,主要就是被他这个所谓的"游戏币托管模 ...

  3. 陈宝峰java_陈宝峰

    标签: java fileoutputstream 文件 占用 close 在通过FileOutputStream进行文件输出,尤其是文件内容较大的输出完成之后都需要关闭文件,正常情况下都会通过调用c ...

  4. java在线支付---02_分析易宝支付的工作流程

    2013/5/30 02_分析易宝支付的工作流程 Java技术qq交流群:JavaDream:251572072 ------------------------------------------- ...

  5. 采宝支付携手 - 打造O2O支付全新生态

    互联网行业是一个多领域的行业,从上世纪90年代到今天,互联网已有20多年的发展历史,采宝移动支付,以"移动互联网+"的战略思维整合商品渠道,大力整合优势资源,用了3余年的时间打下移 ...

  6. java实现易宝支付

    易宝支付: 1.环境搭建: Java使用Servlet或者springMVC,使用maven进行环境搭建. 2.添加jar包: <dependencies> <dependency& ...

  7. 易宝支付[钱麦](附代码)

    想到支付首先要知道,就是调用以及回调接口. 1:准备工作导入易宝支付SDK.jar到自己公司私服(公司使用的nexus搭建私服操作如下) 查看/存储库:库(Repositories)----在对应的库 ...

  8. 在线支付之易宝支付的使用方法

    项目中实现在线支付的功能有两种方式: 第一种方式:使用银行提供的接口直接和银行对接.这种方式不用交第三方费用,但是如果要接入多个银行,则需要在本网站中一一使用不同银行提供的接口,这个过程比较麻烦,其次 ...

  9. java在线支付---06,07,08_在线支付_编写将数据提交给易宝支付的JSP页面,集成和测试向易宝发送支付请求,实现浏览器自动向易宝发送支付请求

    06_在线支付_编写将数据提交给易宝支付的JSP页面 -------------------------------------------------------------- 1./payment ...

  10. 第三方支付平台:易宝支付

    国付宝国企 LianLianPay连连支付 这个比较好用,可以自己试试 我这里说的是易宝支付 两种在线支付的方式 在线支付一共有两种方式: 电商直接与银行对接: 电商通过第三方支付平台与银行对接: 电 ...

最新文章

  1. android小闹钟程序,Android实现闹钟小程序.pdf
  2. 前端之路(一)之W3C是什么?
  3. php能打开.shp文件吗,shp文件是什么格式的
  4. css渲染(二) 文本
  5. mysql约束教程,MySQL 约束
  6. 为什么SpringBoot中main方法执行完毕后程序不会直接退出呢
  7. springboot-属性提示
  8. 大数据工作由哪几部分组成?
  9. 3dmax导入shp面拉伸建模
  10. 记录一下postman汉化踩过的坑
  11. 更改文件夹目录、硬盘、U盘的图标
  12. 来自一个大三开学三周的huster的迷茫与失措
  13. STM32系列(HAL库)——F103C8T6驱动WS2812全彩RGB模块(PWM+DMA方式)
  14. root权限下手动安装open gapps.2022-01-31
  15. 【图像修复】基于滤波实现损坏图像修复含Matlab源码
  16. 联想thinkbook16+ 2023款和2022款参数对比
  17. PRML 读书笔记 chapter1 Introduce
  18. MobileNet V2 模型分析+解读
  19. 阿拉丁统计 2.0丨开源 SDK 生态,既能开箱即用,又能自定义扩展,让你的企业数字化进程“兔飞猛进”
  20. 带字幕的Youtube

热门文章

  1. persevere的用法_persevere和persist和insist的区别是什么?
  2. 怎么安装光盘并重新启动计算机,如何用光盘重新安装电脑系统
  3. Twitter广告投放怎么做呢?游戏行业可以投放Twitter广告吗?
  4. 2022-2028年中国直线电机行业市场现状分析及投资前景评估报告
  5. 【美化桌面】删除电脑桌面快捷键箭头
  6. ubuntu du/eog 命令
  7. 盘点最新BTA大厂的Java程序员的招聘技术标准(一目了然)
  8. 管理储存组和邮箱数据库
  9. Vite入门从手写一个乞丐版的Vite开始(下)
  10. 连续时间 Markov 链从某一状态 i 转移到其他状态之前在 i 逗留的时间服从指数分布