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