wordpress Ajax success doesn’t return the value

You can try this… …rather than returning the value, send a JSON success message.

$response = new WP_REST_Response($final_price_return, 200);
wp_send_json_success( $response );
wp_die();  
//you have to end the process, so if you're getting just a 0 returned in your JS success, it's because of this.

Then, in your JS/jQuery:

success: function (success, data) {
  var res = success.data;
  console.log(res)
  $('#total_amount').html(res)
  $('#totalbox').removeClass('d-none')
  $('#email_form').removeClass('d-none')
},

It may even just be that your lack of wp_die() or lack of exit() at the end of your AJAX callback is the issue.