All Downloads are FREE. Search and download functionalities are using the official Maven repository.

cn.ipokerface.weixin.proxy.payment.AppPaymentRequest Maven / Gradle / Ivy

There is a newer version: 1.5.0
Show newest version
package cn.ipokerface.weixin.proxy.payment;

import cn.ipokerface.weixin.model.WeixinPayAccount;
import cn.ipokerface.weixin.model.payment.TradeType;
import cn.ipokerface.weixin.sign.SignType;
import cn.ipokerface.weixin.utils.DigestUtils;
import cn.ipokerface.weixin.utils.MapUtils;

import java.util.HashMap;
import java.util.Map;

/**
 * Created by       PokerFace
 * Create Date      2019-12-28.
 * Email:           [email protected]
 * Version          1.0.0
 * 

* Description: */ public class AppPaymentRequest extends AbstractPaymentRequest { public AppPaymentRequest(String prePayId, WeixinPayAccount payAccount) { super(prePayId, payAccount); } @Override public TradeType getPaymentType() { return TradeType.APP; } /** * 只做查看之用,请不要尝试作为支付请求 */ @Override public PaymentRequest toRequestObject() { PaymentRequest payRequest = new PaymentRequest(getPaymentAccount().getId(), "Sign=WXPay"); payRequest.setPartnerId(getPaymentAccount().getMchId()); payRequest.setPrepayId(getPrePayId()); Map map = new HashMap(); map.put("appid", payRequest.getAppId()); // 因为partnerid和prepayid在PayRequest类中是不进行序列化的 map.put("partnerid", payRequest.getPartnerId()); map.put("prepayid", payRequest.getPrepayId()); map.put("package", payRequest.getPackageInfo()); map.put("timestamp", payRequest.getTimeStamp()); map.put("noncestr", payRequest.getNonceStr()); String sign = DigestUtils.MD5( String.format("%s&key=%s", MapUtils.toJoinString(map, false, true), getPaymentAccount().getPaySignKey())) .toUpperCase(); payRequest.setPaySign(sign); payRequest.setSignType(SignType.MD5); return payRequest; } @Override public String toRequestString() { PaymentRequest payRequest = toRequestObject(); StringBuilder content = new StringBuilder(); content.append(""); content.append(String.format("", payRequest.getAppId())); content.append(String.format("", payRequest.getPartnerId())); content.append(String.format("", payRequest.getPrepayId())); content.append(String.format("", payRequest.getPackageInfo())); content.append(String.format("", payRequest.getNonceStr())); content.append(String.format("", payRequest.getTimeStamp())); content.append(String.format("", payRequest.getPaySign())); content.append(""); return content.toString(); } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy