package common.utils.wechat; import com.wechat.pay.java.core.Config; import com.wechat.pay.java.core.RSAAutoCertificateConfig; import com.wechat.pay.java.core.RSAPublicKeyConfig; import com.wechat.pay.java.core.notification.NotificationConfig; import com.wechat.pay.java.service.payments.h5.H5Service; public class WeChatConfig { public static String merchantId = System.getenv("WX_MERCHANT_ID"); public static String privateKeyPath = System.getenv("WX_PRIVATE_KEY_PATH"); public static String publicKeyPath = System.getenv("WX_PUBLIC_KEY_PATH"); public static String publicKeyId = System.getenv("WX_PUBLIC_KEY_ID"); public static String merchantSerialNumber = System.getenv("WX_MERCHANT_SERIAL_NUMBER"); public static String apiV3Key = System.getenv("WX_API_V3_KEY"); public static String appId = System.getenv("WX_APP_ID"); private static Config config; private static NotificationConfig nConfig; private static H5Service service; public static Config getConfig() { if (config == null) { config = new RSAPublicKeyConfig.Builder() .merchantId(merchantId) .privateKeyFromPath(privateKeyPath) .publicKeyFromPath(publicKeyPath) .publicKeyId(publicKeyId) .merchantSerialNumber(merchantSerialNumber) .apiV3Key(apiV3Key) .build(); } return config; } public static NotificationConfig getNConfig() { if (nConfig == null) { nConfig = new RSAAutoCertificateConfig.Builder() .merchantId(merchantId) .privateKeyFromPath(privateKeyPath) .merchantSerialNumber(merchantSerialNumber) .apiV3Key(apiV3Key) .build(); } return nConfig; } public static H5Service getService() { if (service == null) { service = new H5Service.Builder().config(getConfig()).build(); } return service; } }