首页 > 分享 > 详解java集成支付宝支付接口(JSP+支付宝20160912)

详解java集成支付宝支付接口(JSP+支付宝20160912)

package com.luozhuang.alipay;

import java.util.HashMap;

import java.util.Map;

import com.alibaba.fastjson.JSON;

import com.alipay.api.AlipayApiException;

import com.alipay.api.AlipayClient;

import com.alipay.api.DefaultAlipayClient;

import com.alipay.api.internal.util.StringUtils;

import com.alipay.api.request.AlipayTradeCancelRequest;

import com.alipay.api.request.AlipayTradePayRequest;

import com.alipay.api.request.AlipayTradePrecreateRequest;

import com.alipay.api.request.AlipayTradeQueryRequest;

import com.alipay.api.request.AlipayTradeRefundRequest;

import com.alipay.api.request.AlipayTradeWapPayRequest;

import com.alipay.api.response.AlipayTradeCancelResponse;

import com.alipay.api.response.AlipayTradePayResponse;

import com.alipay.api.response.AlipayTradePrecreateResponse;

import com.alipay.api.response.AlipayTradeQueryResponse;

import com.alipay.api.response.AlipayTradeRefundResponse;

public class AlipayClientFactory {

  private static final AlipayClient client = new DefaultAlipayClient(

      Config.URL, Config.APPID, Config.RSA_RRIVATE_KEY, Config.FORMAT,

      Config.CHARSET, Config.ALIPAY_PUBLIC_KEY);

  public static AlipayClient getAlipayClientInstance() {

    return client;

  }

  /**

   * appAuthToken

   * 如ISV代替商家调用当面付接口,需将商户授权后获取的app_auth_token带上;如商家申请当面付自己调用,则传null bizContent

   * JSON格式 商户的请求参数

   */

  public String ydAndPc_Pay(Map<String, String> maps)

      throws AlipayApiException {

    AlipayTradeWapPayRequest alipayRequest = new AlipayTradeWapPayRequest();

    String NotifyUrl = maps.get("NotifyUrl");

    String ReturnUrl = maps.get("ReturnUrl");

    if (!StringUtils.isEmpty(NotifyUrl)) {

      alipayRequest.setNotifyUrl(NotifyUrl);

      maps.remove("NotifyUrl");

    }

    if (!StringUtils.isEmpty(ReturnUrl)) {

      alipayRequest.setReturnUrl(ReturnUrl);

      maps.remove("ReturnUrl");

    }

    String bizCon = JSON.toJSONString(maps);

    alipayRequest.setBizContent(bizCon);

    String form = "";

    try {

      form = AlipayClientFactory.getAlipayClientInstance()

          .pageExecute(alipayRequest).getBody();

    } catch (AlipayApiException e) {

      form = "err";

      e.printStackTrace();

    }

    return form;

  }

  public AlipayTradeQueryResponse query(String appAuthToken, String bizContent)

      throws AlipayApiException {

    AlipayTradeQueryRequest request = new AlipayTradeQueryRequest();

    request.putOtherTextParam("app_auth_token", appAuthToken);

    request.setBizContent(bizContent);

    return AlipayClientFactory.getAlipayClientInstance().execute(request);

  }

  public AlipayTradePayResponse pay(String appAuthToken, String bizContent)

      throws AlipayApiException {

    AlipayTradePayRequest request = new AlipayTradePayRequest();

    request.putOtherTextParam("app_auth_token", appAuthToken);

    request.setBizContent(bizContent);

    return AlipayClientFactory.getAlipayClientInstance().execute(request);

  }

  public AlipayTradePrecreateResponse precreate(String appAuthToken,

      String bizContent) throws AlipayApiException {

    AlipayTradePrecreateRequest request = new AlipayTradePrecreateRequest();

    request.putOtherTextParam("app_auth_token", appAuthToken);

    request.setBizContent(bizContent);

    return AlipayClientFactory.getAlipayClientInstance().execute(request);

  }

  public AlipayTradeCancelResponse cancel(String appAuthToken,

      String bizContent) throws AlipayApiException {

    AlipayTradeCancelRequest request = new AlipayTradeCancelRequest();

    request.putOtherTextParam("app_auth_token", appAuthToken);

    request.setBizContent(bizContent);

    return AlipayClientFactory.getAlipayClientInstance().execute(request);

  }

  public AlipayTradeRefundResponse refund(String appAuthToken,

      String bizContent) throws AlipayApiException {

    AlipayTradeRefundRequest request = new AlipayTradeRefundRequest();

    request.putOtherTextParam("app_auth_token", appAuthToken);

    request.setBizContent(bizContent);

    return AlipayClientFactory.getAlipayClientInstance().execute(request);

  }

  @SuppressWarnings("unused")

  public static void main(String[] args) {

    AlipayClientFactory c = new AlipayClientFactory();

    try {

      Map<String, String> map = new HashMap<String, String>();

      map.put("out_trade_no", "20160914113218");

      String bizContent = JSON.toJSONString(map);

      System.err.println(bizContent);

      AlipayTradeQueryResponse rp = c.query(null, bizContent);

    } catch (AlipayApiException e) {

      e.printStackTrace();

    }

  }

}

相关知识

对接支付宝、微信、第三方支付,超详细讲解+demo演示
网站增加支付宝花呗在线支付
app调起支付宝-后端预支付
支付宝如何修改花呗支付方式
花小猪打车怎么用支付宝支付
支付宝花呗/花呗分期支付说明
支付宝中标铁路客票电子支付系统
移动支付新方式:花不愁与支付宝
支付宝刷脸支付系统怎么加盟
网上商城系统支付方式如何配置?支付方式有哪些

网址: 详解java集成支付宝支付接口(JSP+支付宝20160912) https://m.huajiangbk.com/newsview949055.html

所属分类:花卉
上一篇: 什么是第三方支付接口api?第三
下一篇: 第三方支付接口集成(转载)