__( 'Flat Rate', 'formipay' ), ]; return $shipping_methods; } public function add_shipping_settings($fields) { $flat_rate_fields = array( $this->shipping_method.'_group' => array( 'type' => 'group_title', 'label' => __( 'Flat Rate Setup', 'formipay' ), 'dependency' => array( array( 'key' => 'product_type', 'value' => 'physical', 'section' => 'general' ), array( 'key' => 'shipping_method', 'value' => 'flat_rate' ) ), 'dependencies' => '&&', 'group' => 'started' ), $this->shipping_method.'_type' => array( 'type' => 'select', 'label' => __( 'Type', 'formipay' ), 'options' => array( 'fixed' => __( 'Fixed', 'formipay' ), 'percentage' => __( 'Percentage', 'formipay' ) ), 'value' => 'fixed', 'dependency' => array( array( 'key' => 'product_type', 'value' => 'physical', 'section' => 'general' ), array( 'key' => 'shipping_method', 'value' => 'flat_rate' ) ), 'dependencies' => '&&', ), $this->shipping_method.'_amount' => array( 'type' => 'number', 'label' => __( 'Amount', 'formipay' ), 'value' => '10', 'dependency' => array( array( 'key' => 'product_type', 'value' => 'physical', 'section' => 'general' ), array( 'key' => 'shipping_method', 'value' => 'flat_rate' ) ), 'dependencies' => '&&', ), $this->shipping_method.'_label' => array( 'type' => 'text', 'label' => __( 'Label', 'formipay' ), 'description' => __( 'This will be shown in Order Review and Order Details', 'formipay' ), 'value' => __( 'Shipping Fee', 'formipay' ), 'dependency' => array( array( 'key' => 'product_type', 'value' => 'physical', 'section' => 'general' ), array( 'key' => 'shipping_method', 'value' => 'flat_rate' ) ), 'dependencies' => '&&', 'group' => 'ended' ), ); foreach($flat_rate_fields as $key => $value){ $fields[$key] = $value; } return $fields; } public function add_shipping_to_order_details( $details, $form_id, $order_data ) { if( formipay_get_post_meta($form_id, 'product_type') == 'physical' && formipay_get_post_meta($form_id, 'shipping_method')){ $amount = floatval( formipay_price_format( formipay_get_post_meta( $form_id, 'flat_rate_amount' ) ) ); if( formipay_get_post_meta($form_id, 'flat_rate_type') == 'percentage' ) { $price = floatval( formipay_get_post_meta($form_id, 'product_price') ); $calculate = $price * $amount / 100; $amount = floatval($calculate); } $details[] = [ 'item' => formipay_get_post_meta($form_id, 'flat_rate_label'), 'amount' => $amount, 'subtotal' => $amount ]; } return $details; } }