|
|
|
@ -10,13 +10,17 @@ import com.base.springcloud.entity.WxpayRefundVo; |
|
|
|
import com.base.springcloud.entity.WxpayTradeVo; |
|
|
|
import com.base.springcloud.entity.WxpayTradeVo.WxTradeAmountVo; |
|
|
|
import com.base.springcloud.service.WecPaymentService; |
|
|
|
import com.base.springcloud.util.StringHelper; |
|
|
|
import com.base.springcloud.util.DateUtil; |
|
|
|
import com.base.springcloud.wxsdk.MyConfig; |
|
|
|
import com.base.springcloud.wxsdk.WXPay; |
|
|
|
import com.base.springcloud.wxsdk.WXPayUtil; |
|
|
|
import com.base.springcloud.wxsdk.WxpayUtils; |
|
|
|
import lombok.SneakyThrows; |
|
|
|
import org.slf4j.Logger; |
|
|
|
import org.slf4j.LoggerFactory; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
|
|
import java.util.HashMap; |
|
|
|
import java.util.Map; |
|
|
|
|
|
|
|
@Service |
|
|
|
@ -80,6 +84,33 @@ public class WecPaymentServiceImp implements WecPaymentService { |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
public void codePay(CodePayBO codePayBO) { |
|
|
|
String appId = codePayBO.getAppId(); |
|
|
|
String mchId = codePayBO.getMchId(); |
|
|
|
String key = codePayBO.getMchPrivateKey(); |
|
|
|
String certificate = codePayBO.getCertificate(); |
|
|
|
MyConfig config = new MyConfig(appId,mchId,key,certificate); |
|
|
|
WXPay wxPay = new WXPay(config); |
|
|
|
Map<String, String> data = new HashMap(); |
|
|
|
//公众账号ID (微信分配的公众账号ID(企业号corpid即为此appId))
|
|
|
|
data.put("appid", "wxa91984b310053c3d"); |
|
|
|
//商户号 (微信支付分配的商户号)
|
|
|
|
data.put("mch_id", "1610494969"); |
|
|
|
data.put("device_info", "sb0001"); |
|
|
|
//商品描述 (商品简单描述,该字段须严格按照规范传递) 店名-销售商品类目 例 小张南山店-超市
|
|
|
|
data.put("body", "Image形象店-深圳腾大-QQ公仔"); |
|
|
|
//商户系统内部订单号,要求32个字符内,只能是数字、大小写字母_-|*且在同一个商户号下唯一
|
|
|
|
data.put("out_trade_no", DateUtil.getDateString(25)); |
|
|
|
//订单总金额,单位为分,只能为整数
|
|
|
|
data.put("total_fee", "1"); |
|
|
|
data.put("auth_code", "135080797699902868"); |
|
|
|
data.put("spbill_create_ip", "8.8.8.8"); |
|
|
|
try { |
|
|
|
//付款码 (扫码支付付款码,设备读取用户微信中的条码或者二维码信息(注:用户付款码条形码规则:18位纯数字,以10、11、12、13、14、15开头))
|
|
|
|
data.put("sign", WXPayUtil.generateSignature(data,"yDXt3Jczcs2dSKvwUxGkYYfHzCe8SXtY")); |
|
|
|
Map<String, String> responseMap = wxPay.microPay(data); |
|
|
|
}catch (Exception e){ |
|
|
|
e.printStackTrace(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
@ -92,7 +123,6 @@ public class WecPaymentServiceImp implements WecPaymentService { |
|
|
|
public Boolean orderResult(OrderBO orderBO) { |
|
|
|
Order order = orderBO.getOrder(); |
|
|
|
String url = PaymentConstant.WX_ORDER_PAY_URL + order.getOrderNo() + "?mchid=" + order.getMchId(); |
|
|
|
logger.info("order_result_url : {}",url); |
|
|
|
return WxpayUtils.queryWxOrder(PaymentConstant.PAY_ORDER,url,orderBO.getMchId(),orderBO.getMchPrivateKey(),orderBO.getCertificate(),orderBO.getSerialNo()); |
|
|
|
} |
|
|
|
|
|
|
|
|