/** * @package nexapayPayment */ /* Plugin Name: nexapay Woo Commerce Plugin Plugin URI: https://nexapay.in/integration/ Description: This plugin allows you to integrate with Nexapay payment gateway. Version:1.0.0 Author: nexapay Author URI: https://dev.nexapay.in/ License: GPLv2 or Later Text Domain: wc_nexapay_payment */ /** * Check if WooCommerce is active **/ if ( in_array( 'woocommerce/woocommerce.php', apply_filters( 'active_plugins', get_option( 'active_plugins' ) ) ) ) { // Put your plugin code here } if ( !function_exists( 'add_action' ) ) { echo 'Hi there! I\'m just a plugin, not much I can do when called directly.'; exit; } add_action( 'plugins_loaded', 'wc_nexapay_gateway_init', 0 ); define('MakeRequest', WP_PLUGIN_URL . "/" . plugin_basename(dirname(__FILE__)) . '/MakeRequest.php'); function wc_nexapay_gateway_init() { if(class_exists('WC_Payment_Gateway')){ class WC_nexapay_Payment_Gateway extends WC_Payment_Gateway { // The meat and potatoes of our gateway will go here public function __construct(){ global $woocommerce; global $wpdb; $this->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 .= '
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
.
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
Mattress Base : High Quality Particle Board
Weight Bearing Capacity : Up to 15Kgs
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 types of materials used in the manufacturing of the product
]]>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 types of materials used in the manufacturing of the product
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 Poly-Cotton 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 types of materials used in the manufacturing of the product
]]>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 types of materials used in the manufacturing of the product
]]>Weight Bearing Capacity : Up to 150 Kgs
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 types of materials used in the manufacturing of the product
]]>