id = 'nexapay'; $this->icon = apply_filters('woocommerce_nexapay_icon',plugins_url('/assets/icon.png',__FILE__)); $this->method_title = __('nexapay','wc_nexapay_payment'); $this->method_description = __('This plugin allows you to integrate with nexapay payments','wc_nexapay_payment'); $this->title = __( "nexapay", 'wc_nexapay_payment' ); $this->description = "nexapay Payment Setting page."; $this->has_fields = false; $this->init_form_fields(); $this->init_settings(); $this->title = $this->get_option('title'); $this->url = $this->settings['nexapay_url']; $this->key_id = $this->settings['key_id']; $this->secret_key = $this->settings['secret_key']; $this->description = $this->settings['description']; $this->prod_id = $this->settings['prod_id']; $this->request_hashkey = $this->settings['request_hashkey']; $this->response_hashkey = $this->settings['response_hashkey']; $this->request_saltkey = $this->settings['request_saltkey']; $this->response_saltkey = $this->settings['response_saltkey']; $this->request_aeskey = $this->settings['request_aeskey']; $this->response_aeskey = $this->settings['response_aeskey']; add_action('woocommerce_update_options_payment_gateways_'.$this->id, array($this,'process_admin_options')); //$link = function_exists( 'wc_get_cart_url' ) ? wc_get_cart_url() : $woocommerce->cart->get_cart_url(); $this->thank_you_page(); //http://localhost/wordpress/checkout/ // add_action('the_content', array(&$this, 'thank_you_page')); // add_action('woocommerce_thank_you_'.$this->id, array($this,'thank_you_page')); } public function init_form_fields(){ $this->form_fields = array( 'enabled' => array( 'title' => __( 'Enable/Disable', 'wc_nexapay_payment' ), 'type' => 'checkbox', 'label' => __( 'Enable or Disable nexapay Payments', 'wc_nexapay_payment' ), 'default' => 'yes' ), 'title' => array( 'title' => __( 'Title', 'wc_nexapay_payment' ), 'type' => 'text', 'description' => __( 'Add a new title for the nexapay Payments that customers will see when they are in the checkout page.', 'wc_payripe_payment' ), 'default' => __( 'NexaPay Your Digital Payments Partner', 'wc_nexapay_payment' ), 'desc_tip' => true, 'custom_attributes' => array('readonly' => 'readonly'), ), 'description' => array( 'title' => __( 'Description', 'wc_nexapay_payment' ), 'type' => 'textarea', 'default' =>__('Grow your business with the flawless integration of digital payments solutions!.', 'wc_nexapay_payment'), 'description'=> __('This controls the description which the user sees during checkout.', 'wc_nexapay_payment'), 'desc_tip'=> true, 'custom_attributes' => array('readonly' => 'readonly'), ), 'nexapay_url' => array( 'title' => __('Gateway Url', 'wc_nexapay_payment'), 'type' => 'text', 'default'=> __('https://prod.nexapay.in/payment/gateway/v1/initialrequest','wc_nexapay_payment'), 'description' => __('Will be provided by nexapay payment gateway', 'wc_nexapay_payment'), 'desc_tip' => true, 'custom_attributes' => array('readonly' => 'readonly'), ), 'key_id' => array( 'title' => __('Key Id', 'wc_nexapay_payment'), 'type' => 'text', 'description' => __('As provided by nexapay merchant website', 'wc_nexapay_payment'), 'desc_tip' => true ), 'secret_key' => array( 'title' => __('Secret Key', 'wc_nexapay_payment'), 'type' => 'text', 'description' => __('As provided by nexapay merchant website', 'wc_nexapay_payment'), 'desc_tip' => true ), 'prod_id' => array( 'title' => __('Product ID', 'wc_nexapay_payment'), 'type' => 'text', 'description' => __('Will be provided by nexapay merchant website after production movement', 'wc_nexapay_payment'), 'desc_tip' => true ), 'request_hashkey' => array( 'title' => __('Request Hashkey', 'wc_nexapay_payment'), 'type' => 'text', 'description' => __('Request hash key, provided by nexapay merchant web site', 'wc_nexapay_payment'), 'desc_tip' => true ), 'response_hashkey' => array( 'title' => __('Response Hashkey', 'wc_nexapay_payment'), 'type' => 'text', 'description' => __('Response Hashkey, provided by nexapay merchant web site', 'wc_nexapay_payment'), 'desc_tip' => true ), 'request_saltkey' => array( 'title' => __('Request Saltkey', 'wc_nexapay_payment'), 'type' => 'text', 'description' => __('Request Saltkey, provided by nexapay merchant web site', 'wc_nexapay_payment'), 'desc_tip' => true ), 'response_saltkey' => array( 'title' => __('Response Saltkey', 'wc_nexapay_payment'), 'type' => 'text', 'description' => __('Response Saltkey, provided by nexapay merchant web site', 'wc_nexapay_payment'), 'desc_tip' => true ),'request_aeskey' => array( 'title' => __('Request AESkey', 'wc_nexapay_payment'), 'type' => 'text', 'description' => __('Request AESkey, provided by nexapay merchant web site', 'wc_nexapay_payment'), 'desc_tip' => true ), 'response_aeskey' => array( 'title' => __('Response AESkey', 'wc_nexapay_payment'), 'type' => 'text', 'description' => __('Response AESkey, provided by nexapay merchant web site', 'wc_nexapay_payment'), 'desc_tip' => true ), ); } public function process_payment($order_id){ global $woocommerce; global $current_user; //get user details $current_user = wp_get_current_user(); $user_email = $current_user->user_email; $first_name = $current_user->user_login; $last_name = $current_user->shipping_last_name; $phone_number = $current_user->billing_phone; $country = $current_user->shipping_country; $state = $current_user->shipping_state; $city = $current_user->shipping_city; $postcode = $current_user->shipping_postcode; $address_1 = $current_user->shipping_address_1; $address_2 = $current_user->shipping_address_2; $udf2 = $first_name." ".$last_name; $udf3 = $country." ".$state." ".shipping_city." ".$address_1." ".$address_2." ".$postcode; // $udf4 = ""; // $udf5 = ""; $order= new WC_Order( $order_id ); $keyId = $this->key_id; $secretKey = $this->secret_key; $txnCurr = 'INR'; $amount = $order->get_total(); $emailId = $user_email; $username=$first_name; $mobileNumber = $phone_number; $prodId = $this->prod_id; $requestHashKey = $this->request_hashkey; $requestSaltKey = $this->request_saltkey; $requestAESKey = $this->request_aeskey; $message = $keyId.$secretKey.$txnCurr.$amount.$emailId.$mobileNumber; $signature =hash_hmac('sha256', $message, $requestHashKey); $myObj = (object)array(); $myObj->clientId= $this->key_id; $myObj->clientSecret= $this->secret_key; $myObj->txnCurr='INR'; $myObj->amount=$order->get_total(); $myObj->emailId= $user_email; $myObj->prodId= $this->prod_id; $myObj->username=$username; $myObj->mobileNumber=$phone_number; $myObj->signature=$signature; $myObj->udf1=$order_id; $myObj->udf2=$udf2; $myObj->udf3=$udf3; // $myObj->udf4=$udf4; // $myObj->udf5=$udf5; $myJSON = json_encode($myObj); $encryptJsonObj=$this-> encrypt($myJSON,$requestSaltKey,$requestAESKey); $order = wc_get_order($order_id); $order ->update_status('on-hold',__('Awaiting nexapay Payment','wc_nexapay_payment')); $param = "clientKey=".$keyId."&encrypt=".$encryptJsonObj; return array( 'result' => 'success', 'redirect' => MakeRequest."?key=".$keyId."&enc=".$encryptJsonObj."&url=".$this->url ); exit; } public function thank_you_page(){ global $woocommerce; global $wpdb, $woocommerce; $content = ""; $content .= '
'; $content .= '

nexapay Thank you

'; if(isset($_POST['secureData'])){ add_action('the_content', array(&$this, 'thank_you_page')); $responseData = $_POST['secureData']; $responesSaltKey = $this->response_saltkey; $responesAESKey = $this->response_aeskey; $decryptJsonObj = $this->decrypt($responseData,$responesSaltKey,$responesAESKey); $content .= '
'; // Convert JSON string to Array $dataArray = json_decode($decryptJsonObj, true); // $content .= "Json : ".$decryptJsonObj; // $content .="
"; // =============== response code end ============ $valid = $dataArray['status'].$dataArray['orderId'].$dataArray['transactionId'].$dataArray['bankId'].$dataArray['description']; // generate hmac sha 256 hashkey $signature= hash_hmac('sha256', $valid, $this->response_hashkey); // $content .="
"; // $content .= $signature; //================= validate signature ======================== if($dataArray['signature']==$signature){ $content .= "Status : ".$dataArray['status']; //$content .="
"; // $content .= "Client Id : ".$dataArray['clientId']; $content .="
"; $content .= "Order Id : ".$dataArray['orderId']; $content .="
"; $content .= "Bank Id : ".$dataArray['bankId']; $content .="
"; $content .= "Transaction Id : ".$dataArray['transactionId']; $content .="
"; $content .= "Amount : ".$dataArray['amount']; $content .="
"; $content .= "Email Id : ".$dataArray['emailId']; $content .="
"; $content .= "Mobile Number : ".$dataArray['mobileNumber']; // $content .="
"; //$content .= "Signature : ".$dataArray['signature']; $content .="
"; $content .= "Date : ".$dataArray['date']; $content .="
"; $content .= "Description : ".$dataArray['description']; $content .= "
"; // $content .= "Valid Transaction"; $content .= "
"; $order = new WC_Order($dataArray['udf1']); if($dataArray['status']=="200"){ $order->update_status('wc-completed',__('Payment Completed By nexapay.','wc_nexapay_payment')); }else if($dataArray['status']=="400"){ $order->update_status('wc-failed'); }else if($dataArray['status']=="402"){ $order->update_status('wc-cancelled'); } }else{ $content .= "
"; $content .= "Invalid Transaction"; $content .= "
"; } $content .= '
'; } $content .= '
'; return $content; } public function encrypt($data, $salt,$key) { if($key != NULL && $data != "" && $salt != ""){ $method = "AES-256-CBC"; /*Converting Array to bytes*/ $iv = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]; $chars = array_map("chr", $iv); $IVbytes = join($chars); $salt1 = mb_convert_encoding($salt, "UTF-8"); /*Encoding to UTF-8*/ $key1 = mb_convert_encoding($key, "UTF-8"); /*Encoding to UTF-8*/ /*SecretKeyFactory Instance of PBKDF2WithHmacSHA1 Java Equivalent*/ $hash = openssl_pbkdf2($key1,$salt1,'256','65536', 'sha1'); $encrypted = openssl_encrypt($data, $method, $hash, OPENSSL_RAW_DATA, $IVbytes); return bin2hex($encrypted); }else{ return "String to encrypt, Salt and Key is required."; } } public function decrypt($data, $salt, $key) { if($key != NULL && $data != "" && $salt != ""){ $dataEncypted = hex2bin($data); $method = "AES-256-CBC"; /*Converting Array to bytes*/ $iv = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]; $chars = array_map("chr", $iv); $IVbytes = join($chars); $salt1 = mb_convert_encoding($salt, "UTF-8");/*Encoding to UTF-8*/ $key1 = mb_convert_encoding($key, "UTF-8");/*Encoding to UTF-8*/ /*SecretKeyFactory Instance of PBKDF2WithHmacSHA1 Java Equivalent*/ $hash = openssl_pbkdf2($key1,$salt1,'256','65536', 'sha1'); $decrypted = openssl_decrypt($dataEncypted, $method, $hash, OPENSSL_RAW_DATA, $IVbytes); return $decrypted; }else{ return "Encrypted String to decrypt, Salt and Key is required."; } } }// class end add_filter('woocommerce_payment_gateways','add_to_nexapay_payment_gateway'); function add_to_nexapay_payment_gateway($gateways){ $gateways[] = 'WC_nexapay_Payment_Gateway'; return $gateways; } } } King Size – Crafted Comforts https://craftedcomforts.in Thu, 19 Oct 2023 13:36:15 +0000 en hourly 1 https://wordpress.org/?v=7.0 https://craftedcomforts.in/wp-content/uploads/2023/10/cropped-Screenshot-2023-10-19-202052-1-32x32.png King Size – Crafted Comforts https://craftedcomforts.in 32 32 Square Diamond King Size Bed With Drawer Storage In Walnut Finish https://craftedcomforts.in/product/square-diamond-king-size-bed-with-drawer-storage-in-walnut-finish/ Thu, 19 Oct 2023 13:35:42 +0000 https://craftedcomforts.in/?post_type=product&p=1274 Specification General
An impeccable craftsmanship, the SleepX beds have been designed keeping in mind the highest quality standards giving superior comfort and convenience. It’s sturdy frame gives exceptional support to you and the mattress, both. The fully grown pure sheesham wood used in the manufacturing of beds adds a seal to it’s finest quality and durability standards. The aesthetically designed headboard gives elegance to the overall look of the room. Termite & water resistance features make it highly durable too.

]]>
Cesar King Size Upholstered Bed in Beige Colour https://craftedcomforts.in/product/cesar-king-size-upholstered-bed-in-beige-colour/ Thu, 19 Oct 2023 13:35:42 +0000 https://craftedcomforts.in/?post_type=product&p=1275 Specification General
Upholstery Material – Cotton Polyester
Frame Material – Ply & Salwood
Seating Density – High,Foam Density – High
Leg Material – Teakwood.
Disclaimers:

Accessories shown in the image are only for representation and are not part of the product.
Depending on your screen settings and resolution on your device there may be a slight variance in fabric color and wood polish of the image and actual product.
Wood grains will vary from product to product .
Furniture having intricate hand-painted details are individual unique pieces and may have slight distinctions and variance between the picture and actual product.
The Primary material is the main material used to manufacture the product and in addition to the primary material there might also be other type of materials used in the manufacturing of the product

]]>
Austin King Size Bed with Headboard Storage in Choco Walnut Finish https://craftedcomforts.in/product/austin-king-size-bed-with-headboard-storage-in-choco-walnut-finish/ Thu, 19 Oct 2023 13:35:42 +0000 https://craftedcomforts.in/?post_type=product&p=1276 Specification General
Water resistant, fungus, termite & scratch proof
Premium grade hardware and fittings are used
Disclaimers:

Accessories shown in the image are only for representation and are not part of the product.
Depending on your screen settings and resolution on your device there may be a slight variance in fabric colour and wood polish of the image and actual product.
Wood grains will vary from product to product in case of solid wood furniture.
Furniture having intricate hand-painted details are individual unique pieces and may have slight distinctions and variance between the picture and actual product.
The Primary material is the main material used to manufacture the product and in addition to the primary material there might also be other type of materials used in the manufacturing of the productv

]]>
Lorenzo Solid Wood King Size Bed In Provincial Teak Finish https://craftedcomforts.in/product/lorenzo-solid-wood-king-size-bed-in-provincial-teak-finish/ Thu, 19 Oct 2023 13:35:42 +0000 https://craftedcomforts.in/?post_type=product&p=1269 Disclaimers:

Accessories shown in the image are only for representation and are not part of the product.
Depending on your screen settings and resolution on your device there may be a slight variance in fabric colour and wood polish of the image and actual product.
Wood grains will vary from product to product in case of solid wood furniture.
Furniture having intricate hand-painted details are individual unique pieces and may have slight distinctions and variance between the picture and actual product.
The Primary material is the main material used to manufacture the product and in addition to the primary material there might also be other type of materials used in the manufacturing of the product

]]>
Enri King Size Bed With Drawer Storage In Wenge Finish https://craftedcomforts.in/product/enri-king-size-bed-with-drawer-storage-in-wenge-finish/ Thu, 19 Oct 2023 13:35:42 +0000 https://craftedcomforts.in/?post_type=product&p=1270 Victoria King Size Bed With Hydraulic Storage in Matte Finish https://craftedcomforts.in/product/victoria-king-size-bed-with-hydraulic-storage-in-matte-finish/ Thu, 19 Oct 2023 13:35:42 +0000 https://craftedcomforts.in/?post_type=product&p=1271 Specification General
Water resistant, fungus, termite & scratch proof
Premium grade hardware and fittings are used
Disclaimers:

Accessories shown in the image are only for representation and are not part of the product.
Depending on your screen settings and resolution on your device there may be a slight variance in fabric colour and wood polish of the image and actual product.
Wood grains will vary from product to product in case of solid wood furniture.
Furniture having intricate hand-painted details are individual unique pieces and may have slight distinctions and variance between the picture and actual product.
The Primary material is the main material used to manufacture the product and in addition to the primary material there might also be other type of materials used in the manufacturing of the product

]]>
Kosmo Viva King Size Bed with Hydraulic Storage Natural Wenge Finish https://craftedcomforts.in/product/kosmo-viva-king-size-bed-with-hydraulic-storage-natural-wenge-finish/ Thu, 19 Oct 2023 13:35:42 +0000 https://craftedcomforts.in/?post_type=product&p=1272 Disclaimers:

Accessories shown in the image are only for representation and are not part of the product.
Depending on your screen settings and resolution on your device there may be a slight variance in fabric color and wood polish of the image and actual product.
Wood grains will vary from product to product in case of solid wood furniture.
Furniture having intricate hand-painted details are individual unique pieces and may have slight distinctions and variance between the picture and actual product.
The Primary material is the main material used to manufacture the product and in addition to the primary material there might also be other type of materials used in the manufacturing of the product

]]>
Bergen Solid Wood King Size Bed With Box Storage In Provincial Teak Finish https://craftedcomforts.in/product/bergen-solid-wood-king-size-bed-with-box-storage-in-provincial-teak-finish/ Thu, 19 Oct 2023 13:35:42 +0000 https://craftedcomforts.in/?post_type=product&p=1273 Disclaimers:

Accessories shown in the image are only for representation and are not part of the product.
Depending on your screen settings and resolution on your device there may be a slight variance in fabric colour and wood polish of the image and actual product.
Wood grains will vary from product to product in case of solid wood furniture.
Furniture having intricate hand-painted details are individual unique pieces and may have slight distinctions and variance between the picture and actual product.
The Primary material is the main material used to manufacture the product and in addition to the primary material there might also be other type of materials used in the manufacturing of the product

]]>
Freya Solid Wood King Size Bed in Provincial Teak Finish https://craftedcomforts.in/product/freya-solid-wood-king-size-bed-in-provincial-teak-finish/ Thu, 19 Oct 2023 13:35:41 +0000 https://craftedcomforts.in/?post_type=product&p=1258 Brand
Woodsworth
Dimensions(In Inches)
H 35.5 x W 75 x D 81
Weight
72 KG
Colour
Provincial Teak
Warranty
36 Months’ Warranty
Assembly
Carpenter Assembly
Primary Material
Sheesham Wood
Room Type
Bedroom
Collection
Freya
Storage
No Storage
Seating Height
14
Recommended Mattress Size
78 L x 72 W Inch
Product Rating
5
Dimensions (In Centimeters)
H 90.2 x W 190.5 x D 205.7

]]>
Fusion King Size Bed In White Colour https://craftedcomforts.in/product/fusion-king-size-bed-in-white-colour/ Thu, 19 Oct 2023 13:35:41 +0000 https://craftedcomforts.in/?post_type=product&p=1259 Disclaimers:

Accessories shown in the image are only for representation and are not part of the product.
Depending on your screen settings and resolution on your device there may be a slight variance in fabric color and wood polish of the image and actual product.
Wood grains will vary from product to product in case of solid wood furniture.
Furniture having intricate hand-painted details are individual unique pieces and may have slight distinctions and variance between the picture and actual product.
The Primary material is the main material used to manufacture the product and in addition to the primary material there might also be other type of materials used in the manufacturing of the product

]]>