From d159ca43d42526b470989f708e36d7104a0cc5f2 Mon Sep 17 00:00:00 2001 From: wucongxing <815046773@qq.com> Date: Wed, 20 Dec 2023 11:37:28 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E9=97=AE=E8=AF=8A=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E6=88=90=E9=83=BD=E5=95=86=E6=88=B7=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/config.php | 16 ++++++++-- extend/Wechat/WechatPay.php | 14 +++++---- .../certs/1659662936/apiclient_cert.p12 | Bin 0 -> 2790 bytes .../certs/1659662936/apiclient_cert.pem | 25 ++++++++++++++++ .../Wechat/certs/1659662936/apiclient_key.pem | 28 ++++++++++++++++++ ...5C8A69CC86D1127F6B6AA06AAAF10531EEFE90.pem | 24 +++++++++++++++ 6 files changed, 100 insertions(+), 7 deletions(-) create mode 100644 extend/Wechat/certs/1659662936/apiclient_cert.p12 create mode 100644 extend/Wechat/certs/1659662936/apiclient_cert.pem create mode 100644 extend/Wechat/certs/1659662936/apiclient_key.pem create mode 100644 extend/Wechat/certs/1659662936/wechatpay_5B5C8A69CC86D1127F6B6AA06AAAF10531EEFE90.pem diff --git a/config/config.php b/config/config.php index f412388..7c21451 100644 --- a/config/config.php +++ b/config/config.php @@ -54,8 +54,20 @@ return [ "secret" => env('DOCTOR_WECHAT_APP_SECRET', '817665d3763637fe66d56548f8484622'), ], "pay" => [ - "mch_id" => env('PATIENT_WECHAT_MCH_ID', '1636644248'), - "v3_api_secret" => env('PATIENT_WECHAT_APIv3_SECRET', 'gdxz292sjSOadN3m2pCda03NfCsmNadY'), + "1636644248" => [// 北京欣欣相照 + "mch_id" => env('PATIENT_WECHAT_PAY_1636644248_MCH_ID', '1636644248'), + "v3_api_secret" => env('PATIENT_WECHAT_PAY_1636644248_API_V3_SECRET', 'gdxz292sjSOadN3m2pCda03NfCsmNadY'), // v3 API 秘钥 + "platform_certs" => env('PATIENT_WECHAT_PAY_1636644248_PLATFORM_CERTS', 'wechatpay_112FCCD1B9ECC8292703AB7363C73D74B6AFDC1A.pem'), // 平台证书 + "private_key" => env('PATIENT_WECHAT_PAY_1636644248_PRIVATE_KEY', 'certs/1636644248/apiclient_key.pem'), // 商户证书 + "certificate" => env('PATIENT_WECHAT_PAY_1636644248_CERTIFICATE', 'certs/1636644248/apiclient_cert.pem'), // 商户证书 + ], + "1659662936" => [// 成都欣欣相照 + "mch_id" => env('PATIENT_WECHAT_PAY_1636644248_MCH_ID', '1659662936'), + "v3_api_secret" => env('PATIENT_WECHAT_PAY_1636644248_API_V3_SECRET', 'gdxz292sjSOadNNad2pCda03NfC2msmY'), // v3 API 秘钥 + "platform_certs" => env('PATIENT_WECHAT_PAY_1636644248_PLATFORM_CERTS', 'wechatpay_5B5C8A69CC86D1127F6B6AA06AAAF10531EEFE90.pem'), // 平台证书 + "private_key" => env('PATIENT_WECHAT_PAY_1636644248_PRIVATE_KEY', 'certs/1659662936/apiclient_key.pem'), // 商户证书 + "certificate" => env('PATIENT_WECHAT_PAY_1636644248_CERTIFICATE', 'certs/1659662936/apiclient_cert.pem'), // 商户证书 + ] ] ], ], diff --git a/extend/Wechat/WechatPay.php b/extend/Wechat/WechatPay.php index 2c7cd88..e752a49 100644 --- a/extend/Wechat/WechatPay.php +++ b/extend/Wechat/WechatPay.php @@ -40,8 +40,6 @@ class WechatPay $this->config = config("we_chat.applets.pharmacist"); } - $this->pay_config = config("we_chat.applets.pay"); - if (empty($this->config)){ throw new BusinessException("系统配置错误", HttpEnumCode::SERVER_ERROR); } @@ -53,16 +51,22 @@ class WechatPay if ($order_type == 1){ $this->pay_notify_url = $this->config['inquiry_pay_notify_url']; $this->refund_notify_url = $this->config['inquiry_refund_notify_url']; + + $this->pay_config = config("we_chat.applets.pay.1659662936"); } if ($order_type == 2){ $this->pay_notify_url = $this->config['product_pay_notify_url']; $this->refund_notify_url = $this->config['product_refund_notify_url']; + + $this->pay_config = config("we_chat.applets.pay.1636644248"); } if ($order_type == 3){ $this->pay_notify_url = $this->config['detection_pay_notify_url']; $this->refund_notify_url = $this->config['detection_refund_notify_url']; + + $this->pay_config = config("we_chat.applets.pay.1636644248"); } $app_env = config('app_env','dev'); @@ -85,8 +89,8 @@ class WechatPay 'mch_id' => $this->pay_config['mch_id'], // 商户证书 - 'private_key' => __DIR__ . '/certs/1636644248/apiclient_key.pem', - 'certificate' => __DIR__ . '/certs/1636644248/apiclient_cert.pem', + 'private_key' => __DIR__ . '/' . $this->pay_config['private_key'], + 'certificate' => __DIR__ . '/' . $this->pay_config['certificate'], // v3 API 秘钥 'secret_key' => $this->pay_config['v3_api_secret'], @@ -98,7 +102,7 @@ class WechatPay // 下载工具:https://github.com/wechatpay-apiv3/CertificateDownloader 'platform_certs' => [ // 请使用绝对路径 - __DIR__ . '/certs/' . $this->pay_config['mch_id'] . '/wechatpay_112FCCD1B9ECC8292703AB7363C73D74B6AFDC1A.pem', + __DIR__ . '/certs/' . $this->pay_config['mch_id'] . '/' . $this->pay_config['platform_certs'], ], /** diff --git a/extend/Wechat/certs/1659662936/apiclient_cert.p12 b/extend/Wechat/certs/1659662936/apiclient_cert.p12 new file mode 100644 index 0000000000000000000000000000000000000000..13982955238fc8f1eecf1a1a05c1c6afd92b4080 GIT binary patch literal 2790 zcmY+^XE+;-76FSBKeBRn$y_6sb|OcFa;#6|pL2(N;sm zC^f2ft7^9PUf26P_ulv359h=A|Ic$i{t$TR4-k+Bfrpku7-S;#BX^mBbijN(G#8AA zW}d}q2s|y%KNTb&PfLFmfk8k30uMg^rvV}aA<%z+U;;uAEMWR!dnV_^T*qS&h#nA% z2lrnnv+wOu7StlCJ^E&_x%ku0Rbsx<`Td)4OeQBT_=(FisIgA1u-cjo zUJFd8SMB50A5tk)!(y3WA{2-p-6hp7Y5nRjoH6K;3s|{5yK()A>~tML8K^7=@p&-S z%OR%ZGI<+nqA*ZWhDxbWC>s{EAzo191tK2+qv`I7G+b$IM|XZ$n$o$lz*q_iyDuz4 z5%$s1UA;@zQn{8l_g1JvOt@4n_E1p5J4;fGLMv-sO#g+c66J>@1`{PC%(uQY5b}$#=BrHFwlZRe&WAuV-Nx!}D80U8}D{ zrcK00)2?Dup%LHHDCD)_n!;$kRY{Z5EAo}wdF5I%t35UBaao=RfX$ zY~X9ix%uoyZ(NZb|FTw}(l*XUq<&2+_fr1X9OjwKn$=0lI$kJ9)IB?Xo${-Ife2k9p z-ThM9KgTbm9fe%x5Jh+Na+`am04MbvnNLc;0k#duA{Y*DC|BH!o?oIAoO^I`68plmh25o$9Vjd;ErkO8b(Gdut(SUlYa3`}#`C3bMe0WWjqPTO$IwEU5HQ)js}b;W zhgHLYQBqy|U>IZJrPIbUQP(?!5EoqwKj=fESi z%(`9!^fK&UYW+vgx!GQk(@Qg-RFrL==EVe(J zTM)+oa0ms0^6}t5XJ9V)fQn3avU^ier_G|gBBc}0{I4KkPW`d!G239fq@%+uwgeQ5zZTTA zbBn>AbZXc}u`SB{9f+^vsKbFdy?)=j5+j1L&6&6{zoz|E;(<(%305lWTtM14YXl+W z`4NoWOcm2=de90Ny*1@pymU}$r=KKw!t?n`a|CR;I)7s{tXXX6bkSFEkSagWLNAKi zf(+b^+|nd&a_i|V%J`U0O1}umh-3Gj?fFYRgU2a=rdlkT!dOiZ_md47i`l`(&)OI5 zR-NOu>3MCWsk*i_p5QxlF0bh259D2`ckGI>YGK<`3O{l9_$lqIgFPQufK#Cc`1 z^gR&UyvNTt;{w}7ZZC;!<_C>+A*Q-+(!b{}><2{&uoh#00%`4=w02`jnnY=v`te)) ziyj!m)Ta9Uiap*Dbmz2rM&eFkn=RXX9bLmACEIhYd3Hfq=ys4>YMNcjAYF)M<~mFFlD>K9ol!mycBs1YbT`s8ab06FeQ4P$PPUX6hV3QoxSgfT#~7hb~qUy}IxA4@Az;o1nT7#L4?$_IOxL*m)FyWN7L7);!e}dkmD})&YGo+S(CP zK8{;Zu4qIw)GsKLhTPs69N6&xE?_7oV{Wmb!md{n7A}umm;W)t#t)jhn>bKo=K<{b zgwL)1i)=d3c^#z6{DkD?%lH+Wcb&hQSc}}(OOC3pnGDw}kQC0gb_i!)rFtyu`fbg& z$e&(-mF30+Tw8(LWucjv4lA7IX}C@2I0Vr1+LQO1!c!V&S*`M1xnkA^+uB^Wyfuc& zJ2fIQaj_?Tc*Z#dz~>=v0)f)b2HlIOmpCqXBu?#!ZkzFlZkF|g6cjr-`*4-|@l}#E zSkNT|X6#BY@_t&q#Er}vmk6mPX%P2uBBDnB11d;F}X{EDOMh7HGEn6+6d z?2Z9?f>0%U$>7`TIlc@hj#=9h)5e;v`vd*r{uO1P^=N80t9s>j-b_?S;6Bg?!(dhD zh31cu$gLy6S0^o6#Eo2#1|u~z&a(H>qDdzc;yGY3YGaA?l(CF$((1++L#`HkyM2s% z+v%;m^_C@nvkHI3n+Wm$>d3&Q$PMO9bv0)YC`--YNS-y?(=fcBUTKU%ApbeyRFo8g z0W1Oc0G@zH07n28AOg@n+k60i05^ck**Kr2et>%jIfN*J0YVFBp#kyJ0>GTTOE6x( d3+mH*Q#H#3Kkw8C*z{{K{nSjRVjzKP{4bBADd_+J literal 0 HcmV?d00001 diff --git a/extend/Wechat/certs/1659662936/apiclient_cert.pem b/extend/Wechat/certs/1659662936/apiclient_cert.pem new file mode 100644 index 0000000..514b2af --- /dev/null +++ b/extend/Wechat/certs/1659662936/apiclient_cert.pem @@ -0,0 +1,25 @@ +-----BEGIN CERTIFICATE----- +MIIENzCCAx+gAwIBAgIUEvql9hcIt5W7UzeukVSU4twsqHswDQYJKoZIhvcNAQEL +BQAwXjELMAkGA1UEBhMCQ04xEzARBgNVBAoTClRlbnBheS5jb20xHTAbBgNVBAsT +FFRlbnBheS5jb20gQ0EgQ2VudGVyMRswGQYDVQQDExJUZW5wYXkuY29tIFJvb3Qg +Q0EwHhcNMjMxMjE5MDUxNTA4WhcNMjgxMjE3MDUxNTA4WjCBkDETMBEGA1UEAwwK +MTY1OTY2MjkzNjEbMBkGA1UECgwS5b6u5L+h5ZWG5oi357O757ufMTwwOgYDVQQL +DDPmiJDpg73ph5HniZvmrKPmrKPnm7jnhafkupLogZTnvZHljLvpmaLmnInpmZDl +hazlj7gxCzAJBgNVBAYTAkNOMREwDwYDVQQHDAhTaGVuWmhlbjCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBAPCINl3HwUEM2CzerR5u4GbUnvRJDjVmaEbm +qHlaYRUrrGDIF/Q63QEbcUh+PP+zZ0Grln7hGT5dwPj6e8jwmVvtEqO8mhBQzynH +6MZUONVfxj7L5Pf/+vZtB/PPGKdupZ9tUuodqOrbLycE8xWmSUDPrKEZ9iOEYamz +p0s9fPWwcZM8Vf4Gqx8d9ItnFJjVmF8aIJfsvcGNvKWD44JUzZItcsWz/srzxRAH +2moGIM8eNf1UNm3k6q43dfoRbZryWmVIyw49xybAKzm5e4Q4z8jCwGoQWgs2tSF4 +uM0/SxK2j1XRGnVmwRzcdDq/rCPlbqynHXZyUh8Te1540HJKZK8CAwEAAaOBuTCB +tjAJBgNVHRMEAjAAMAsGA1UdDwQEAwID+DCBmwYDVR0fBIGTMIGQMIGNoIGKoIGH +hoGEaHR0cDovL2V2Y2EuaXRydXMuY29tLmNuL3B1YmxpYy9pdHJ1c2NybD9DQT0x +QkQ0MjIwRTUwREJDMDRCMDZBRDM5NzU0OTg0NkMwMUMzRThFQkQyJnNnPUhBQ0M0 +NzFCNjU0MjJFMTJCMjdBOUQzM0E4N0FEMUNERjU5MjZFMTQwMzcxMA0GCSqGSIb3 +DQEBCwUAA4IBAQAe4CfX/m0Xz6aI/Studd5pbdb/M7cyTjTwYSoBUNKtEmBwQFCu +CsFOEGuqmhq4ciMkooDWY/6mccgluZtdiYB8PQAIk1+IKBgpmhSuJP6yONecoit0 +JBWzFeSLkBxKkq6CfHhb9wW4EK0oPtgE6LjqLMj13fLy+Mxf4Eu4fgSlsdgGLpBt +bXIPbL12bCcP5hJLGRoLbECyx9LaOe1D9RAxwcTx/i+8C1s3IajkkyZnoPasLMs6 +cdSIp20QSct0klMgpEobmV+Z59NMKAQC/pbaSRrT/PDHUTDAuwA7W+COALg6H26c +MAGyeSTnwhc9WccmohKPgi3UcXh/Sn84QqSs +-----END CERTIFICATE----- diff --git a/extend/Wechat/certs/1659662936/apiclient_key.pem b/extend/Wechat/certs/1659662936/apiclient_key.pem new file mode 100644 index 0000000..0a65bca --- /dev/null +++ b/extend/Wechat/certs/1659662936/apiclient_key.pem @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDwiDZdx8FBDNgs +3q0ebuBm1J70SQ41ZmhG5qh5WmEVK6xgyBf0Ot0BG3FIfjz/s2dBq5Z+4Rk+XcD4 ++nvI8Jlb7RKjvJoQUM8px+jGVDjVX8Y+y+T3//r2bQfzzxinbqWfbVLqHajq2y8n +BPMVpklAz6yhGfYjhGGps6dLPXz1sHGTPFX+BqsfHfSLZxSY1ZhfGiCX7L3Bjbyl +g+OCVM2SLXLFs/7K88UQB9pqBiDPHjX9VDZt5OquN3X6EW2a8lplSMsOPccmwCs5 +uXuEOM/IwsBqEFoLNrUheLjNP0sSto9V0Rp1ZsEc3HQ6v6wj5W6spx12clIfE3te +eNBySmSvAgMBAAECggEBAOVndDqjLozFHFRHGGOjKgDJHsUr/BIwFpowmVQMP/V6 +DtDLZhU4ItpQew3B4JmbWIrIhSODupjBwC92bqLp3cpP5Gwnj+SpvbtCf57QatgO +nTv9KObizE9FE8WTqhbeL7ZLBT5mhVlhLKqRTOpECy92IlYQNbIQKzk4MAFRpqGH +CqSMtD0ng6DiMDxdQYLgIDCZIKamv0lF3rQymINQ6VZHpdlB0f3Gp/T/yWzn0nmJ +5eOrBhzFKGpevsp00FmvFE7HSqnogC7a3ieLluhfRPyB4QZQjfMorEGKwS8i7I8U +ZLA9FhtsaZpvOeNSZoVh3z0sblKUOvhXvL+jgRQK4PkCgYEA+M0QxM3VXst+deDr +ZkpmhWdPUQykVdSbfOdR8thYDu30QdjKe/T0X75wcqKh+s2GPK2GZsgeU02+EWqv +gVZMgFwGKFCBzDiCs9QwOTO+32OWP62yapFWNba1g4K7Un7MJRsJIj0u0nwjik68 +hec5KFYTOYttzk9oOLgXLFM6zm0CgYEA933lgvPITFykd2kGKg1v4oA52PPmq9LT +2dvVkDpIxioaUUHPALwFLhHLT+w/RPwCfP9gqZAQQFAfpMiTezm+ULA54rLHF2Tj +Lm0q3ko98sFW3Ltk1ehw8CdU0p5bii7a7AbuS6V36iTIrC53rhl7N+WL82uMw2w/ +a8Gz3fIl3gsCgYA+XsHeZC8iBWddS5YXXX1X4e8bRU0JCzQzWpXLh/qDO5mozBzu +eBiuy8HKqwRqKA2HtoRjzbT0cx+7o//9L1IcN3V/s7bmKCBzzjSMknE99OwcaIG6 +f1aaPoRARIyLAKhSgPWINMhBEcejC1vtQWqttu441cAgIP3ighulC/RI/QKBgQDE +lxKqdK8USTqzR4+H8+h+CNDqjsMalXuGwGLiEAoirur8xMODl9adg7D2KXkQeQYY ++Fp2FmNyUrLwGAtehL2yJmm0s8IFyTPUew7kSCDxJbaz2377k4mymet86iFYoGNx +vQeouyWHrfRhIQAcIU2JVyNWFoZX7TJrjBAuKtz9hQKBgGUFIyhQiPYRWDocvuSi +McyzYov2AnNehn24vsXC3SCXT804KPOX8RY4he63zWMGaLfCmSq1fhsJnf2pvffK +W+9ZXlIH6dwgQ9QyDNjKRVCGwTASsWOyqgn1Be0VDuuoXlREyGNQSn2RpvL1SMFH +PW/ePgdfoFkzU5WFJFPnvlU2 +-----END PRIVATE KEY----- diff --git a/extend/Wechat/certs/1659662936/wechatpay_5B5C8A69CC86D1127F6B6AA06AAAF10531EEFE90.pem b/extend/Wechat/certs/1659662936/wechatpay_5B5C8A69CC86D1127F6B6AA06AAAF10531EEFE90.pem new file mode 100644 index 0000000..290c3c2 --- /dev/null +++ b/extend/Wechat/certs/1659662936/wechatpay_5B5C8A69CC86D1127F6B6AA06AAAF10531EEFE90.pem @@ -0,0 +1,24 @@ +-----BEGIN CERTIFICATE----- +MIIEFDCCAvygAwIBAgIUW1yKacyG0RJ/a2qgaqrxBTHu/pAwDQYJKoZIhvcNAQEL +BQAwXjELMAkGA1UEBhMCQ04xEzARBgNVBAoTClRlbnBheS5jb20xHTAbBgNVBAsT +FFRlbnBheS5jb20gQ0EgQ2VudGVyMRswGQYDVQQDExJUZW5wYXkuY29tIFJvb3Qg +Q0EwHhcNMjMxMjE5MDUxNTA3WhcNMjgxMjE3MDUxNTA3WjBuMRgwFgYDVQQDDA9U +ZW5wYXkuY29tIHNpZ24xEzARBgNVBAoMClRlbnBheS5jb20xHTAbBgNVBAsMFFRl +bnBheS5jb20gQ0EgQ2VudGVyMQswCQYDVQQGEwJDTjERMA8GA1UEBwwIU2hlblpo +ZW4wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQClp0R6MR6NwEkqRJNF +aD1INE0uHoRg1of0D8mTVwoWvADgt9gutpeJ1uTweAtrXkvu9NALxTNaG51tsZa8 +2fsJ00/Ry1IYUb6xG7kAuh0h4KLgWUUhoXDOKW0B1K/7g3AhCAylUzhD/ghD1Y8F +hlMtw87oNzfTE51I/2sGZgnPX2IqIEOjxx1F8Ebzfh5shJGN40guMpBItsCWYe7s +zj1zdyERL6zxQN2A7o2QvDeX1EsNIdwoEECv06tWjUEGJioFwb3OKBu5n9jJT+Og +EcJFmRasLRQWsooutsDCO7y5wIKrCY9n52eZgk9QlHkYWyiwUqpnrrJ1DC+ueJei +QptFAgMBAAGjgbkwgbYwCQYDVR0TBAIwADALBgNVHQ8EBAMCA/gwgZsGA1UdHwSB +kzCBkDCBjaCBiqCBh4aBhGh0dHA6Ly9ldmNhLml0cnVzLmNvbS5jbi9wdWJsaWMv +aXRydXNjcmw/Q0E9MUJENDIyMEU1MERCQzA0QjA2QUQzOTc1NDk4NDZDMDFDM0U4 +RUJEMiZzZz1IQUNDNDcxQjY1NDIyRTEyQjI3QTlEMzNBODdBRDFDREY1OTI2RTE0 +MDM3MTANBgkqhkiG9w0BAQsFAAOCAQEAhWwscSAE1OBR3AGBOuFHs3vFJ+y37z5/ +EoB9FwVu4zXP1dih101zl83iwIdPEHIR2skXcTjHRI2qdOvu7X5JmWOJP+51RGtX +Y+aWXKfhRzRQOUlpNyltlgsGKzbIXLLBzQjMzBNv+n/HX4q9F0TV3SW4zTiMlhD8 ++bGGGwuIhziWpK9qvr3RPU1j+0bggHhIre+cNolnh1FepS4Gt964zhx6THtrS/jI +I64UBBh6moBq7zB5QYloBhW464c7GCEEv5/AdcxGhAe+vuL/mkVRNsSRxVPIxPE6 ++qoIiNBmQvL/mL+4UKfX6b9h4wrUQUdQP3ljRdpL3a5YTMTUJuoJSQ== +-----END CERTIFICATE----- \ No newline at end of file