parent
261614e2d6
commit
98b094eaa4
Binary file not shown.
@ -0,0 +1,25 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIEKzCCAxOgAwIBAgIUW0mbrKuZqAqNv3ZTP/ylJOrmuIAwDQYJKoZIhvcNAQEL
|
||||
BQAwXjELMAkGA1UEBhMCQ04xEzARBgNVBAoTClRlbnBheS5jb20xHTAbBgNVBAsT
|
||||
FFRlbnBheS5jb20gQ0EgQ2VudGVyMRswGQYDVQQDExJUZW5wYXkuY29tIFJvb3Qg
|
||||
Q0EwHhcNMjMwNzEwMDMwMDA2WhcNMjgwNzA4MDMwMDA2WjCBhDETMBEGA1UEAwwK
|
||||
MTY0MDE2NTIyOTEbMBkGA1UECgwS5b6u5L+h5ZWG5oi357O757ufMTAwLgYDVQQL
|
||||
DCfoi4/lt57or5rkuI7kuZDkv6Hmga/mioDmnK/mnInpmZDlhazlj7gxCzAJBgNV
|
||||
BAYMAkNOMREwDwYDVQQHDAhTaGVuWmhlbjCCASIwDQYJKoZIhvcNAQEBBQADggEP
|
||||
ADCCAQoCggEBALrELkqmSy8PkSk3KL3eNwQKm08xvIsrk3KKuyS7YrulQaKmqfvn
|
||||
Nh0qXfgFYCqOKlV6VBEAxSRfsNq1/NsVCa5ZGcrcHlf0iC22p81w0W0TTT4LzfRj
|
||||
tuobO/uhLhtHHaWxyVdloRirHEl5xXREvI6xstjEEG5vYyIFxR2Aufpv6e20FpZ3
|
||||
G3KiTSRFoSSHMJjOoPEeGd6nAzueqGGjdGcxNHl/a9HDyYcRMeIO9k1Wd1gcwwpu
|
||||
vinELhB1ojpzO6UekAzjM4g7QD2aAibmb0/Q+4hFw7xXOrOElt0hjKcoG+hZGlFL
|
||||
xjLCC+Z/xbLEz1jtH7mAdUG/g2Ls4pr470UCAwEAAaOBuTCBtjAJBgNVHRMEAjAA
|
||||
MAsGA1UdDwQEAwID+DCBmwYDVR0fBIGTMIGQMIGNoIGKoIGHhoGEaHR0cDovL2V2
|
||||
Y2EuaXRydXMuY29tLmNuL3B1YmxpYy9pdHJ1c2NybD9DQT0xQkQ0MjIwRTUwREJD
|
||||
MDRCMDZBRDM5NzU0OTg0NkMwMUMzRThFQkQyJnNnPUhBQ0M0NzFCNjU0MjJFMTJC
|
||||
MjdBOUQzM0E4N0FEMUNERjU5MjZFMTQwMzcxMA0GCSqGSIb3DQEBCwUAA4IBAQBK
|
||||
udnDDPqczbrX8RmKcw5rixMyM5toyMtqNR1pfkWCG2QP2PmNTYBARO2tW2DZtWZm
|
||||
eLuUXZVE12FnIkEQQ65JmDEEvz8PwTSQIPCcObHUGKuj5dFWswzYEWMsqIdPfGK+
|
||||
Teb294FsTRiElDMkpt3pmYkGVxFwsAfSFZM/9Gl45HdagD4RHfvRDgB8WGx6azxX
|
||||
w/kn8CHJqLEJtbPer8cGFCih0v0LfLCy4MEHb0Si0PWoEmecTE3DtXK5gEKLFlEy
|
||||
g1Gb16LW1eEGwyfqcUmwXDE3aamL4RpxjZgzIagvsqVfPn7nDiw6fFf78Ya0ClVx
|
||||
ImJDoCe+5aH652BNZXWD
|
||||
-----END CERTIFICATE-----
|
||||
@ -0,0 +1,28 @@
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC6xC5KpksvD5Ep
|
||||
Nyi93jcECptPMbyLK5Nyirsku2K7pUGipqn75zYdKl34BWAqjipVelQRAMUkX7Da
|
||||
tfzbFQmuWRnK3B5X9IgttqfNcNFtE00+C830Y7bqGzv7oS4bRx2lsclXZaEYqxxJ
|
||||
ecV0RLyOsbLYxBBub2MiBcUdgLn6b+nttBaWdxtyok0kRaEkhzCYzqDxHhnepwM7
|
||||
nqhho3RnMTR5f2vRw8mHETHiDvZNVndYHMMKbr4pxC4QdaI6czulHpAM4zOIO0A9
|
||||
mgIm5m9P0PuIRcO8VzqzhJbdIYynKBvoWRpRS8Yywgvmf8WyxM9Y7R+5gHVBv4Ni
|
||||
7OKa+O9FAgMBAAECggEAKlMzOm+dMjkQ6Io7jWvChAPzVmsrE074x0hxSM2+fk/h
|
||||
I/8pHpEzTkC/sulk9b/qEBz82C2Yf7m/1pDPkMafvwcqNTLVHZGpGtL+DCy5CUMK
|
||||
ijkan3vJhBxP56KLVFs1eMtlmYzKiVCdxHj4KnU5Vg0nPsCQCLbtfFRaa2k0vHAl
|
||||
LpaC+HG/nFMewTC9NBcfu+IMzs5miUgvWpkAVXvq4WcJq+ACsnc2rzDlEa7ZNaNR
|
||||
3CtHCj+f7Yhnt+U+IImIGLeh2Z1wR7dCxnuAQ02W0pWl8pIUmrL8m9LwRrgL1Rje
|
||||
Fp1DXTXKlCl3oHELz9qHfJ06K2r5laCqMV2s6esTgQKBgQDfNnev21ydMe7F6NaO
|
||||
0s1Xb4Btl9NSiCEoTjdt/w2rCFdvu0YsgutaB0J4rk2Jeyp7MlHiYkUn1X/dJlMX
|
||||
/P/hmgtnnFJotIvHFl3nHem8l10mB+MYCeI65uDOvEcXoGV+jMTZd4wzJlSC/uio
|
||||
UbsWf7ykHMW8M77fbzncY5MOiQKBgQDWMzU0NfRdVE3Y7c7vfJr2jMPhkB5ai5Cr
|
||||
PK+kCbVKALR79C4aPaUM3RmYaG61NPaylw1+czv1YxWvtiHidiGAM3t/18qbKicf
|
||||
SQxqe4uFAXWMafopThPLw9KGq0sSjOs9DDt8CIscAzAs9ykj2DT2khfAeqZdwjDo
|
||||
CVnWKtmL3QKBgQDRYMNGd2tZnPQQO0e/82dgpBwBMVCt8zm/GBeQm5YToCB8k1vQ
|
||||
9wGTkom8sCvVUW5Y36vFwk6CfheRt5hsQQs5cQlPqGf5BZq0JnvxBrMxD3715KIV
|
||||
83d9rwKjiiLZu8BYw+0G3MfrVwIhWsGc2gW3phyqiL7GundKGYhZ/iF8mQKBgATd
|
||||
BMg6sWGtGFdkjt5BJgOTDp+Adi/4G0DID/TZg5Q6j96AnMtbuvOf0YT0Wg8jNLa5
|
||||
V0UXuLTJmyRyLjLGG9ydTqCIdcEwI9NCBVYll/VdIx4dCeEGNMzblVwZZ4r0SCMK
|
||||
tA8M4puwNtfOhNCbiBhRGNj17/ERB6s9Cx0hu+7BAoGAV3nfA3JACh30oStpZQab
|
||||
CY3JJvqIFINGk1h8cY9yjlI/g6WXw6ACtIVhvy9bEOkSFgtMdCFWVLC/E836p2Qo
|
||||
38J4DLiXszt+4y8PFviVszVFZIRkHOOluRXSedDmPteu4bQCCXO4MCzC502PKcyM
|
||||
X38MmpqzqQxZoe5PbwJENR0=
|
||||
-----END PRIVATE KEY-----
|
||||
@ -0,0 +1,27 @@
|
||||
package com.cyl.wechat;
|
||||
|
||||
import com.wechat.pay.java.core.Config;
|
||||
import com.wechat.pay.java.core.RSAAutoCertificateConfig;
|
||||
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
|
||||
import org.springframework.core.io.support.ResourcePatternResolver;
|
||||
|
||||
public class WechatPayConfig {
|
||||
|
||||
private static Config wechatPayConfig;
|
||||
|
||||
private WechatPayConfig(){}
|
||||
|
||||
public static Config getInstance() {
|
||||
|
||||
|
||||
if (wechatPayConfig == null) {
|
||||
wechatPayConfig = new RSAAutoCertificateConfig.Builder()
|
||||
.merchantId(WechatPayData.merchantId)
|
||||
.privateKeyFromPath(WechatPayConfig.class.getResource(WechatPayData.privateKeyPath).getPath())
|
||||
.merchantSerialNumber(WechatPayData.merchantSerialNumber)
|
||||
.apiV3Key(WechatPayData.apiV3key)
|
||||
.build();
|
||||
}
|
||||
return wechatPayConfig;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,49 @@
|
||||
package com.cyl.wechat;
|
||||
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Component
|
||||
@ConfigurationProperties(prefix = "wechat")
|
||||
public class WechatPayData {
|
||||
|
||||
/** 商户号 */
|
||||
public static String appId;
|
||||
public static String secret;
|
||||
public static String merchantId;
|
||||
/** 商户API私钥路径 */
|
||||
public static String privateKeyPath;
|
||||
/** 商户证书序列号 */
|
||||
public static String merchantSerialNumber;
|
||||
/** 商户APIV3密钥 */
|
||||
public static String apiV3key;
|
||||
public static String notifyUrl;
|
||||
|
||||
public void setAppId(String appId) {
|
||||
WechatPayData.appId = appId;
|
||||
}
|
||||
|
||||
public void setSecret(String secret) {
|
||||
WechatPayData.secret = secret;
|
||||
}
|
||||
|
||||
public void setMerchantId(String merchantId) {
|
||||
WechatPayData.merchantId = merchantId;
|
||||
}
|
||||
|
||||
public void setPrivateKeyPath(String privateKeyPath) {
|
||||
WechatPayData.privateKeyPath = privateKeyPath;
|
||||
}
|
||||
|
||||
public void setMerchantSerialNumber(String merchantSerialNumber) {
|
||||
WechatPayData.merchantSerialNumber = merchantSerialNumber;
|
||||
}
|
||||
|
||||
public void setApiV3key(String apiV3key) {
|
||||
WechatPayData.apiV3key = apiV3key;
|
||||
}
|
||||
|
||||
public void setNotifyUrl(String notifyUrl) {
|
||||
WechatPayData.notifyUrl = notifyUrl;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,13 @@
|
||||
package com.cyl.wechat.response;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class WechatUserAuth {
|
||||
|
||||
private String access_token;
|
||||
private Integer expires_in;
|
||||
private String refresh_token;
|
||||
private String openid;
|
||||
private String scope;
|
||||
}
|
||||
Loading…
Reference in new issue