I'm using uc_recurring for having repeat billing, here's a patch for making Bank Transfer appear as a valid recurring payment method.

I request someone to look at this and see if this is all correct, I'm especially not sure about having 'own handler' => TRUE or false.

Notes: I've got it appearing and finishing the order through checkout - still have to see what happens at expiry and so on. Will update the patch if I do code changes.

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

apurvarc’s picture

Subscribing

xibun’s picture

I know what I would expect to happen with recurring payment when I have stored the client's credit card details. but I'm not sure how you imagine that this shall work with bank transfer as the transfer is not pulled by the shop but pushed by the client. could you please describe the behaviour/procedure you are trying to implement?

I will not use this function myself, but I would appreciate a discussion in this issue before I commit anything to CVS.

afox’s picture

I'd like to chip in although it's almost 2 years old issue.
In our web service we require subscription to be made before giving certain privileges to the client. Bank transfer is important especially to the companies, who necessarily don't want to use credit card but would rather pay in advance. This way, we will manually set the pending order to "Completed" when we see that the transfer has been made, which in turn gives the correct role to the user. I've already tried the above patch and seems to be working.

I +1 this simple addition.

xibun’s picture

@afox: thanks for chipping in. I agree it is a simple addition. but I still don't understand the use-case/"mechanics".

main question: how does the user know that a new payment has to be made?

afox’s picture

Sorry for taking so long to answer. For some reason I wasn't subscribed to this issue even though I commented on it.

Anyway @xibun, your point is good. I think that this calls for a conditional action. UC Recurring already has a ca called "Notify customer when a renewal has occurred." to send an email when a renewal has been made. In this case a payment is a generated invoice. So the email would read something like "A new invoice has been generated for you". But that's just a site specific customization and should not be a part of this module.

afox’s picture

Status: Active » Needs review
FileSize
1.11 KB

I noticed that the original patch from @dhirajgupta wasn't complete. First of all, 'own handler' shouldn't be set as it would require the module to handle its own payment events, and we don't want that (at least not yet). Second, the "menu" items are required for this to function properly. New patch attached.

@xibun: I realized that I didn't fully answer your question on my previous post. From a developer's perspective I understand the need to know how to inform the customer, but this isn't really in the module's (or developers) scope.

As in my use case, we bill the customer 6 months in advance, but the customer receives the goods every month. This is especially useful in subscription-based services. This will actually require some more additions in the future, like the ability to mark the number of paid payments, etc. I can likely provide those later on when we need them in our site.

If needed, I can also become a co-maintainer for the 6.x branch, as we are using this module more and more in our site.

xibun’s picture

Version: 6.x-1.x-dev » 7.x-1.x-dev
Status: Needs review » Patch (to be ported)

thanks for this patch dhirajgupta & afox! it was just committed to the .dev of the Drupal 6 version.

I leave the issue open to accommodate the port to the Drupal 7 version.