diff --git a/pay-java-ali/src/main/java/com/egzosn/pay/ali/api/AliPayService.java b/pay-java-ali/src/main/java/com/egzosn/pay/ali/api/AliPayService.java index fa21cfb..6c23d92 100644 --- a/pay-java-ali/src/main/java/com/egzosn/pay/ali/api/AliPayService.java +++ b/pay-java-ali/src/main/java/com/egzosn/pay/ali/api/AliPayService.java @@ -291,23 +291,22 @@ public class AliPayService extends BasePayService { return formHtml.toString(); } + + /** - * 生成二维码支付 + * 获取输出二维码信息, * * @param order 发起支付的订单信息 - * @return 返回图片信息,支付时需要的 + * @return 返回二维码信息,,支付时需要的 */ @Override - public BufferedImage genQrPay(PayOrder order) { - + public String getQrPay(PayOrder order){ Map 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())); diff --git a/pay-java-common/src/main/java/com/egzosn/pay/common/api/BasePayService.java b/pay-java-common/src/main/java/com/egzosn/pay/common/api/BasePayService.java index ed8e109..509a2f3 100644 --- a/pay-java-common/src/main/java/com/egzosn/pay/common/api/BasePayService.java +++ b/pay-java-common/src/main/java/com/egzosn/pay/common/api/BasePayService.java @@ -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 implements Pay return buildRequest(orderInfo, MethodType.POST); } + /** + * 生成二维码支付 + * + * @param order 发起支付的订单信息 + * @return 返回图片信息,支付时需要的 + */ + @Override + public BufferedImage genQrPay(PayOrder order) { + return MatrixToImageWriter.writeInfoToJpgBuff(getQrPay(order)); + } + /** * 将请求参数或者请求流转化为 Map * diff --git a/pay-java-common/src/main/java/com/egzosn/pay/common/api/PayService.java b/pay-java-common/src/main/java/com/egzosn/pay/common/api/PayService.java index 0c7f73d..eececb9 100644 --- a/pay-java-common/src/main/java/com/egzosn/pay/common/api/PayService.java +++ b/pay-java-common/src/main/java/com/egzosn/pay/common/api/PayService.java @@ -161,6 +161,13 @@ public interface PayService { * @return 返回图片信息,支付时需要的 */ BufferedImage genQrPay(PayOrder order); + /** + * 获取输出二维码信息, + * + * @param order 发起支付的订单信息 + * @return 返回二维码信息,,支付时需要的 + */ + String getQrPay(PayOrder order); /** * 刷卡付,pos主动扫码付款(条码付) diff --git a/pay-java-fuiou/src/main/java/com/egzosn/pay/fuiou/api/FuiouPayService.java b/pay-java-fuiou/src/main/java/com/egzosn/pay/fuiou/api/FuiouPayService.java index f71f3e0..b5109dd 100644 --- a/pay-java-fuiou/src/main/java/com/egzosn/pay/fuiou/api/FuiouPayService.java +++ b/pay-java-fuiou/src/main/java/com/egzosn/pay/fuiou/api/FuiouPayService.java @@ -288,7 +288,7 @@ public class FuiouPayService extends BasePayService { * @return 空 */ @Override - public BufferedImage genQrPay (PayOrder order) { + public String getQrPay (PayOrder order) { throw new UnsupportedOperationException(); } diff --git a/pay-java-payoneer/src/main/java/com/egzosn/pay/payoneer/api/PayoneerPayService.java b/pay-java-payoneer/src/main/java/com/egzosn/pay/payoneer/api/PayoneerPayService.java index 1b655d2..c83766f 100644 --- a/pay-java-payoneer/src/main/java/com/egzosn/pay/payoneer/api/PayoneerPayService.java +++ b/pay-java-payoneer/src/main/java/com/egzosn/pay/payoneer/api/PayoneerPayService.java @@ -250,7 +250,7 @@ public class PayoneerPayService extends BasePayService im * @return 返回图片信息,支付时需要的 */ @Override - public BufferedImage genQrPay(PayOrder order) { + public String getQrPay(PayOrder order) { throw new UnsupportedOperationException(); } diff --git a/pay-java-paypal/src/main/java/com/egzosn/pay/paypal/api/PayPalPayService.java b/pay-java-paypal/src/main/java/com/egzosn/pay/paypal/api/PayPalPayService.java index be82995..eeec14f 100644 --- a/pay-java-paypal/src/main/java/com/egzosn/pay/paypal/api/PayPalPayService.java +++ b/pay-java-paypal/src/main/java/com/egzosn/pay/paypal/api/PayPalPayService.java @@ -209,7 +209,7 @@ public class PayPalPayService extends BasePayService{ } @Override - public BufferedImage genQrPay(PayOrder order) { + public String getQrPay(PayOrder order) { return null; } diff --git a/pay-java-union/src/main/java/com/egzosn/pay/union/api/UnionPayService.java b/pay-java-union/src/main/java/com/egzosn/pay/union/api/UnionPayService.java index 1e0b4a4..c7e0f2e 100644 --- a/pay-java-union/src/main/java/com/egzosn/pay/union/api/UnionPayService.java +++ b/pay-java-union/src/main/java/com/egzosn/pay/union/api/UnionPayService.java @@ -386,7 +386,7 @@ public class UnionPayService extends BasePayService { * @return 返回图片信息,支付时需要的 */ @Override - public BufferedImage genQrPay(PayOrder order) { + public String getQrPay(PayOrder order) { Map params = orderInfo(order); String responseStr = getHttpRequestTemplate().postForObject(this.getBackTransUrl(), params, String.class); Map response = UriVariables.getParametersToMap(responseStr); @@ -396,7 +396,7 @@ public class UnionPayService extends BasePayService { 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)); } diff --git a/pay-java-wx-youdian/src/main/java/com/egzosn/pay/wx/youdian/api/WxYouDianPayService.java b/pay-java-wx-youdian/src/main/java/com/egzosn/pay/wx/youdian/api/WxYouDianPayService.java index 76898c3..c77dd23 100644 --- a/pay-java-wx-youdian/src/main/java/com/egzosn/pay/wx/youdian/api/WxYouDianPayService.java +++ b/pay-java-wx-youdian/src/main/java/com/egzosn/pay/wx/youdian/api/WxYouDianPayService.java @@ -334,9 +334,9 @@ public class WxYouDianPayService extends BasePayService { * @return 返回图片信息,支付时需要的 */ @Override - public BufferedImage genQrPay(PayOrder order) { + public String getQrPay(PayOrder order) { return null; }