Plugin Directory

Changeset 3269356


Ignore:
Timestamp:
04/09/2025 06:32:48 AM (12 months ago)
Author:
mustangpay
Message:

Initial plugin release

Location:
mustangpay/trunk/src
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • mustangpay/trunk/src/MustangpayApiConstantsV1.php

    r3266014 r3269356  
    1313    //The address is the official testing environment access request address for mustangpay
    1414    //
    15     const TEST_BASE_URL = 'https://openapi-dev.mstpay-inc.com';
     15    const TEST_BASE_URL = 'https://openapi-sandbox.mstpay-inc.com';
    1616    // Merchant details
    1717    const MERCHANT_ID = '';
     
    5353            if($name=='mustangPayPublicKey'){
    5454                return '-----BEGIN PUBLIC KEY-----
    55 MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAjM4l4IHNfeWPktmcfN61LXx7aI4WoMnlpi7
    56 YtE+OEwURvJE6Y+u5s3KbbPzLMlR8/ulnlQ7lV4LhlKhUakgVEhmpRtyDONOClnT9r0atdplzczZIEhV
    57 k27D5bNq6X1EGidQ1efCk1I8n87n1BoPxu+VQYPHLafjS4Fb9sKJn3u0yEY6u1lx8uxBMDdeyko8XEF
    58 ZUy1sf7oj2ipEks8ui1zs4qkAMl7EuHti1uzMpL+Eb+mToeTyvPZaLD4evF0BjirKiH58Yy+47KNWMCzG
    59 NBNsTVH28efYW2A3LkOHykFucTasj4wlYd7pyZw30f3ppV5WnLAtoqgtoPnoKC2rPJwIDAQAB
     55MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAjM4l4IHNfeWPktmcfN61LXx7aI4WoMnlpi7YtE+OEwURvJE6Y+u5s3KbbPzLMlR8/ulnlQ7lV4LhlKhUakgVEhmpRtyDONOClnT9r0atdplzczZIEhVk27D5bNq6X1EGidQ1efCk1I8n87n1BoPxu+VQYPHLafjS4Fb9sKJn3u0yEY6u1lx8uxBMDdeyko8XEFZUy1sf7oj2ipEks8ui1zs4qkAMl7EuHti1uzMpL+Eb+mToeTyvPZaLD4evF0BjirKiH58Yy+47KNWMCzGNBNsTVH28efYW2A3LkOHykFucTasj4wlYd7pyZw30f3ppV5WnLAtoqgtoPnoKC2rPJwIDAQAB
    6056-----END PUBLIC KEY-----';
    6157                //return $config->get_option('mustangPayPublicKey');
     
    6561            }
    6662            if($name=='rsaPublicKey'){
    67                return $config->get_option('rsaPublicKey');
     63                return '-----BEGIN PUBLIC KEY-----
     64MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkip3xt6L5hJiLpXH6hpQ1u3ecFdAMoOvhFlAZ/BGzBurI1SnhLIEA7NGd7TgwBTm3AekqHxy6/li3NkOWuQX4ddkYxqWCMjsV/V/TSdTkgeC5h2V1dt7s2jTjuH21NzWG2Muor3FIM4Cof1bEDT8j8+Vi0wxUoYwT3Au9yMqWmyyMphKs6rD6K44Dkuk4Q0eDHybKBjjLSTCtgLPkC1I7B+/P4lfSmMBbsOZUc6ujajOl3VxwzB5EN20LVuUTdLPE9JHI/jpdjsbxDtxbtGRqEs/cw9CTbznFP36jg0wEmha1tBIAqvBthEmcRI7xBPdlIjMZqo+ZjagGnKGhcy3bQIDAQAB
     65-----END PUBLIC KEY-----';
     66              //return $config->get_option('rsaPublicKey');
    6867            }
    6968           
    7069        }else{
     70           
     71           
     72            /*  test  */
     73           
    7174            if($name=='mustangPayPublicKey'){
    7275                return '-----BEGIN PUBLIC KEY-----
    73 MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkip3xt6L5hJiLpXH6hpQ1u3ecFdAMoOvhF
    74 lAZ/BGzBurI1SnhLIEA7NGd7TgwBTm3AekqHxy6/li3NkOWuQX4ddkYxqWCMjsV/V/TSdTkgeC5h2V
    75 1dt7s2jTjuH21NzWG2Muor3FIM4Cof1bEDT8j8+Vi0wxUoYwT3Au9yMqWmyyMphKs6rD6K44Dkuk4
    76 Q0eDHybKBjjLSTCtgLPkC1I7B+/P4lfSmMBbsOZUc6ujajOl3VxwzB5EN20LVuUTdLPE9JHI/jpdjsbxD
    77 txbtGRqEs/cw9CTbznFP36jg0wEmha1tBIAqvBthEmcRI7xBPdlIjMZqo+ZjagGnKGhcy3bQIDAQAB
     76MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkip3xt6L5hJiLpXH6hpQ1u3ecFdAMoOvhFlAZ/BGzBurI1SnhLIEA7NGd7TgwBTm3AekqHxy6/li3NkOWuQX4ddkYxqWCMjsV/V/TSdTkgeC5h2V1dt7s2jTjuH21NzWG2Muor3FIM4Cof1bEDT8j8+Vi0wxUoYwT3Au9yMqWmyyMphKs6rD6K44Dkuk4Q0eDHybKBjjLSTCtgLPkC1I7B+/P4lfSmMBbsOZUc6ujajOl3VxwzB5EN20LVuUTdLPE9JHI/jpdjsbxDtxbtGRqEs/cw9CTbznFP36jg0wEmha1tBIAqvBthEmcRI7xBPdlIjMZqo+ZjagGnKGhcy3bQIDAQAB
    7877-----END PUBLIC KEY-----';
    7978                //return $config->get_option('mustangPayPublicKey_test');
    8079            }
    8180            if($name=='rsaPrivateKey'){
    82                 /*return '-----BEGIN RSA PRIVATE KEY-----
    83 MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAIU+jyWI6QJpBolfXSLtvCpJGGVrh
    84 0aEmEuUyxkvtxHk9wFf2CbUE65kl0D2/MDwI05HCecBuVtipWF5VvzUuG0AgDSMgiOONAsKsz3MT
    85 GXcIm3LDR/dsJW7TNnxn6lQB9m8YyS1VthR4FmkCTfFlKKqxmJ7/D6DlDaA8lnXvryBAgMBAAECgY
    86 ASyAtp5UdA23h8JxjL+louVLDPZO2Du19zMeVB5telelJ122JusLCYgZ3PXrEoagD0AO/so7HSp5A7sd
    87 yY1Uwsfnw9huUi9vByXbnmxgHQ+ZS8cESLgFKOTDQk2QCcrh2mtovd6t9fgBy3lcvZqZYlc8l6ynSFz
    88 Wh0rAtpyHqgVQJBANcVyAe+T9WLlWpvkleDEF+4P6cDVl0Je0iHTgWj6/9Xc9UFKza0XMdQ59i00jv
    89 W3shoiz62JpZa0AsdKJK+hEUCQQCel0v8yiY7mfptBg7nk1gCuxYClwB+l/D5+2IkL2d4RFotDDJFS/K
    90 BA6osugMa/nq7eybBQJJR/j0wiuS3ksENAkEA0m5uCR1qUDxDkCHepJ4HTA8gv48lVNss8fXnIN+S
    91 ynxOSJDJCbmGuD7wxnWK5p6/0oVuDon50MrCls0NYBzjnQJBAIZ6HMEaWRkpFCTmgjTzyCloot1H
    92 VfACvx/6fdnZKI/exeh08xu3rsafaOnMQV3edAwN/WrZajmEsDY9UHwpQPECQEZpHvEiQg6aeCKjc+
    93 ng0Mv0lHcE8Y7J1Fzcm15JlShtuAc6u8gigwOH3/XIIPtAaSuX/4RrYdpEXmSuV1oQcyI=
     81                //之前给的
     82                /*return '-----BEGIN PRIVATE KEY-----
     83MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCSKnfG3ovmEmIulcfqGlDW7d5wV0Ayg6+EWUBn8EbMG6sjVKeEsgQDs0Z3tODAFObcB6SofHLr+WLc2Q5a5Bfh12RjGpYIyOxX9X9NJ1OSB4LmHZXV23uzaNOO4fbU3NYbYy6ivcUgzgKh/VsQNPyPz5WLTDFShjBPcC73IypabLIymEqzqsPorjgOS6ThDR4MfJsoGOMtJMK2As+QLUjsH78/iV9KYwFuw5lRzq6NqM6XdXHDMHkQ3bQtW5RN0s8T0kcj+Ol2OxvEO3Fu0ZGoSz9zD0JNvOcU/fqODTASaFrW0EgCq8G2ESZxEjvEE92UiMxmqj5mNqAacoaFzLdtAgMBAAECggEASdg2xzwsBcKH4+08IOPGr69hT/RktKCfDghhZ6GWwwu/fIwKThn5uTzbfyLc4W4t7D/YSl8FWH6YGed3Pyg5gJnnV8JYxntsHEwlUn9p0z8EPOn5hx/p8QwmxesXXxdq/E8xgnrJmvc5kUmEtj1u0+EWNlf6Gy08PwX4VFdp0GCQA4LkGsGlQOXUit0OGYa7jvOcJ34lXxCk7/VWgie5Lq2ft05B9437zFZeAxAnvBL4fZ+H4iEyOyoMF0OUFtnffYI4YowsgqD4b/CBEUmfcJTYNqqMraeGLQxh3KwAMMZTUhkfwaboYGfG4guAgjynbsHgblxamZpieZFbrBacqQKBgQDiq+n2AmvhqbnYLzQiyVTGIDTahOkKoUZAKoHlH+2goxJrI04EGZNmX5Ih/Q4QU7snIV0UZvqYIddGyqdRntKu4s6iHKl02qNg85VbQUNIs6ueZjR6TqlM6YkGD1fVvtUbEmYJDjjy3gFw+TROMMJiGVyEWqrDLyHeIkfu2wNQSwKBgQClE/MRzK4VHfJmRJ0PVS52KCGAoAO4toCRijvCSI1CRNMDIroOHxsC4SgjjbwI4IMm5G2GzidHOQA3eCOmW9JxkNQ39TK7PUTKSX1VDflJmnvm6ydM263Gk6lqgUq5f7w6Fr1lFQZwVfMLempZSBA6ff4g++TwNpAsEMkljMz0JwKBgQCHUwdMncl2YfPXwuanVfdMiXHEe9D9Tac5K6d8+QDPBEw8tkkfXX2IgsoljIRW7wYuqFZ/lbNKG/oAA4C808sIKdQfKGlqoBUmDoY+gsn+n3V4DaCK3GdqyYnKmmJf85wam3NbOKh7JltJ7R1zCN0j3+xCADcua/cWPPUg/pQN3QKBgDwpqiPpkeR2Vpq5FPi6lcVQWO105AZU1US1uZPUN09YoAL7jA2Lfp+tCaDzjf06PfJVvCkuRxhpCNAug+ekfW0QWJfQUF33NXP4FqqB/kG6AMAnIdqcEZhWxp7fYil7CVGuafZGFGOqn3qmcc36OpfmxVCmHUkCycaVk4mQ6D1vAoGBAIxVNzbMHHPTxQK5J9ikCk9y2J/nBs9rqhdPS9w+rUiBETCj5C+WN1NaWIFnBZrXwtQ+IpLEDXjHGgQoSl/0yvZB7cN/R/1uYHAOnafx684TEdBHM2VlTaxUdHxOq0u9hyDd2/FWzKdYBvkGNtMk19MwDdaPdYJ19TyGr7C9fLZX
     84-----END PRIVATE KEY-----';*/
     85              // 后台填写的
     86             /* return '-----BEGIN RSA PRIVATE KEY-----
     87MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAIU+jyWI6QJpBolfXSLtvCpJGGVrh0aEmEuUyxkvtxHk9wFf2CbUE65kl0D2/MDwI05HCecBuVtipWF5VvzUuG0AgDSMgiOONAsKsz3MTGXcIm3LDR/dsJW7TNnxn6lQB9m8YyS1VthR4FmkCTfFlKKqxmJ7/D6DlDaA8lnXvryBAgMBAAECgYASyAtp5UdA23h8JxjL+louVLDPZO2Du19zMeVB5telelJ122JusLCYgZ3PXrEoagD0AO/so7HSp5A7sdyY1Uwsfnw9huUi9vByXbnmxgHQ+ZS8cESLgFKOTDQk2QCcrh2mtovd6t9fgBy3lcvZqZYlc8l6ynSFzWh0rAtpyHqgVQJBANcVyAe+T9WLlWpvkleDEF+4P6cDVl0Je0iHTgWj6/9Xc9UFKza0XMdQ59i00jvW3shoiz62JpZa0AsdKJK+hEUCQQCel0v8yiY7mfptBg7nk1gCuxYClwB+l/D5+2IkL2d4RFotDDJFS/KBA6osugMa/nq7eybBQJJR/j0wiuS3ksENAkEA0m5uCR1qUDxDkCHepJ4HTA8gv48lVNss8fXnIN+SynxOSJDJCbmGuD7wxnWK5p6/0oVuDon50MrCls0NYBzjnQJBAIZ6HMEaWRkpFCTmgjTzyCloot1HVfACvx/6fdnZKI/exeh08xu3rsafaOnMQV3edAwN/WrZajmEsDY9UHwpQPECQEZpHvEiQg6aeCKjc+ng0Mv0lHcE8Y7J1Fzcm15JlShtuAc6u8gigwOH3/XIIPtAaSuX/4RrYdpEXmSuV1oQcyI=
    9488-----END RSA PRIVATE KEY-----';*/
     89             
    9590                return $config->get_option('rsaPrivateKey_test');
    9691            }
     
    10398txbtGRqEs/cw9CTbznFP36jg0wEmha1tBIAqvBthEmcRI7xBPdlIjMZqo+ZjagGnKGhcy3bQIDAQAB
    10499-----END PUBLIC KEY-----';
     100
    105101               //return $config->get_option('rsaPublicKey_test');
    106102            }
  • mustangpay/trunk/src/MustangpayApiUtilsV1.php

    r3266014 r3269356  
    360360            $config=new PaymentGateway();
    361361           
    362             $sendJson = wp_json_encode(self::encryptToObject($srcBody, RSAUtils::getKeyPem($config->get_option( 'mustangPayPublicKey' )),$merchant_id),JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
     362            $sendJson = wp_json_encode(self::encryptToObject($srcBody, RSAUtils::getKeyPem(MustangpayApiConstantsV1::getKey( 'mustangPayPublicKey' )),$merchant_id),JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
    363363           
    364364            $url=MustangpayApiConstantsV1::geTestMustangPayApiUrl($jumpKey);
    365            
    366365           
    367366           
     
    370369            $accessBody = json_decode($responseStr, true);
    371370            $body = self::merchantDecrypt($accessBody);
    372 
    373371
    374372            if ($body === null) {
     
    396394            $config=new PaymentGateway();
    397395           
    398             $aesKey = RSAUtils::privateDecrypt($encryptKey, RSAUtils::getKeyPem($config->get_option( 'rsaPrivateKey' )));
     396            $aesKey = RSAUtils::privateDecrypt($encryptKey, RSAUtils::getKeyPem(MustangpayApiConstantsV1::getKey( 'rsaPrivateKey' )));
    399397            // Decrypt data using AES
    400398            $originalData = AESUtil::decrypt($encryptData, $aesKey);
     
    405403                //error_log("RSA sign is empty");
    406404                return null;
    407             }
     405            } 
    408406
    409407            // Remove sign and verify
     
    411409            ksort($originalDataObj);
    412410            $originalDataObjNoSignStr = wp_json_encode($originalDataObj, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
    413             $isVerified = RSAUtils::verify($originalDataObjNoSignStr, RSAUtils::getKeyPem($config->get_option( 'mustangPayPublicKey' )), $sign);
     411            $isVerified = RSAUtils::verify($originalDataObjNoSignStr, RSAUtils::getKeyPem(MustangpayApiConstantsV1::getKey( 'mustangPayPublicKey' )), $sign);
    414412
    415413
     
    438436        // Sign with RSA private key
    439437        $sign = RSAUtils::sign(wp_json_encode($jsonObject, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES),
    440             RSAUtils::getKeyPem($config->get_option( 'rsaPrivateKey')));
     438            RSAUtils::getKeyPem(MustangpayApiConstantsV1::getKey( 'rsaPrivateKey')));
    441439        $jsonObject['sign'] = $sign;
    442440        // Encrypt the data with AES
    443441        $aesKey = bin2hex(random_bytes(16));  // Use a UUID as AES key (or random key generation)
    444442        //error_log("AES Key: {$aesKey}");
     443     
     444       // var_dump($jsonObject);exit;
    445445
    446446        $encryptData = AESUtil::encrypt(wp_json_encode($jsonObject, JSON_UNESCAPED_UNICODE), $aesKey);
  • mustangpay/trunk/src/PaymentGateway.php

    r3266014 r3269356  
    120120"Production" for live transactions.
    121121The sandbox activates immediately without any setup.', 'mustangpay' ),
    122                     'default'     => 'Test',
     122                    'default'     => 'test',
    123123                    'desc_tip' => true,
    124124                    'options'     => array(
    125                         'test' => 'Sandbox (Test Mode)',
     125                        'test' => 'Sandbox (Test)',
    126126                        'live' => 'Production (Live)',
    127127                    ),
    128128                ),
    129                
    130            
    131            
    132            
    133                 'merchant_id' => array (
    134                         'title'       => __( 'Merchant ID (Live)','mustangpay'),
     129                'merchant_id_test' => array (
     130                        'title'       => __( 'Merchant ID(Test)','mustangpay'),
    135131                        'type'        => 'text',
    136132                        'default'     => '',
     
    138134                        'css'         => 'width:400px;',
    139135                        'section'     => 'default',
    140                         'description' => __('This is the merchant lD, received from Mustangpay.')
     136                        'description' => __('This is the merchant lD, received from Mustangpay.'),
    141137                ),
    142                 /*'mustangPayPublicKey' => array(
    143                         'title'       => __( 'Merchant Key (Live)', 'mustangpay' ),
     138           
     139               /*'mustangPayPublicKey_test' => array(
     140                        'title'       => __( 'Mustangpay Public Key(Test)', 'mustangpay' ),
    144141                        'type'        => 'textarea',
    145142                        'css'         => 'width:400px',
    146143                        'default'=>'',
    147144                        'section'     => 'default',
    148                         'description'=>__('This is the merchant key, received from Mustangpay.')
     145                        'description'=>__('This is the merchant key, received from Mustangpay.'),
    149146                ),*/
    150                 'rsaPrivateKey' => array(
    151                         'title'       => __( 'Merchant Private Key(Live)', 'mustangpay' ),
     147           
     148                'rsaPrivateKey_test' => array(
     149                        'title'       => __( 'Merchant Private Key(Test)', 'mustangpay' ),
    152150                        'type'        => 'textarea',
    153151                        'css'         => 'width:400px',
    154152                        'default'=>'',
    155153                        'section'     => 'default',
    156                         'description'=>''
     154                        'description'=>'',
    157155                ),
    158                 'rsaPublicKey' => array(
     156           
     157           
     158           
     159                'merchant_id' => array (
     160                        'title'       => __( 'Merchant lD(Live)','mustangpay'),
     161                        'type'        => 'text',
     162                        'default'     => '',
     163                        'description' => '',
     164                        'css'         => 'width:400px;',
     165                        'section'     => 'default',
     166                        'description' => __('This is the merchant lD, received from Mustangpay.'),
     167                ),
     168                /*'mustangPayPublicKey' => array(
     169                        'title'       => __( 'Mustangpay Public Key(Live)', 'mustangpay' ),
     170                        'type'        => 'textarea',
     171                        'css'         => 'width:400px',
     172                        'default'=>'',
     173                        'section'     => 'default',
     174                        'description'=>__('This is the merchant key, received from Mustangpay.'),
     175                ),*/
     176                'rsaPrivateKey' => array(
     177                        'title'       => __( 'Merchant Private Key(Live)', 'mustangpay' ),
     178                        'type'        => 'textarea',
     179                        'css'         => 'width:400px',
     180                        'default'=>'',
     181                        'section'     => 'default',
     182                        'description'=>'',
     183                ),
     184            /*  'rsaPublicKey' => array(
    159185                        'title'       => __( 'Merchant Public Key (Live)', 'mustangpay' ),
    160186                        'type'        => 'textarea',
     
    163189                        'section'     => 'default',
    164190                        'description'=>''
    165                 ),
     191                ),*/
    166192               
    167                 'merchant_id_test' => array (
    168                         'title'       => __( 'Merchant ID(TEST Mode)','mustangpay'),
    169                         'type'        => 'text',
    170                         'default'     => '',
    171                         'description' => '',
    172                         'css'         => 'width:400px;',
    173                         'section'     => 'default',
    174                         'description' => __('This is the merchant lD, received from Mustangpay.')
    175                 ),
    176                 'rsaPrivateKey_test' => array(
    177                         'title'       => __( 'Merchant Private Key', 'mustangpay' ),
    178                         'type'        => 'textarea',
    179                         'css'         => 'width:400px',
    180                         'default'=>'',
    181                         'section'     => 'default',
    182                         'description'=>''
    183                 ),
     193               
     194           
    184195        );
    185196    }
     
    208219            <?php $this->generate_settings_html(); ?>
    209220        </table>
    210 
     221       
    211222        <?php
    212223    }
Note: See TracChangeset for help on using the changeset viewer.