用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - java代码库

易宝支付工具类

2015-06-03 作者: 小韦举报

[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;
	}
}


网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...