array("delivery"), "street1" => $_POST["street1_post"], "street2" => $_POST["street2_post"], "city" => $_POST["city_post"], "state" => $_POST["state_post"], "zip" => $_POST["zip_post"], "country" => $_POST["country_post"], ); $record=get_option( 'wf_address_autocomplete_validation_record_log' ); if($record == 'yes') Address_Validation_Log::log_update($address_params,'Request'); //get option values $easypost_api_key=get_option( 'wf_address_autocomplete_validation_easypost_api_key' ); $suggest_for_valid_address=get_option( 'wf_address_autocomplete_validation_show_valid_address_suggestion' ); try{ \EasyPost\EasyPost::setApiKey($easypost_api_key); $address = \EasyPost\Address::create_and_verify($address_params); //for successful validation cases if($record == 'yes') Address_Validation_Log::log_update(trim($address),'Response'); if($address->verifications->delivery->success) { $vali_address_params = array( "status" => 'success', "street1" => $address->street1, "street2" => $address->street2, "city" => $address->city, "state" => $address->state, "zip" => $address->zip, "country" => $address->country, "rdi" => $address->residential, "error" => $address->message, "suggest_for_valid_address" => $suggest_for_valid_address, ); die(json_encode($vali_address_params)); } } catch(Exception $e) //for restricted API access { if($address->verifications->delivery->success == false){ $error=array("status"=>'failure','error'=>"Provided Address Cannot be Validated","map"=>"defined"); die(json_encode($error)); } $error=array("status"=>'failure','error'=>$e->getMessage(),"map"=>"undefined"); die(json_encode($error)); } } } add_action('wp_ajax_wf_address_validation',array('wf_address_validation', 'wf_address_validation_easypost'));