This topic contains 13 reply and 3 voices, and was last updated by Sekander Badsha 4 years, 9 months ago
Viewing 13 Posts - 1 through 13 (of 13 total)
Author Posts
January 17, 2015 at 3:18 pm 34350
Sekander Badsha I have a question about direct bank transfer in the multi-seller platform Dokan. Buyers pay me (the site) when they buy a product. When using a method different then direct bank transfer, the payment is immediate and the following doesn't matter. But when a buyer wants to pay using direct bank transfer, how does this work in combination with sellers. I tested it last night and noticed that when a order is made by a customer, the order is set to 'payment pending', like it should, but then it is immediately set to 'on hold'. It looks like this means that a customer has payed because that's when the amount is added in the reports. A seller sees a order has come in and can immediately act to prepare and set it, but he doesn't know for sure in this case if the customer has payed yet. Am I seeing this correctly, how can have more control over this situation? Because in my opinion you want to notify a seller of a order only after a buyer has payed for the order. Could you please clarify this for me. Thanks in advance. Best regards, Peter Thielen
January 18, 2015 at 12:21 pm 34413
Sekander Badsha Sekander Badsha

Thank you Peter,

For informing the situation in detail. I am forwarding this to the developer team. Hope we can come up with a suitable solution for you. 🙂

January 18, 2015 at 2:48 pm 34431
Sekander Badsha Sekander Badsha

I had a discussion with the dev team.

The payment and the payment status is controlled by WooCommerce. So we can not do anything with it. If you want to change anything, you have to overwrite WooCommerce files, which is not recommended.

January 18, 2015 at 4:32 pm 34444
Peter Thielen Peter Thielen

Oke thanks, I will contact them to further locate the problem.

Best regards,


January 18, 2015 at 4:45 pm 34446
Peter Thielen Peter Thielen

The fact that the amount is added and that the seller can edit the order is controlled by Dokan. The problem is not that the status is changed but the way Dokan deals with it.

Woocommerce sets orders on-hold because payment processing is outside the bounds of the website and is a manual process. So the current way Dokan deals with this order status is wrong.
When a product is set to on-hold, the order should not be updated to a seller. The seller should not be able to see this order, because that would mean a seller could send a product before the customer has payed. It should also not yet be updated in the dokan reports (like with payment pending), because there has not been payed yet.
Please let me know when this will be fixed.

Best regards,


January 18, 2015 at 6:42 pm 34456
Sekander Badsha Sekander Badsha

Please read my previous reply. The system is controlled by WooCommerce. Dokan is just taking the inputs from frontend.
So we can not do any thing regarding this.

January 18, 2015 at 8:45 pm 34458
Peter Thielen Peter Thielen

Please read my previous reply. I am talking about the way Dokan handles the on hold status. I am talking about the way the commission is handled. I am talking about the orders that are visible to sellers.
Please correct me if I am wrong, but this is all part of Dokan.

January 21, 2015 at 2:27 am 34659
Peter Thielen Peter Thielen

This is a pretty big problem within the Dokan plugin, please help me solve this. Or tell me when a fix will be implemented.

Thanks in advance.

January 21, 2015 at 12:29 pm 34701
Sekander Badsha Sekander Badsha

WooCommerce does not work like the way you are asking. We have kept everything they way they are in the default WooCommerce system.

However, as you are insisting for code, here it is. Open “wp-content/plugins/dokan-plugin/dokan.php” and go to line number 516. You will see the function for sending emails dokan_wc_email_recipient_add_seller
Inside that function, you can filter mails via that function.

You have to add the following lines on 523 number line

if ( $order->status == 'on-hold' ) {
            return $admin_email;

So the whole function will look like this
[php]function dokan_wc_email_recipient_add_seller( $admin_email, $order ) {
$emails = array( $admin_email );

$seller_id = dokan_get_seller_id_by_order( $order->id );

if ( $seller_id ) {
$seller_email = get_user_by( ‘id’, $seller_id )->user_email;

if ( $order->status == ‘on-hold’ ) {
return $admin_email;

if ( $admin_email != $seller_email ) {
array_push( $emails, $seller_email );

return $emails;
This will prevent sending mails to the seller, when the order status is “on-hold”.

January 22, 2015 at 1:19 am 34778
Peter Thielen Peter Thielen

I don’t think you understand what I mean.
You can’t keep everything as in default WooCommerce, otherwise your plugin wouldn’t work. There is a essential difference between Dokan and WooCommerce: Dokan is multivendor.

Sellers sell products through my website. Because WooCommerce handles payment, I know when a customer payed with direct bank transfer, my sellers do not. So I need a way to control this. This is necessary to make the Dokan multi-vendor concept work. Otherwise Sellers can send there product before the customer has even payed. It is pretty essential for a good working multi-vendor environment.

A possible solution is to add order-status Payed. When a order has come in, a e-mail is sent to the seller and the order becomes visible in the seller dashboard. In this way there is more control on payments.

What if a customer hasn’t payed yet and the seller has send his product?

Although the above proposed solution makes sure no e-mail is sent when the order status is on-hold, it also means that no e-mail is sent at all. And the order is still visible for the seller, even though the seller didn’t get an e-mail, the seller can still act on the order.

Should I maybe use a different payment gateway then standard WooCommerce Direct Bank Transfer?

Thanks in advance.

Best regards,


January 22, 2015 at 6:13 am 34783
Mahi Mahi

Sorry to interrupt Peter.

From my view best solution is – alert your seller at first point. When a Seller going to register on your website make sure that seller knows correctly what is the scenario regarding BANK TRANSFER PROCESS.

– When Customer submit an order and choose payment method “BANK TRANSFER”, Seller also get notification email and can see what is the Payment Method is: BANK TRANSFER .

– Now, Seller can see the ORDER Status ON HOLD from Dashboard.
image: on hold status

– Then, as Admin you have to play a role here. Best way is When a customer make the payment to your bank account and confirmed with you, as admin you can change that order status to PROCESSING from admin area > WooCommerce> Order

image: processing

– Now once you marked that order as processing – your seller can see that as well from their dashboard.
image: dashboard processing

– Now, seller can prepare the product – ship and mark as completed and everything goes smoothly.

Please NOTE:: Any time admin(you) or seller can change the order status. If you (admin) or seller change order status failed/refund/cancelled then all information (data) reversed. So, all commission reversed automatically.

So, this is the only scenario i can see which will work. If you have any other idea feel free to share with us.

We really don’t want to interrupt with WooCommerce default system because then it will be very hard to maintain. We spoke with Woo Team regarding multi-vendor future with WooCommerce and seems like they are also considering to make WooCommerce more multi-vendor friendly.

Thank you.

January 22, 2015 at 10:42 pm 34851
Peter Thielen Peter Thielen

Hello Mahi,

Of course you recommend this approach, this is the only possible way at the moment.

There are 2 problems I have with it:
– Commission and earnings are already added to the Dokan dashboard, not reflecting the actual situation
– Even though the order is on hold, the seller can already act on it.

Of course I can write a procedure, but that doesn’t mean people will act on it.

I understand that Dokan builds on WooCommerce, but all I am talking about is Dokan functionality: Dokan dashboard, seller dashboard and seller roles are added by Dokan. This is Dokan functionality. I understand that the way direct bank transfer is implemented is WC functionality, but the fact that commission is taken of earnings; earnings are shown in dokan dashboard; orders are shown in seller dashboard; mails are sent to sellers: you are in control of that.

I recommend the following for direct bank transfer:
– When a order is on-hold: don’t sent mail to seller, don’t show it in seller dashboard, don’t take commission and add amount to Dokan dashboard.
– After Admin has changed on-hold to processing: sent mail to seller, show in seller dashboard, take commission and update dokan dashboard.

Best regards,


January 30, 2015 at 2:05 pm 35360
Peter Thielen Peter Thielen


January 31, 2015 at 6:30 pm 35423
Sekander Badsha Sekander Badsha

Hello Peter,

Thank you for your ideas. I have forwarded them to the Design and Development team. They will definitely consider if we can add them 🙂

If you need to modify the features right now, you may hire a developer.

Viewing 13 Posts - 1 through 13 (of 13 total)