Plugin Directory

Changeset 2961101


Ignore:
Timestamp:
08/31/2023 11:10:54 AM (2 years ago)
Author:
bsecuretech
Message:

1.7.6 Released General Update and Bug Fixes
Confirmed status mapping
Thank you page redirection issue resolved

Location:
bsecure/trunk
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • bsecure/trunk/assets/js/bsecure-front.js

    r2935099 r2961101  
    285285
    286286// Receive message from bsecure server //
    287 window.addEventListener("message", (event)=>{
     287window.addEventListener("message", (event)=>{   
    288288
    289289    if (event.origin == "https://order-dev.bsecure.app" ||
     
    296296        event.origin == "https://order-dev-v2.bsecure.app" ||
    297297        event.origin == "https://fast-dev.bsecure.app" ||
    298         event.origin == "https://fast.bsecure.pk"
     298        event.origin == "https://fast.bsecure.pk" ||
     299        event.origin == "https://card.bsecure.pk" ||
     300        event.origin == "https://card-stage.bsecure.app" ||
     301        event.origin == "https://card-dev.bsecure.app"
    299302        ){
    300303           
  • bsecure/trunk/bsecure.php

    r2935099 r2961101  
    66 * Author: bSecure
    77 * Author URI: https://bsecure.pk/
    8  * Version: 1.7.5
     8 * Version: 1.7.6
    99 *
    1010 */
  • bsecure/trunk/includes/class-bsecure-admin.php

    r2590855 r2961101  
    274274            ];
    275275
    276 
    277         $response = $this->bsecureGetOauthToken(); 
    278            
    279         $validateResponse = $this->validateResponse($response,'token_request');
    280 
    281         if( $validateResponse['error'] ){       
    282            
    283             wp_send_json_error( __('Response Error: ', 'wc-bsecure').$validateResponse['msg']);     
    284 
    285         } else {
    286 
    287             // Get Order //
    288             $access_token =  $response->access_token;
    289 
    290             //$headers =    'Authorization: Bearer '.$access_token;         
    291             $headers =  $this->getApiHeaders($access_token);                           
     276       
     277            $headers =  $this->getApiHeaders();                         
    292278
    293279            $params =   [
     
    297283
    298284                        ]; 
    299 
    300             //$config = $this->getBsecureConfig();             
     285     
    301286            $survey_endpoint = get_option('wc_bsecure_base_url') . '/plugin/status';
    302287
     
    324309               
    325310            }
    326         }
     311       
    327312       
    328313    }
     
    381366            ];
    382367
    383 
    384         $response = $this->bsecureGetOauthToken(); 
     368   
     369        $headers =   $this->getApiHeaders();                                   
     370
     371        $params =   [
     372                        'method' => 'POST',
     373                        'body' => $request_data,
     374                        'headers' => $headers,                 
     375
     376                    ]; 
     377       
     378        $config = $this->getBsecureConfig();
     379        $survey_endpoint = !empty($config->pluginStatus) ? $config->pluginStatus :
     380                          get_option('wc_bsecure_base_url') . '/plugin/status';
     381
     382        $response = $this->bsecureSendCurlRequest( $survey_endpoint, $params);         
     383
     384        $validateResponse = $this->validateResponse($response);
     385
     386        if($validateResponse['error']){
     387                       
     388            return false;       
     389
     390        }else{
     391
     392            update_option('bsecure_activated', $isActivate);               
     393
     394            if (!empty($response->body)) {
     395               
     396                return true;
     397
     398            } else {
     399                           
     400                return false;
     401
     402            }           
    385403           
    386         $validateResponse = $this->validateResponse($response,'token_request');
    387 
    388         if( $validateResponse['error'] ){       
    389            
    390             //error_log(    __('Response Error: ', 'wc-bsecure').$validateResponse['msg']);
    391             return false;       
    392 
    393         } else {
    394 
    395             // Get Order //
    396             $access_token =  $response->access_token;
    397 
    398             //$headers =    'Authorization: Bearer '.$access_token;
    399             $headers =   $this->getApiHeaders($access_token);                                   
    400 
    401             $params =   [
    402                             'method' => 'POST',
    403                             'body' => $request_data,
    404                             'headers' => $headers,                 
    405 
    406                         ]; 
    407            
    408             $config = $this->getBsecureConfig();
    409             $survey_endpoint = !empty($config->pluginStatus) ? $config->pluginStatus :
    410                               get_option('wc_bsecure_base_url') . '/plugin/status';
    411 
    412             $response = $this->bsecureSendCurlRequest( $survey_endpoint, $params);         
    413 
    414             $validateResponse = $this->validateResponse($response);
    415 
    416             if($validateResponse['error']){         
    417                
    418                 //error_log(    __('Response Error: ', 'wc-bsecure').$validateResponse['msg']);
    419                 return false;       
    420 
    421             }else{
    422 
    423                 update_option('bsecure_activated', $isActivate);               
    424 
    425                 if (!empty($response->body)) {
    426 
    427                     //error_log(json_encode([$response->body]));
    428                     return true;
    429 
    430                 } else {
    431 
    432                     //error_log(__("No response from bSecure server",'wc-bsecure') );
    433                     return false;
    434 
    435                 }           
    436                
    437             }
    438         }
     404        }
     405       
    439406    }
    440407
  • bsecure/trunk/includes/class-bsecure-apis.php

    r2935099 r2961101  
    7171        $order_data = [];       
    7272
    73         $response = $this->bsecureGetOauthToken(); 
    74        
    75         $validateResponse = $this->validateResponse($response,'token_request');     
    76 
    77         if( $validateResponse['error'] ){
     73        $headers =   $this->getApiHeaders();
     74
     75        $request_data['order_ref'] = $bsecure_order_ref;                                   
     76
     77        $params =   [
     78                        'method' => 'POST',
     79                        'body' => $request_data,
     80                        'headers' => $headers,                 
     81
     82                    ]; 
     83
     84        $config = $this->getBsecureConfig();           
     85        $order_status_endpoint = !empty($config->orderStatus) ? $config->orderStatus : "";
     86        $response = $this->bsecureSendCurlRequest( $order_status_endpoint, $params, 0, true);       
     87
     88        $validateResponse = $this->validateResponse($response);
     89
     90        if($validateResponse['error']){
    7891           
    7992            status_header( 422 );
    8093            echo json_encode($validateResponse);
    8194            exit;
    82            
    8395
    8496        }else{
    8597
    86             // Get Order //
    87             $this->access_token = $response->access_token;
    88 
    89             //$headers =    'Authorization: Bearer '.$this->access_token;
    90             $headers =   $this->getApiHeaders($this->access_token);
    91 
    92             $request_data['order_ref'] = $bsecure_order_ref;                                   
    93 
    94             $params =   [
    95                             'method' => 'POST',
    96                             'body' => $request_data,
    97                             'headers' => $headers,                 
    98 
    99                         ]; 
    100 
    101             $config = $this->getBsecureConfig();           
    102             $order_status_endpoint = !empty($config->orderStatus) ? $config->orderStatus : "";
    103             $response = $this->bsecureSendCurlRequest( $order_status_endpoint, $params, 0, true);       
    104 
    105             $validateResponse = $this->validateResponse($response);
    106 
    107             if($validateResponse['error']){
    108                
    109                 status_header( 422 );
    110                 echo json_encode($validateResponse);
    111                 exit;
    112 
    113             }else{
    114 
    115                 $order_data = $response->body;
    116             }
    117 
    118 
    119         }
     98            $order_data = $response->body;
     99        }
     100
     101
     102       
    120103
    121104
     
    336319
    337320       
    338         $accessToken = __("No token needed","wc-bsecure");
     321       
    339322       
    340323        $config = $this->getBsecureConfig();           
    341324        $order_url = !empty($config->orderCreate) ? $config->orderCreate : "";
    342         //$headers =    'Authorization: Bearer '.$accessToken;                   
    343         $headers =   $this->getApiHeaders($accessToken,false);         
     325
     326        $headers =   $this->getApiHeaders();           
    344327
    345328        $params =   [
     
    523506        $auth_code = !empty($data->auth_code) ? sanitize_text_field($data->auth_code) : "";
    524507
    525         /*$validate = $this->validateState($state);
    526 
    527         if(!$validate['status']){
    528 
    529             status_header( 422 );
    530             echo json_encode($validate);
    531             exit;
    532         }*/
    533 
    534         $response = $this->bsecureGetOauthToken(); 
    535 
    536         $validateResponse = $this->validateResponse($response,'token_request');     
    537 
    538         if( $validateResponse['error'] ){
    539            
    540             status_header( 422 );
    541             echo json_encode(['status' => false, 'msg'=>'Response Error: '.$validateResponse['msg']]);
    542             exit;
    543 
    544         } 
    545 
    546         $access_token = "";
    547 
    548         if(!empty($response->access_token)){
    549 
    550             $access_token = $response->access_token;
    551         }
     508               
    552509
    553510        // Sanitize auth code.
     
    558515        $url = $base_url.$get_customer_endpoint;
    559516
    560         //$headers =    'Authorization: Bearer '.$access_token;
    561         $headers =   $this->getApiHeaders($access_token);
     517        $headers =   $this->getApiHeaders();
    562518
    563519        $args = [
  • bsecure/trunk/includes/class-bsecure-checkout.php

    r2935099 r2961101  
    3333    const STATUS_ONHOLD = 'on-hold';
    3434    const STATUS_FAILED = 'failed';
     35    const STATUS_CONFIRMED = 'confirmed';
    3536    const STATUS_DRAFT = 'bsecure_draft';
    3637    const ORDER_TYPE_APP = 'app';
     
    7172        add_action( 'clear_auth_cookie', array($this, 'actions_at_logout') );
    7273        add_action( 'wp', array($this, 'handle_checkout_page' ));   
    73         add_action( 'wp_loaded', array($this, 'load_bsecure_gateway_class' ) );     
     74        add_action( 'plugins_loaded', array($this, 'load_bsecure_gateway_class' ),11 );     
    7475
    7576        if ( $wc_bsecure_payment_gateway == 'yes' && $wc_bsecure_is_active == 'yes') {
     
    359360                    }else{
    360361
    361                         $order->update_status($this->woocommerceStatus($placement_status),"",true);
     362                        $order->update_status($this->woocommerceStatus($placement_status,$order_data),"",true);
    362363
    363364                        //Update payment method title
     
    638639            }
    639640
    640         }
    641 
    642         //27ddf3a0-6195-4e2a-ac28-0e2ced458e58
    643 
    644 
    645         // Get Order //
    646         $this->access_token = __('No token needed','wc-bsecure');           
    647 
    648         $headers =   $this->getApiHeaders($this->access_token, false);
     641        }   
     642
     643
     644        // Get Order //     
     645
     646        $headers =   $this->getApiHeaders();
    649647
    650648        $request_data['order_ref'] = $bsecure_order_ref;                                   
     
    762760
    763761            $_order_key = get_post_meta($order_id, '_order_key', true);
    764 
     762           
    765763            wp_redirect(wc_get_checkout_url()."order-received/".$order_id."/?key=".$_order_key);
    766764            $this->updateOrderStatus($order,$order_data);
     
    15131511        $order_url = $this->order_create_endpoint;
    15141512
    1515         $headers =   $this->getApiHeaders($accessToken,false);                 
     1513        $headers =   $this->getApiHeaders();                   
    15161514
    15171515        $params =   [
     
    15841582    * Map bScure statuses with woocommerce default statuses
    15851583    */
    1586     public function woocommerceStatus($placement_status){
     1584    public function woocommerceStatus($placement_status, $order_data = []){
    15871585
    15881586        /*"order_status": {
     
    16201618            case 3:
    16211619
    1622                 $order_status = Bsecure_Checkout::STATUS_PROCESSING;
     1620                                   
     1621                $order_status = $this->getConfimredStatus($order_data);
     1622                           
    16231623
    16241624            break;         
     
    21542154    public function getBsecureOrderByRefId($bsecure_order_ref){
    21552155
    2156         $headers =   $this->getApiHeaders('',false);
     2156        $headers =   $this->getApiHeaders();
    21572157        $request_data['order_ref'] = $bsecure_order_ref;                                   
    21582158
     
    23422342        }
    23432343       
    2344         $order->update_status($this->woocommerceStatus($placement_status),"",true);
     2344        $order->update_status($this->woocommerceStatus($placement_status, $order_data),"",true);
    23452345        $order->save();
    23462346
     
    27522752        }
    27532753
    2754         // Get Order //
    2755         $this->access_token = __('No token needed','wc-bsecure');;             
    2756 
    2757         $headers =   $this->getApiHeaders($this->access_token, false);
     2754        // Get Order //                 
     2755
     2756        $headers =   $this->getApiHeaders();
    27582757
    27592758        $request_data['order_ref'] = $order_ref;                                   
     
    31323131        $webhook_url = $base_url.$webhook_endpoint;
    31333132
    3134         if(get_option('wc_bsecure_is_active', 'no') == 'yes' && get_option('wc_bsecure_is_pim_enabled', 'no') == 'yes'){           
    3135      
    3136             $this->access_token = $this->getAccessTokenSessionOrBsecure();         
    3137 
    3138             if(!empty($this->access_token)){               
    3139 
    3140                 $headers =   $this->getApiHeaders($this->access_token);             
     3133        if(get_option('wc_bsecure_is_active', 'no') == 'yes' && get_option('wc_bsecure_is_pim_enabled', 'no') == 'yes'){       
     3134       
     3135
     3136                $headers =   $this->getApiHeaders();               
    31413137
    31423138                $params =   [
     
    31563152                $this->sendLogsToBsecureServer($sendData);
    31573153            }
    3158             }
     3154           
    31593155        }
    31603156    }
     
    31913187        if(get_option('wc_bsecure_is_active', 'no') == 'yes'){
    31923188
    3193             $this->access_token = $this->getAccessTokenSessionOrBsecure();                             
    3194 
    3195             if(!empty($this->access_token)){
    3196 
    3197                 $headers =   $this->getApiHeaders($this->access_token);
    3198 
    3199                 $params =   [
    3200 
    3201                             'method' => 'POST',
    3202                             'body' => $request_data,
    3203                             'headers' => $headers,                 
    3204 
    3205                         ];
    3206                        
    3207                 $this->bsecureSendCurlRequest($webhook_url,$params);   
    3208 
    3209             }               
     3189           
     3190            $headers =   $this->getApiHeaders();
     3191
     3192            $params =   [
     3193
     3194                        'method' => 'POST',
     3195                        'body' => $request_data,
     3196                        'headers' => $headers,                 
     3197
     3198                    ];
     3199                   
     3200            $this->bsecureSendCurlRequest($webhook_url,$params);                   
    32103201
    32113202        }
     
    33063297
    33073298        $order_placement_status = !empty($order_data->placement_status) ? $order_data->placement_status : '';
    3308         $order_status = $this->woocommerceStatus($order_placement_status);
     3299        $order_status = $this->woocommerceStatus($order_placement_status,$order_data);
    33093300        $order->calculate_totals();
    33103301        $return = $order->update_status($order_status,'',true);     
    33113302        return $return;
    33123303    }
     3304
     3305
     3306    public function getConfimredStatus($order_data){
     3307
     3308        $order_status = Bsecure_Checkout::STATUS_PROCESSING;
     3309
     3310        $wc_order_statuses = wc_get_order_statuses();
     3311
     3312        if(array_key_exists('wc-'. Bsecure_Checkout::STATUS_CONFIRMED, $wc_order_statuses)){
     3313            if(!empty($order_data)){
     3314                if(!empty($order_data->payment_method)){
     3315                    if($order_data->payment_method->id == 1){ // COD = 1
     3316                        $order_status = Bsecure_Checkout::STATUS_CONFIRMED;
     3317                    }
     3318                   
     3319                }
     3320
     3321            }
     3322           
     3323        }
     3324
     3325        return $order_status;
     3326    }
    33133327}
    33143328
  • bsecure/trunk/includes/class-sign-in-with-bsecure.php

    r2935099 r2961101  
    306306        }
    307307
    308         /*$response = $this->bsecureGetOauthToken();   
    309 
    310         $validateResponse = $this->validateResponse($response,'token_request');     
    311 
    312         if( $validateResponse['error'] ){
    313            
    314             $this->redirectToMyAccountPage('Response Error: '.$validateResponse['msg']);
    315 
    316         }else if(!empty($response->access_token)){
    317 
    318             $this->access_token = $response->access_token;
    319         }*/
    320 
     308       
    321309        // Sanitize auth code.
    322310        $code = sanitize_text_field( $code );
     
    324312        $url = $this->base_url.$this->get_customer_endpoint;
    325313
    326         //$headers =    'Authorization: Bearer '.$this->access_token;
    327         //$headers =   $this->getApiHeaders($this->access_token);
    328         $headers =   $this->getApiHeaders('',false);
     314        $headers =   $this->getApiHeaders();
    329315
    330316        $args = [
     
    401387    protected function get_user_by_token($code) {
    402388
    403         //$headers =    'Authorization: Bearer '.$this->access_token;
    404         //$headers =   $this->getApiHeaders($this->access_token);
    405         $headers =   $this->getApiHeaders('',false);
     389        $headers =   $this->getApiHeaders();
    406390
    407391        $args = [
     
    412396
    413397        $response = $this->bsecureSendCurlRequest( $this->base_url.$this->get_customer_endpoint, $args );
    414 
    415        
    416398
    417399        $validateResponse = $this->validateResponse($response);
  • bsecure/trunk/includes/class-wc-bsecure.php

    r2935099 r2961101  
    3030
    3131    const PLUGIN_NAME = 'WooCommerce';
    32     const PLUGIN_VERSION = '1.7.5';
     32    const PLUGIN_VERSION = '1.7.6';
    3333    const QISSTPAY_PER_MONTH = 4;
    3434    const QISSTPAY_AMOUNT_MAX_LIMIT = 50000;
     
    15101510    }
    15111511
    1512     public function getApiHeaders($accessToken, $isToken = true){
     1512    public function getApiHeaders($accessToken = ''){
    15131513
    15141514        $client_id = get_option('wc_bsecure_client_id');
     
    15171517        $client_id = !empty($store_id) ? $client_id.':'.sanitize_text_field($store_id) : $client_id;
    15181518
    1519         $headers =  ['Authorization' => 'Bearer '.$accessToken];
    1520        
    1521 
    1522         if(!$isToken){
    1523 
    1524             $headers =  [
     1519        $headers =  [
    15251520                            'x-client-id' => base64_encode($client_id),
    15261521                            'x-client-token' => base64_encode($client_secret),
    15271522                        ];
    1528         }
     1523
     1524        if(!empty($accessToken)){
     1525            $headers =  ['Authorization' => 'Bearer '.$accessToken];
     1526       
     1527        }
    15291528       
    15301529        return $headers;
  • bsecure/trunk/includes/class-wc-gateway-bsecure.php

    r2935099 r2961101  
    203203        if (class_exists('WC_Bsecure')) {
    204204
    205             $bSecure = new WC_Bsecure;           
    206 
    207             //$headers =  'Authorization: Bearer '.$response->access_token;
    208             //$headers =  ['Authorization' => 'Bearer '.$response->access_token];
    209             $headers =   $bSecure->getApiHeaders('',false);
     205            $bSecure = new WC_Bsecure;
     206
     207            $headers =   $bSecure->getApiHeaders();
    210208
    211209            $params =   [
  • bsecure/trunk/readme.txt

    r2935099 r2961101  
    33Tags: payment, secure, checkout
    44Requires at least: 4.7
    5 Tested up to: 6.2
     5Tested up to: 6.3
    66Requires PHP: 5.6.20 or above
    7 Stable tag: 1.7.5
     7Stable tag: 1.7.6
    88License: GNU General Public License v3.0
    99License URI: http://www.gnu.org/licenses/gpl-3.0.html
     
    115115* 1.7.4 Released General Update, New Fetures and Bug Fixes
    116116
     117= 1.7.6 August 31, 2023 =
     118* 1.7.6 Released General Update & Bug Fixes
    117119
    118120== Upgrade Notice ==
     
    165167* 1.7.3 Released General Update and Bug Fixes
    166168
    167 = 1.7.4 December 12, 2022 =
    168 * 1.7.4 Released General Update, New Fetures and Bug Fixes
     169= 1.7.6 August 31, 2023 =
     170* 1.7.6 Released General Update and Bug Fixes
    169171
    170172== Screenshots ==
Note: See TracChangeset for help on using the changeset viewer.