array( 'title' => __( 'Stripe Settings', 'contact-form-7' ), 'callback' => 'cf7spay_pp_strp_settings_editor_panel_popup', ), ); $panels = array_merge($panels,$stripe); return $panels; } function cf7spay_pp_strp_settings_editor_panel_popup() { if(isset($_REQUEST['post']) && $_REQUEST['post'] != '') { $formid = sanitize_text_field($_REQUEST['post']); } else { $formid = NULL; } ?>
&$value ) { if ( is_array( $value ) ) { $value = cf7spay_recursive_sanitize_text_field($value); }else{ $value = sanitize_text_field( $value ); } } } return $array; } add_action( 'wpcf7_after_save','cf7spay_after_save', 10, 1 ); function cf7spay_after_save( $instance) { $formid = $instance->id; if(isset($_POST['enabled_use_stripe']) && !empty($_POST['enabled_use_stripe'])) { $enabled_use_stripe = sanitize_text_field($_POST['enabled_use_stripe']); } else { $enabled_use_stripe = 'off'; } update_post_meta( $formid, 'enabled_use_stripe', $enabled_use_stripe ); $pw_stripe_label = sanitize_text_field($_POST['pw_stripe_label']); update_post_meta( $formid, 'pw_stripe_label', $pw_stripe_label ); $stripe_totalrow = sanitize_text_field( $_REQUEST['stripe_totalrow'] ); update_post_meta( $formid, 'cf7wpay_stripe_totalrow', $stripe_totalrow ); $stripe_totalcol = sanitize_text_field( $_REQUEST['stripe_totalcol'] ); update_post_meta( $formid, 'cf7wpay_stripe_totalcol', $stripe_totalcol ); $prices_data = cf7spay_recursive_sanitize_text_field( $_REQUEST['stripe_prices'] ); update_post_meta( $formid, 'cf7wpay_stripe_prices', serialize($prices_data) ); $qunty_data = cf7spay_recursive_sanitize_text_field( $_REQUEST['stripe_qunty'] ); update_post_meta( $formid, 'cf7wpay_stripe_qunty', serialize($qunty_data) ); if(isset($_POST['enabled_stripe_Sandbox']) && !empty($_POST['enabled_stripe_Sandbox'])) { $enabled_stripe_Sandbox = sanitize_text_field($_POST['enabled_stripe_Sandbox']); } else { $enabled_stripe_Sandbox = 'off'; } update_post_meta( $formid, 'cf7wpay_enabled_stripe_Sandbox', $enabled_stripe_Sandbox ); $stripe_customer_email = sanitize_text_field($_POST['stripe_customer_email']); update_post_meta( $formid, 'cf7wpay_stripe_customer_email', $stripe_customer_email ); $stripe_item_description = sanitize_text_field($_POST['stripe_item_description']); update_post_meta( $formid, 'cf7wpay_stripe_item_description', $stripe_item_description ); $stripe_item_id_sku = sanitize_text_field($_POST['stripe_item_id_sku']); update_post_meta( $formid, 'cf7wpay_stripe_item_id_sku', $stripe_item_id_sku ); $amount = sanitize_text_field($_POST['amount']); update_post_meta( $formid, 'cf7wpay_amount', $amount ); $quantity = sanitize_text_field($_POST['quantity']); update_post_meta( $formid, 'cf7wpay_quantity', $quantity ); $stripe_live_pub_key = sanitize_text_field($_POST['stripe_live_pub_key']); update_post_meta( $formid, 'cf7wpay_stripe_live_pub_key', $stripe_live_pub_key ); $stripe_live_secret_key = sanitize_text_field($_POST['stripe_live_secret_key']); update_post_meta( $formid, 'cf7wpay_stripe_live_secret_key', $stripe_live_secret_key ); $stripe_test_pub_key = sanitize_text_field($_POST['stripe_test_pub_key']); update_post_meta( $formid, 'cf7wpay_stripe_test_pub_key', $stripe_test_pub_key ); $stripe_test_secret_key = sanitize_text_field($_POST['stripe_test_secret_key']); update_post_meta( $formid, 'cf7wpay_stripe_test_secret_key', $stripe_test_secret_key ); $stripe_currency = sanitize_text_field($_POST['stripe_currency']); update_post_meta( $formid, 'cf7wpay_stripe_currency', $stripe_currency ); $stripe_suc_url = sanitize_text_field($_POST['stripe_suc_url']); update_post_meta( $formid, 'cf7wpay_stripe_suc_url', $stripe_suc_url ); $stripe_card_number_def_txt = sanitize_text_field($_POST['stripe_card_number_def_txt']); update_post_meta( $formid, 'cf7wpay_stripe_card_number_def_txt', $stripe_card_number_def_txt ); $stripe_card_code_csv_def_txt = sanitize_text_field($_POST['stripe_card_code_csv_def_txt']); update_post_meta( $formid, 'cf7wpay_stripe_card_code_csv_def_txt', $stripe_card_code_csv_def_txt ); $stripe_expiration_mmyy_def_txt = sanitize_text_field($_POST['stripe_expiration_mmyy_def_txt']); update_post_meta( $formid, 'cf7wpay_stripe_expiration_mmyy_def_txt', $stripe_expiration_mmyy_def_txt ); $stripe_billing_zip_post_code_def_txt = sanitize_text_field($_POST['stripe_billing_zip_post_code_def_txt']); update_post_meta( $formid, 'cf7wpay_stripe_billing_zip_post_code_def_txt', $stripe_billing_zip_post_code_def_txt ); $stripe_pay_def_txt = sanitize_text_field($_POST['stripe_pay_def_txt']); update_post_meta( $formid, 'cf7wpay_stripe_pay_def_txt', $stripe_pay_def_txt ); $stripe_status_def_txt = sanitize_text_field($_POST['stripe_status_def_txt']); update_post_meta( $formid, 'cf7wpay_stripe_status_def_txt', $stripe_status_def_txt ); $stripe_order_def_txt = sanitize_text_field($_POST['stripe_order_def_txt']); update_post_meta( $formid, 'cf7wpay_stripe_order_def_txt', $stripe_order_def_txt ); $stripe_pay_suc_def_txt = sanitize_text_field($_POST['stripe_pay_suc_def_txt']); update_post_meta( $formid, 'cf7wpay_stripe_pay_suc_def_txt', $stripe_pay_suc_def_txt ); $stripe_pay_fail_def_txt = sanitize_text_field($_POST['stripe_pay_fail_def_txt']); update_post_meta( $formid, 'cf7wpay_stripe_pay_fail_def_txt', $stripe_pay_fail_def_txt ); $stripe_procs_pay_def_txt = sanitize_text_field($_POST['stripe_procs_pay_def_txt']); update_post_meta( $formid, 'cf7wpay_stripe_procs_pay_def_txt', $stripe_procs_pay_def_txt ); $stripe_currency_sym_def_txt = sanitize_text_field($_POST['stripe_currency_sym_def_txt']); update_post_meta( $formid, 'cf7wpay_stripe_currency_sym_def_txt', $stripe_currency_sym_def_txt ); } add_filter( 'wpcf7_feedback_response', 'cf7spay_ajax_json_echo', 20, 2 ); function cf7spay_ajax_json_echo( $response, $result ) { global $wpdb; $table_name = $wpdb->prefix.'cf7spay_forms'; $time_now = time(); $form = WPCF7_Submission::get_instance(); if ( $form ) { $black_list = array('_wpcf7', '_wpcf7_version', '_wpcf7_locale', '_wpcf7_unit_tag', '_wpcf7_is_ajax_call','cfdb7_name', '_wpcf7_container_post','_wpcf7cf_hidden_group_fields', '_wpcf7cf_hidden_groups', '_wpcf7cf_visible_groups', '_wpcf7cf_options','g-recaptcha-response'); $data = $form->get_posted_data(); $files = $form->uploaded_files(); // print_r($data); $uploaded_files = array(); foreach ($files as $file_key => $file) { array_push($uploaded_files, $file_key); } $form_data = array(); $form_data['cf7wpay_status'] = 'unread'; foreach ($data as $key => $d) { $matches = array(); if ( !in_array($key, $black_list ) && !in_array($key, $uploaded_files ) && empty( $matches[0] ) ) { $tmpD = $d; if ( ! is_array($d) ) { $bl = array('\"',"\'",'/','\\','"',"'"); $wl = array('"',''','/', '\','"','''); $tmpD = str_replace($bl, $wl, $tmpD ); } $form_data[$key] = $tmpD; } if ( in_array($key, $uploaded_files ) ) { $form_data[$key.'cfdb7_file'] = $_SESSION['image_name']; } } $paymentgateway = 'payment'; if($paymentgateway != '') { $payment_gateway = $data[$paymentgateway]; } else { $payment_gateway = ''; } $form_post_id = $result['contact_form_id']; $form_value = serialize( $form_data ); $form_date = current_time('Y-m-d H:i:s'); $insert_id= ""; if($payment_gateway == 'stripe'){ $wpdb->insert( $table_name, array( 'form_post_id' => $form_post_id, 'form_value' => $form_value, 'form_date' => $form_date ) ); $insert_id = $wpdb->insert_id; } } $formid = $result['contact_form_id']; $customer_email = get_post_meta( $formid, 'cf7wpay_stripe_customer_email', true ); $stripe_customer_email = get_post_meta( $formid, 'cf7wpay_stripe_customer_email', true ); $customer = get_post_meta( $formid, 'cf7wpay_stripe_customer_email', true ); $item_id_sku = get_post_meta( $formid, 'cf7wpay_stripe_item_id_sku', true ); // $tax_rates = get_post_meta( $formid, 'cf7wpay_tax_rates', true ); //stripe settings $enabled_use_stripe = get_post_meta( $formid, 'enabled_use_stripe', true ); $enabled_stripe_Sandbox = get_post_meta( $formid, 'cf7wpay_enabled_stripe_Sandbox', true ); $stripe_live_pub_key = get_post_meta( $formid, 'cf7wpay_stripe_live_pub_key', true ); $stripe_live_secret_key = get_post_meta( $formid, 'cf7wpay_stripe_live_secret_key', true ); $stripe_test_pub_key = get_post_meta( $formid, 'cf7wpay_stripe_test_pub_key', true ); $stripe_test_secret_key = get_post_meta( $formid, 'cf7wpay_stripe_test_secret_key', true ); $stripe_currency = get_post_meta( $formid, 'cf7wpay_stripe_currency', true ); $stripe_suc_url = get_post_meta( $formid, 'cf7wpay_stripe_suc_url', true ); $stripe_insert_id = $insert_id; $stripe_card_number_def_txt = get_post_meta( $formid, 'cf7wpay_stripe_card_number_def_txt', true ); if($stripe_card_number_def_txt == '') { $stripe_card_number_def_txt = 'Card Number'; } $stripe_card_code_csv_def_txt = get_post_meta( $formid, 'cf7wpay_stripe_card_code_csv_def_txt', true ); if($stripe_card_code_csv_def_txt == '') { $stripe_card_code_csv_def_txt = 'Card Code (CVV)'; } $stripe_expiration_mmyy_def_txt = get_post_meta( $formid, 'cf7wpay_stripe_expiration_mmyy_def_txt', true ); if($stripe_expiration_mmyy_def_txt == '') { $stripe_expiration_mmyy_def_txt = 'Expiration (MM/YY)'; } $stripe_billing_zip_post_code_def_txt = get_post_meta( $formid, 'cf7wpay_stripe_billing_zip_post_code_def_txt', true ); if($stripe_billing_zip_post_code_def_txt == '') { $stripe_billing_zip_post_code_def_txt = 'Billing Zip / Postal Code'; } $stripe_pay_def_txt = get_post_meta( $formid, 'cf7wpay_stripe_pay_def_txt', true ); if($stripe_pay_def_txt == '') { $stripe_pay_def_txt = 'Pay'; } $stripe_currency_sym_def_txt = get_post_meta( $formid, 'cf7wpay_stripe_currency_sym_def_txt', true ); if($stripe_currency_sym_def_txt == '') { $stripe_currency_sym_def_txt = '$'; } $stripe_status_def_txt = get_post_meta( $formid, 'cf7wpay_stripe_status_def_txt', true ); $stripe_order_def_txt = get_post_meta( $formid, 'cf7wpay_stripe_order_def_txt', true ); $stripe_pay_suc_def_txt = get_post_meta( $formid, 'cf7wpay_stripe_pay_suc_def_txt', true ); $stripe_pay_fail_def_txt = get_post_meta( $formid, 'cf7wpay_stripe_pay_fail_def_txt', true ); $stripe_procs_pay_def_txt = get_post_meta( $formid, 'cf7wpay_stripe_procs_pay_def_txt', true ); $stripe_table_prices = get_post_meta( $formid, 'cf7wpay_stripe_prices', true); // $discount_rate = get_post_meta( $formid, 'cf7wpay_discount_rate', true ); $table_price_array = unserialize($stripe_table_prices); $stripe_table_qunty = get_post_meta( $formid, 'cf7wpay_stripe_qunty', true); $table_qunty_array = unserialize($stripe_table_qunty); $stripe_pub_key = ''; $stripe_secret_key = ''; $price = 0; if($enabled_stripe_Sandbox == "on") { $stripe_pub_key = $stripe_test_pub_key; $stripe_secret_key = $stripe_test_secret_key; } else { $stripe_pub_key = $stripe_live_pub_key; $stripe_secret_key = $stripe_live_secret_key; } if($stripe_customer_email != '') { $custmr_email = $data[$stripe_customer_email]; } else { $custmr_email = ''; } $descs = array(); $x =1 ; $amountaa = 0; $price_amount=0; $quantity = get_post_meta( $formid, 'cf7wpay_quantity', true ); $amount = get_post_meta( $formid, 'cf7wpay_amount', true ); if(!empty($amount) && !empty($quantity)) { $price_amount = $amount * $quantity; } else { if(!empty($table_price_array)) { foreach ($table_price_array as $key => $value) { if(!empty($_REQUEST[$value]) && $_REQUEST[$table_qunty_array[$key]]) { $pieces = explode("--", sanitize_text_field($_REQUEST[$value])); $Quntiti = sanitize_text_field($_REQUEST[$table_qunty_array[$key]]); if(!empty($pieces[1])) { $amountaa = $pieces[1]; } else { $amountaa = $pieces[0]; } $price_amount += $amountaa * $Quntiti; } } } } $final_price = $price_amount; $stripe_final_amount = $final_price; $stripe_final_amount = number_format((float)$stripe_final_amount, 2, '.', ''); $stripe_amount_text = $stripe_pay_def_txt.' '.$stripe_currency_sym_def_txt.$stripe_final_amount; $response['enabled_use_stripe'] = $enabled_use_stripe; $response[ 'payment_gateway' ] = $payment_gateway; //stripe data and stripe form data $result = ''; if($enabled_stripe_Sandbox == "on") { $result .= "sandbox mode"; } $result .= "