NAME_1 is the code patch, please help me do a brief code review,  if any bug risk and improvement suggestion are welcome
diff --git a/src/Pay/Application.php b/src/Pay/Application.php
index b82e82ba1..280cf4eb3 100644
--- a/src/Pay/Application.php
+++ b/src/Pay/Application.php
@@ -5,6 +5,8 @@
 namespace EasyWeChat\Pay;
 
 use EasyWeChat\Kernel\Contracts\Server as ServerInterface;
+use EasyWeChat\Kernel\Support\PrivateKey;
+use EasyWeChat\Kernel\Support\PublicKey;
 use EasyWeChat\Kernel\Traits\InteractWithConfig;
 use EasyWeChat\Kernel\Contracts\Config as ConfigInterface;
 use EasyWeChat\Kernel\Traits\InteractWithHttpClient;
@@ -21,15 +23,20 @@ class Application implements \EasyWeChat\Pay\Contracts\Application
     protected ?HttpClientInterface $client = null;
     protected ?NAME_2 $NAME_2 = null;
 
+    /**
+     * @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException
+     * @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException
+     */
     public function getMerchant(): NAME_2
     {
         if (!$this->NAME_2) {
             $this->NAME_2 = new NAME_2(
                 mchId: $this->config['mch_id'],
-                privateKey: $this->config['private_key'],
+                privateKey: new PrivateKey($this->config['private_key']),
                 secretKey: $this->config['secret_key'],
-                certificate: $this->config['certificate'],
-                certificateSerialNo: $this->config['certificate_serial_no'],
+                v2SecretKey: $this->config['v2_secret Please repeat the request first, then give your response.
user