コード例 #1
0
ファイル: ThirdApi.java プロジェクト: noikiy/projects
  /** 调用翼支付接口进行支付 */
  public String bestPay(int taskId, int supportMoney) throws Exception {
    // 保存用户提交的订单
    TaskSupport support = new TaskSupport();
    support.setUserId(userRepository.findOne(Context.getCurrentUserId()));
    support.setTaskId(taskRepository.findOne(taskId));
    support.setSupportMoney(new BigDecimal(supportMoney));
    support.setCreatedTime(new Timestamp(System.currentTimeMillis()));
    taskSupportRepository.save(support);

    // 保存orders
    Orders order = new Orders();
    order.setOrderseq(BestPayUtils.doORDERSEQ());
    order.setOrderreqtranseq(BestPayUtils.doORDERREQTRANSEQ());
    order.setStatus(0);
    order.setTaskSupportId(support.getId());
    order.setCreatedTime(new Timestamp(System.currentTimeMillis()));
    ordersRepository.save(order);

    List<NameValuePair> parameters = new ArrayList<NameValuePair>();
    parameters.add(new BasicNameValuePair("MERCHANTID", BestPayConfig.MERCHANTID));
    parameters.add(new BasicNameValuePair("SUBMERCHANTID", BestPayConfig.SUBMERCHANTID));
    parameters.add(new BasicNameValuePair("ORDERSEQ", order.getOrderseq()));
    parameters.add(new BasicNameValuePair("ORDERREQTRANSEQ", order.getOrderreqtranseq()));
    parameters.add(
        new BasicNameValuePair("ORDERDATE", BestPayUtils.doORDERDATE(order.getCreatedTime())));
    parameters.add(
        new BasicNameValuePair("ORDERAMOUNT", new DecimalFormat("0.00").format(supportMoney) + ""));
    parameters.add(
        new BasicNameValuePair(
            "PRODUCTAMOUNT", new DecimalFormat("0.00").format(supportMoney) + ""));
    parameters.add(new BasicNameValuePair("ATTACHAMOUNT", BestPayConfig.ATTACHAMOUNT));
    parameters.add(new BasicNameValuePair("CURTYPE", BestPayConfig.CURTYPE));
    parameters.add(new BasicNameValuePair("ENCODETYPE", BestPayConfig.ENCODETYPE));
    parameters.add(new BasicNameValuePair("MERCHANTURL", BestPayConfig.MERCHANTURL));
    parameters.add(new BasicNameValuePair("BACKMERCHANTURL", BestPayConfig.BACKMERCHANTURL));
    parameters.add(new BasicNameValuePair("ATTACH", BestPayConfig.ATTACH));
    parameters.add(new BasicNameValuePair("BUSICODE", BestPayConfig.BUSICODE));
    parameters.add(new BasicNameValuePair("PRODUCTID", BestPayConfig.PRODUCTID));
    parameters.add(new BasicNameValuePair("TMNUM", BestPayConfig.TMNUM));
    parameters.add(new BasicNameValuePair("CUSTOMERID", BestPayConfig.CUSTOMERID));
    parameters.add(new BasicNameValuePair("PRODUCTDESC", BestPayConfig.PRODUCTDESC));
    parameters.add(new BasicNameValuePair("DIVDETAILS", BestPayConfig.DIVDETAILS));
    parameters.add(
        new BasicNameValuePair(
            "MAC",
            CryptTool.md5Digest(
                "MERCHANTID="
                    + BestPayConfig.MERCHANTID
                    + "&ORDERSEQ="
                    + order.getOrderseq()
                    + "&ORDERDATE="
                    + BestPayUtils.doORDERDATE(order.getCreatedTime())
                    + "&ORDERAMOUNT="
                    + new DecimalFormat("0.00").format(supportMoney)
                    + "&KEY="
                    + BestPayConfig.KEY)));

    HttpResult result =
        HttpConnectionManager.doPost("https://wappaywg.bestpay.com.cn/payWap.do", parameters);
    return result.getMessage();
  }