用户注册



邮箱:

密码:

用户登录


邮箱:

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

发表随想


还能输入: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、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

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

加载中,请稍后...