[Java] 易宝支付工具类 →→→→→进入此内容的聊天室

来自 , 2020-12-01, 写在 Java, 查看 138 次.
URL http://www.code666.cn/view/3f67fd97
  1. package utils;
  2.  
  3. public class PaymentUtil {
  4.         /**
  5.          * 生成hmac方法
  6.          *
  7.          * @param p0_Cmd
  8.          *            业务类型
  9.          * @param p1_MerId
  10.          *            商户编号
  11.          * @param p2_Order
  12.          *            商户订单ID号
  13.          * @param p3_Amt
  14.          *            支付金额
  15.          * @param p4_Cur
  16.          *            交易币种
  17.          * @param p5_Pid
  18.          *            商品名称
  19.          * @param p6_Pcat
  20.          *            商品种类
  21.          * @param p7_Pdesc
  22.          *            商品描述
  23.          * @param p8_Url
  24.          *            商户接受支付成功后的地址
  25.          * @param p9_SAF
  26.          *            送货地址
  27.          * @param pa_MP
  28.          *            商户扩展信息
  29.          * @param pd_FrpId
  30.          *            银行编码
  31.          * @param pr_NeedResponse
  32.          *            应答机制
  33.          * @param keyValue
  34.          *            商户密钥
  35.          * @return
  36.          */
  37.         public static String createHmac(String p0_Cmd, String p1_MerId,
  38.                         String p2_Order, String p3_Amt, String p4_Cur, String p5_Pid,
  39.                         String p6_Pcat, String p7_Pdesc, String p8_Url, String p9_SAF,
  40.                         String pa_MP, String pd_FrpId, String pr_NeedResponse,
  41.                         String keyValue) {
  42.                 StringBuffer sValue = new StringBuffer();
  43.                 sValue.append(p0_Cmd);
  44.                 sValue.append(p1_MerId);
  45.                 sValue.append(p2_Order);
  46.                 sValue.append(p3_Amt);
  47.                 sValue.append(p4_Cur);
  48.                 sValue.append(p5_Pid);
  49.                 sValue.append(p6_Pcat);
  50.                 sValue.append(p7_Pdesc);
  51.                 sValue.append(p8_Url);
  52.                 sValue.append(p9_SAF);
  53.                 sValue.append(pa_MP);
  54.                 sValue.append(pd_FrpId);
  55.                 sValue.append(pr_NeedResponse);
  56.                 String resultValue = DigestUtil.hmacSign(sValue.toString(), keyValue);
  57.                 return resultValue;
  58.         }
  59.  
  60.         /**
  61.          * 返回校验hmac方法
  62.          *
  63.          * @param hmac
  64.          *            支付网关发来的加密验证码
  65.          * @param p1_MerId
  66.          *            商户编号
  67.          * @param r0_Cmd
  68.          *            业务类型
  69.          * @param r1_Code
  70.          *            支付结果
  71.          * @param r2_TrxId
  72.          *            易宝支付交易流水号
  73.          * @param r3_Amt
  74.          *            支付金额
  75.          * @param r4_Cur
  76.          *            交易币种
  77.          * @param r5_Pid
  78.          *            商品名称
  79.          * @param r6_Order
  80.          *            商户订单号
  81.          * @param r7_Uid
  82.          *            易宝支付会员ID
  83.          * @param r8_MP
  84.          *            商户扩展信息
  85.          * @param r9_BType
  86.          *            交易结果返回类型
  87.          * @param keyValue
  88.          *            密钥
  89.          * @return
  90.          */
  91.         public static boolean verifyCallback(String hmac, String p1_MerId,
  92.                         String r0_Cmd, String r1_Code, String r2_TrxId, String r3_Amt,
  93.                         String r4_Cur, String r5_Pid, String r6_Order, String r7_Uid,
  94.                         String r8_MP, String r9_BType, String keyValue) {
  95.                 StringBuffer sValue = new StringBuffer();
  96.                 // 商户编号
  97.                 sValue.append(p1_MerId);
  98.                 // 业务类型
  99.                 sValue.append(r0_Cmd);
  100.                 // 支付结果
  101.                 sValue.append(r1_Code);
  102.                 // 易宝支付交易流水号
  103.                 sValue.append(r2_TrxId);
  104.                 // 支付金额
  105.                 sValue.append(r3_Amt);
  106.                 // 交易币种
  107.                 sValue.append(r4_Cur);
  108.                 // 商品名称
  109.                 sValue.append(r5_Pid);
  110.                 // 商户订单号
  111.                 sValue.append(r6_Order);
  112.                 // 易宝支付会员ID
  113.                 sValue.append(r7_Uid);
  114.                 // 商户扩展信息
  115.                 sValue.append(r8_MP);
  116.                 // 交易结果返回类型
  117.                 sValue.append(r9_BType);
  118.                 String sNewString = DigestUtil.hmacSign(sValue.toString(), keyValue);
  119.  
  120.                 if (hmac.equals(sNewString)) {
  121.                         return true;
  122.                 }
  123.                 return false;
  124.         }
  125. }

回复 "易宝支付工具类"

这儿你可以回复上面这条便签

captcha