I have a problem which I am struggling with regarding payment using commerce funds.

I am building a website (for personal use) where users can transfer money amongst each other. Commerce funds allows me to do this exceptionally well. A normal workflow which is possible with commerce funds looks like this:

  1. Let’s consider two authenticated users UserA and UserB, UserA wants to transfer money to UserB. UserA’s account balance at the moment is $100, UserB’s account balance is $0.00.
  2. UserA deposits $400 from his/her bank into his account (website) using payment gateways
  3. UserA’s Account balance: $500
  4. UserA transfers $300 to UserB’s account
  5. UserB’s account balance: $300.
  6. UserB withdraws $300 into his Bank Account. This needs to be approved by admin

My problem:

Now in step 6 when UserB withdraws $300, I would like a percentage of that amount (10% = $30) to be deposited into admin’s account and UserB thus would withdraw the remaining amount ($300-$30 = $270). UserB would know about the amount deducted. (Note: UserB has not yet been directed to payment gateway. This is similar to how you get discounts, the discount is applied at or after the checkout step and the payable amount is reduced by discounted amount, in our case the discounted amount is the charge and will be added to admin’s account)

I have looked at some options like Paypal Adaptive Payments, commerce Payback but this are more or less doing things for specific sites like paypal or are not yet ready for usage on sites. Also what I want would be done before the user is directed to payment gateway, so any payment gateway could be used afterwards.

Commerce funds looks like a good solution but lacks this part of a functionality that I need. Any help or guidance in how to achieve this would be greatly appreciated.

I am not a drupal developer, just starting with drupal so writing modules is out of scope for me currently.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.