14 replies [Last post]
Stephan_M's picture
Offline
Joined: 01/31/2008
Juice: 70

Hello,
Is there a way to let customers choose "direct debit" as a payment method? Has anybody done this already?

If the customer chooses "pay per direct debit", a field would pop up where he would be required to enter his bank-account details into a secure form and then be able to submit his order.

His entered data would have to appear in the final order overview for the customer, and the shopadmin would have to see it in shop administrations order list.

regards,
Stephan

Ryan's picture
Offline
Joined: 08/07/2007
Juice: 15422
Re: "Direct Debit" Payment Method?

Hasn't been done yet, but that was the logic behind my decision to separate payment methods from payment gateways. Basically, if someone were to create this sort of bank draft payment method module, then for any payment gateway that supports this sort of payment you could add the functionality to the payment gateway's module.

Stephan_M's picture
Offline
Joined: 01/31/2008
Juice: 70
Re: Re: "Direct Debit" Payment Method?

Thank you for your reply, Ryan.

(Too bad! We a are a small publisher and sell magazines and magazin-subscriptions. Magazin subscriptions are often payed per direct debit.)

clemens.tolboom@drupal.org's picture
Offline
Joined: 11/16/2007
Juice: 111
Re: "Direct Debit" Payment Method?

What is needed to build a "direct debit" payment method. That is without a payment gateway.

Maybe we could join forces to build this? I'm new to ubercart but able to program.

My thought are:
- create uc_direct_debit.module for providing a payment methode
- define an Direct debit API (DD-API)
- build modules for interfacing this DD-API. (I need a dutch clieop3.module copy/paste to bank web interface)

Am I on the right track for this? And what modules should I study to get this going?

Regards,
Clemens Tolboom

Stephan_M's picture
Offline
Joined: 01/31/2008
Juice: 70
Hello, thanks for joining,

Hello,
thanks for joining, Clemens. AS i can't program, i can help with thinking stuff through, suggestions and testing.

I'd start with taking the UC_bankdeposit module and model it into a direct debit module.
The bankdeposit-module is simple and doesn't do awfully much - in checkout it pops open a field where the customer gets presented the shops bank-account-details where to send the money to.

A directdebit module, instead of presenting the customer a bank acount, would have to ask for the customers acount details with some form fields. A checkbox ~"I agree to give [Shop-title] bank direct debit" might be in order.

Those entries would have to be passed to the checkout and also be in shop-administrations order overview.

clemens.tolboom@drupal.org's picture
Offline
Joined: 11/16/2007
Juice: 111
Hi Stephan, i'm about to

Hi Stephan,

i'm about to start building! Can you sketch your situation especially on the payment side.

Customer Flow:
1. Fill Cart
2. Checkout with agreement of a Direct Debit
3. Order: status? state? ... we need a few status like pending, denied, retracted, credited?, final credit. (Customer can retract a payment next 3 weeks in The Netherlands)
4. When to send order???

Payment Flow (dutch: clieop3.module)
Sending DDs
1. add debit line to batch
2. Prepare batch
3. Submit batch to bank (by hand through https shop owner bank account)

Receiving statuses
1. Get status (by hand ... shop owner bank account)
2. Update order status

Some imagery would be welcome. And can you please send your email for faster communication through my drupal contact page http://drupal.org/user/125814

Regards,
Clemens

Stephan_M's picture
Offline
Joined: 01/31/2008
Juice: 70
Re: Hi Stephan, i'm about to

YoW! That's great! Will answer soon.

Stephan_M's picture
Offline
Joined: 01/31/2008
Juice: 70
Sketch of checkout pane of

Sketch of checkout pane of "Direct Debit Module"

_[V]__ *Direct Debit* ____________________________________________________________________

Debit authorization with right of objection

--CREDITOR--
[Shop-Owner], [Shop-Adress]

--ACOUNT TO CHARGE--
Account holder: _ _ _ _ _ _ _
Name of bank: _ _ _ _ _ _ _ _
Branch office: _ _ _ _ _ _ _ _
Bank clearing no. (if known): _ _ _ _ _ _ _
Postal code and City: _ _ _ _ _ _ _
IBAN or: _ _ _ _ _ _ _ _ _ _ _ _ _
Account no.: _ _ _ _ _ _

--ADRESS OF ACOUNT HOLDER--
[ ] Account information is the same as the delivery information. (closes
Name: _ _ _ _ _ _
Surname:_ _ _ _ _ _
Street:_ _ _ _ _ _
City:_ _ _ _ _ _
PostalCode:_ _ _ _ _ _
Region:_ _ _ _ _ _
Country:_ _ _ _ _ _

[ ] (Checkbox) I hereby authorize my bank to deduct debits in [currency] from the above-listed creditor directly from my account until this authorization is revoked. My bank is not liable to charge my account if the amount is not covered. For each direct debit i receive a debit note from my bank. Any debit will be charged back if i send back a signed debit advice to my bank within 8 weeks.

[NEXT] (Ubercart Checkoutpane Next Button)
____________________________________________________________________________

ñull@drupal.org's picture
Offline
Joined: 01/26/2009
Juice: 114
Keep the bank account fields somewhat flexible

In different countries there are different bank account formats. In Spain the number is in 4 groups (preferably 4 fields). One of the four is a checksum that could be validated with the right algorithm.

Direct debit internationally through IBAN, is that possible already?

ñull@drupal.org's picture
Offline
Joined: 01/26/2009
Juice: 114
clemens.tolboom@drupal.org
clemens.tolboom@drupal.org wrote:

Payment Flow (dutch: clieop3.module)
Sending DDs
1. add debit line to batch
2. Prepare batch
3. Submit batch to bank (by hand through https shop owner bank account)

Receiving statuses
1. Get status (by hand ... shop owner bank account)
2. Update order status

Two thoughts:
1. Would be good when the "Prepare batch" step optionally is on certain dates in the month. That way the shop owner can determine how many times a month he will submit to bank.
2, Some banks send back a file with refused Debits. Would be nice when the API at least is prepared for this feature.

ñull@drupal.org's picture
Offline
Joined: 01/26/2009
Juice: 114
clemens.tolboom@drupal.org
clemens.tolboom@drupal.org wrote:

- define an Direct debit API (DD-API)
- build modules for interfacing this DD-API. (I need a dutch clieop3.module copy/paste to bank web interface)

The right approach for the diverse systems that are used internationally.

nvahalik@drupal.org's picture
Offline
Joined: 12/02/2009
Juice: 2
Any work done on this?

Just wondering if anyone has some code? We are needing to this soon as well. We are working on an integration with Wells Fargo.

zeezhao's picture
Offline
Joined: 04/23/2008
Juice: 956
Re: Any work done on this?

Code for direct debit? If so, there are a few modules out there e.g.:

http://www.ubercart.org/contrib/6736 [uc_direct_deposit for uc2

http://drupal.org/project/directdebit [for uc1]

http://www.ubercart.org/contrib/2516

clemens.tolboom@drupal.org's picture
Offline
Joined: 11/16/2007
Juice: 111
Re: Any work done on this?

Work is on the way for an UC2 compatible version of http://drupal.org/project/directdebit

When interested follow issue http://drupal.org/node/366747

clemens.tolboom@drupal.org's picture
Offline
Joined: 11/16/2007
Juice: 111
Re: "Direct Debit" Payment Method?

Checkout the D6 version of http://drupal.org/project/directdebit