I reply to all queries on the forums and via email, once per day, Monday to Friday (not weekends).

If you are new here, please see some information on how to ask for support. Thank you!

Reply To: Withdrawals

#7049
alexg
Keymaster

Hello,

I have been investigating the issue where cryptocurrency withdrawals are not being recorded.

As a first step, I am attempting to reproduce your observation regarding bank withdrawals. Unfortunately I have not been able to find online any description on what the normal flow of actions is, so I had to guess. I would like to know how you perform your tests, and at the same time I will describe the tests that I performed:

First I completely uninstalled the dashed-slug plugins, to ensure that they do not interfere with normal operation of WCMp.

1. A user adds a vendor’s product to the shopping cart. The user checks out using the WooCommerce built in bank payment gateway. This creates one parent order and one sub-order (post_type: shop_order), both with status “On hold” (wc-on-hold) because bank payments need to be confirmed.

2. The admin (presumably after seeing the bank transfer), goes to the order and suborder and marks them with status “Processing” (wc-processing). A new commission (post_type: dc_commission) is created for the sub-order and is payable to the vendor.

3. The vendor can now go to “Vendor Dashboard” -> “Payments” -> “Withdrawal” and request a withdrawal on their commission. The admin receives an email about this request. Additionally, the code now triggers the WCMp “Direct Bank” gateway’s process_payment() method. A withdrawal (post_type: wcmp_transaction) is created for the commission, and its status is “Processing” (wcmp_processing). At this point the commission amount is added to the vendor’s withdrawable balance, as seen in the Vendor dashboard. Looking at the code, this number comes from summing all of the vendor’s transactions.

4. The admin can now go to “WCMp” -> “Commissions” and find the new commission, which is still “unpaid”. The admin can mark the commission as “Paid”. This triggers a second call to the Direct bank gateway’s process_payment() method and creates a new identical transaction for the same commission. The withdrawable balance is reduced a second time. The Vendor’s “withdrawal history” screen now shows TWO transactions for this one commission. The Vendor’s “banking overview” screen now shows one commission (credit) and one withdrawal (debit).

The above procedure is probably wrong, because there should be one transaction per commission, not two. However, the plugin allows me to perform two transactions, one initiated by the vendor and one by the admin.

After all of this, I am no longer sure as to what the correct flow of events is. I have read the documentation available on the plugin’s website and did not find a clear description of what the sequence of events should be. I could only find articles on how the plugin is installed and configured, not how it’s used day-to-day. If you know of any guide or article that describes this, please share it with me.

My question to you: Is this the test you performed? If not, what did you do? Can you describe your test? Do you know what the correct flow of actions should be, between vendor and admin? If we both don’t know, then I should contact the developers to find out, before proceeding any further.

Ī¤hank you as always for your feedback!

with regards