payment direct to vendor

We're shifting our Forum based support to a more dedicated support system!

We'll be closing our Forum support from 10th June, 2020 and move to Email Support assistance.

  • If you are a WCFM premium add-ons user, contact us- here
  • Want to know more before buying our add-ons? Send Pre sale queries- here
  • If you are a WCFM free user, please open a support ticket at WordPress.org
  • For WCFM App related queries, reach us- here
From now the forum will be read-only!

Viewing 4 reply threads
  • Author
    Posts
    • #82319
      bowvee3108
      Participant

      If I want customers to pay directly to vendor, can do it?

    • #82510
      WCFM Forum
      Keymaster

      Hi,

      Which payment gateway you want to use for the purpose?

      Thank You

    • #82979
      bowvee3108
      Participant

      I want customers to pay via bank account directly to the seller. Without requiring commission

    • #82980
      bowvee3108
      Participant

      Direct bank

    • #83319
      WCFM Forum
      Keymaster

      HI,

      I want customers to pay via bank account directly to the seller. Without requiring commission
      – OK, in that case you have to show all vendors Bank details under customer’s order details!

      Please add this code to your site –

      add_action( 'end_wcfm_vendor_settings', function( $vendor_id ) {
      	global $WCFM, $WCFMmp;
      	$wcfm_customer_payment_options     = get_user_meta( $vendor_id, 'wcfm_customer_payment_options', true );
      	?>
      	<!-- collapsible -->
      	<div class="page_collapsible" id="wcfm_settings_form_min_order_amount_head">
      		<label class="wcfmfa fa-cart-plus"></label>
      		<?php _e('Customer Pay Option', 'wc-frontend-manager'); ?><span></span>
      	</div>
      	<div class="wcfm-container">
      		<div id="wcfm_settings_form_vendor_invoice_expander" class="wcfm-content">
      			<?php
      			$WCFM->wcfm_fields->wcfm_generate_form_field(  array(
      																														"wcfm_customer_payment_options" => array('label' => __('Payment Options', 'wc-frontend-manager'), 'type' => 'textarea', 'class' => 'wcfm-textarea wcfm_ele wcfm_full_ele', 'label_class' => 'wcfm_title wcfm_ele wcfm_full_ele_title', 'value' => $wcfm_customer_payment_options ),
      																														) );
      	    ?>
      		</div>
      	</div>
      	<div class="wcfm_clearfix"></div>
      	<!-- end collapsible -->
      	<?php
      }, 500 );
      
      add_filter( 'wcfm_marketplace_settings_fields_billing', function( $setting_fields, $vendor_id ) {
      	if( !wcfm_is_vendor() ) {
      		$wcfm_customer_payment_options     = get_user_meta( $vendor_id, 'wcfm_customer_payment_options', true );
      		$wcfm_customer_payment_options_field = array(
      																		"wcfm_customer_payment_options" => array('label' => __('Customer Payment Options', 'wc-frontend-manager'), 'type' => 'textarea', 'class' => 'wcfm-textarea wcfm_ele', 'label_class' => 'wcfm_title wcfm_ele', 'value' => $wcfm_customer_payment_options ),
      																		);
      		$setting_fields = array_merge( $wcfm_customer_payment_options_field, $setting_fields );
      	}
      	return $setting_fields;
      }, 50, 2 );
      
      add_action( 'wcfm_vendor_settings_update', function( $vendor_id, $wcfm_settings_form ) {
      	global $WCFM, $WCFMmp;
      	if( isset( $wcfm_settings_form['wcfm_customer_payment_options'] ) ) {
      		$wcfm_customer_payment_options = $wcfm_settings_form['wcfm_customer_payment_options'];
      		update_user_meta( $vendor_id, 'wcfm_customer_payment_options',  $wcfm_customer_payment_options );
      	}
      }, 500, 2 );
      
      function wcfmmp_vendor_order_customer_payment_options( $order ) {
      	global $WCFM, $WCFMmp;
      	
      	echo "<br /><br />";
      	echo "<h2 style='font-size: 18px; color: #17a2b8; line-height: 20px;margin-top: 6px;margin-bottom: 10px;padding: 0px;text-decoration: underline;'>" . __( 'Payment Details:', 'wc-frontend-manager-ultimate' ) . "</h2>";
      	echo "<table width='100%' style='width:100%;'><tbody>";
      	$order_items           = $order->get_items( apply_filters( 'woocommerce_purchase_order_item_types', 'line_item' ) );
      	foreach ( $order_items as $item_id => $item ) {
      		$product_id = $item->get_product_id();
      		$vendor_id           = $WCFM->wcfm_vendor_support->wcfm_get_vendor_id_from_product( $product_id );
      		if( !$vendor_id || !wcfm_is_vendor( $vendor_id ) ) continue;
      		$wcfm_customer_payment_options     = get_user_meta( $vendor_id, 'wcfm_customer_payment_options', true );
      		if( !$wcfm_customer_payment_options ) continue;
      		?>
      		<tr>
      			<td colspan="3" style="background-color: #eeeeee;padding: 1em 1.41575em;line-height: 1.5;font-weight:600;"><?php echo get_the_title( $product_id ); ?></td>
      			<td colspan="5" style="background-color: #f8f8f8;padding: 1em;"><?php echo wpautop($wcfm_customer_payment_options); ?></td>
      		</tr>
      		<?php
      	}
      	echo "</tbody></table>";
      	echo "<br /><br /><br /><br />";
      }
      add_action( 'woocommerce_order_details_after_order_table', 'wcfmmp_vendor_order_customer_payment_options', 50 );
      add_action( 'woocommerce_email_order_meta', 'wcfmmp_vendor_order_customer_payment_options', 50 );

      Now, setup “Customer Pay Option” from vendor’s setting panel.

      Add this code to your child theme’s functions.php
      In case you do not have child theme then add code using this plugin – https://wordpress.org/plugins/code-snippets/

      Thank You

Viewing 4 reply threads
  • You must be logged in to reply to this topic.