增加二维码信息返回接口

This commit is contained in:
egan
2019-08-04 17:16:41 +08:00
parent 7dae9dcca2
commit 66055980f6
9 changed files with 34 additions and 15 deletions

View File

@@ -291,23 +291,22 @@ public class AliPayService extends BasePayService<AliPayConfigStorage> {
return formHtml.toString();
}
/**
* 生成二维码支付
* 获取输出二维码信息,
*
* @param order 发起支付的订单信息
* @return 返回图片信息,支付时需要的
* @return 返回二维码信息,,支付时需要的
*/
@Override
public BufferedImage genQrPay(PayOrder order) {
public String getQrPay(PayOrder order){
Map<String, Object> orderInfo = orderInfo(order);
//预订单
JSONObject result = getHttpRequestTemplate().postForObject(getReqUrl() + "?" + UriVariables.getMapToParameters(orderInfo), null, JSONObject.class);
JSONObject response = result.getJSONObject("alipay_trade_precreate_response");
if (SUCCESS_CODE.equals(response.getString(CODE))) {
return MatrixToImageWriter.writeInfoToJpgBuff(response.getString("qr_code"));
return response.getString("qr_code");
}
throw new PayErrorException(new PayException(response.getString(CODE), response.getString("msg"), result.toJSONString()));

View File

@@ -5,11 +5,13 @@ import com.egzosn.pay.common.bean.*;
import com.egzosn.pay.common.exception.PayErrorException;
import com.egzosn.pay.common.http.HttpConfigStorage;
import com.egzosn.pay.common.http.HttpRequestTemplate;
import com.egzosn.pay.common.util.MatrixToImageWriter;
import com.egzosn.pay.common.util.sign.SignUtils;
import com.egzosn.pay.common.util.str.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import java.awt.image.BufferedImage;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.math.BigDecimal;
@@ -141,6 +143,17 @@ public abstract class BasePayService<PC extends PayConfigStorage> implements Pay
return buildRequest(orderInfo, MethodType.POST);
}
/**
* 生成二维码支付
*
* @param order 发起支付的订单信息
* @return 返回图片信息,支付时需要的
*/
@Override
public BufferedImage genQrPay(PayOrder order) {
return MatrixToImageWriter.writeInfoToJpgBuff(getQrPay(order));
}
/**
* 将请求参数或者请求流转化为 Map
*

View File

@@ -161,6 +161,13 @@ public interface PayService<PC extends PayConfigStorage> {
* @return 返回图片信息,支付时需要的
*/
BufferedImage genQrPay(PayOrder order);
/**
* 获取输出二维码信息,
*
* @param order 发起支付的订单信息
* @return 返回二维码信息,,支付时需要的
*/
String getQrPay(PayOrder order);
/**
* 刷卡付,pos主动扫码付款(条码付)

View File

@@ -288,7 +288,7 @@ public class FuiouPayService extends BasePayService<FuiouPayConfigStorage> {
* @return 空
*/
@Override
public BufferedImage genQrPay (PayOrder order) {
public String getQrPay (PayOrder order) {
throw new UnsupportedOperationException();
}

View File

@@ -250,7 +250,7 @@ public class PayoneerPayService extends BasePayService<PayoneerConfigStorage> im
* @return 返回图片信息,支付时需要的
*/
@Override
public BufferedImage genQrPay(PayOrder order) {
public String getQrPay(PayOrder order) {
throw new UnsupportedOperationException();
}

View File

@@ -209,7 +209,7 @@ public class PayPalPayService extends BasePayService<PayPalConfigStorage>{
}
@Override
public BufferedImage genQrPay(PayOrder order) {
public String getQrPay(PayOrder order) {
return null;
}

View File

@@ -386,7 +386,7 @@ public class UnionPayService extends BasePayService<UnionPayConfigStorage> {
* @return 返回图片信息,支付时需要的
*/
@Override
public BufferedImage genQrPay(PayOrder order) {
public String getQrPay(PayOrder order) {
Map<String, Object> params = orderInfo(order);
String responseStr = getHttpRequestTemplate().postForObject(this.getBackTransUrl(), params, String.class);
Map<String, Object> response = UriVariables.getParametersToMap(responseStr);
@@ -396,7 +396,7 @@ public class UnionPayService extends BasePayService<UnionPayConfigStorage> {
if (this.verify(response)) {
if (SDKConstants.OK_RESP_CODE.equals(response.get(SDKConstants.param_respCode))) {
//成功
return MatrixToImageWriter.writeInfoToJpgBuff((String) response.get(SDKConstants.param_qrCode));
return (String) response.get(SDKConstants.param_qrCode);
}
throw new PayErrorException(new PayException((String) response.get(SDKConstants.param_respCode), (String) response.get(SDKConstants.param_respMsg), responseStr));
}

View File

@@ -334,9 +334,9 @@ public class WxYouDianPayService extends BasePayService<WxYouDianPayConfigStorag
@Override
public BufferedImage genQrPay(PayOrder order) {
public String getQrPay(PayOrder order) {
JSONObject orderInfo = orderInfo(order);
return MatrixToImageWriter.writeInfoToJpgBuff((String) orderInfo.get("code_url"));
return (String) orderInfo.get("code_url");
}
/**

View File

@@ -249,7 +249,7 @@ public class YiJiPayService extends BasePayService<YiJiPayConfigStorage> {
* @return 返回图片信息,支付时需要的
*/
@Override
public BufferedImage genQrPay(PayOrder order) {
public String getQrPay(PayOrder order) {
return null;
}