recurring billing on satchmo

38 views
Skip to first unread message

Tomas Neme

unread,
Jan 28, 2013, 12:25:05 PM1/28/13
to satchm...@googlegroups.com
I've made a custom payment processor for psigate, and I need to add
recurring billing capabilities for it.

Psigate has a number of different approaches for that, and before I
know which one to focus on, I'd like to know exactly how does
recurrent billing work on satchmo.

I'm taking a look at the authorize.net module and it seems to just
process recurring subscriptions when the order is placed with no
special requirement from the system above, besides settings and such.

I don't know the authorizenet API, but it creates an "ocurrences"
element in the sent XML which I would expect to let authorize.net
automatically charge recurrencies without any further intervention
from the store.

On the other hand, the `satchmo_bill_recurring` iterates over all
orders that are about to expire and calls the processor again. This
gives me the feeling multiple recurring payments would be done for
each order. What am I missing? is it something on the Authorize.net
API that stops this from happening?

And lastly: I can't find the way of cancelling a subscription /
recurring order. How is this supposed to be handled?

Thank you
Tomas
PS: so far, I think what I'll do is to create an "account" for the
user that subscribes, and use satchmo_bill_recurring to bill one-off
charges every subscription expiry. It seems the safest course of
action, unless I'm missing something, specially the way for users to
cancel their subscriptions

--
"The whole of Japan is pure invention. There is no such country, there
are no such people" --Oscar Wilde

|_|0|_|
|_|_|0|
|0|0|0|

(\__/)
(='.'=)This is Bunny. Copy and paste bunny
(")_(") to help him gain world domination.

Chris Moffitt

unread,
Jan 28, 2013, 6:02:38 PM1/28/13
to satchm...@googlegroups.com
If there is an API through your processor, I would recommend going that route. Trying to create multiple billings via the looping method is problematic.

Unfortunately there isn't a way to change the recurring options through Satchmo. I'd definitely like to do it but haven't tried it yet.

-Chris



--
You received this message because you are subscribed to the Google Groups "Satchmo users" group.
To post to this group, send email to satchm...@googlegroups.com.
To unsubscribe from this group, send email to satchmo-user...@googlegroups.com.
Visit this group at http://groups.google.com/group/satchmo-users?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.



Tomas Neme

unread,
Mar 17, 2013, 8:11:04 PM3/17/13
to satchm...@googlegroups.com
> If there is an API through your processor, I would recommend going that
> route. Trying to create multiple billings via the looping method is
> problematic.

I'm finally working on this, and got to the cancelling the subscriptions bit.

In psigate there's two concepts that work together when using
recurring charges: charges and invoices

a charge is the description of a recurring charge: who is it charged
to, to which credit card, on behalf of whom, and possibly most
important: what items to invoice, and WHEN (monthly on the 17th,
annualy on the 1st of May, daily at 3 o'clock).

invoices are particular occurrences of the charges, and are a
representation of the actual charges on the user's credit card. They
are generated automatically by their system and you need to poll their
server to know whether the payments were accepted or failed (and act
accordingly, suspending a user's subscription, and so forth).

A PaymentRecord on the satchmo side would represent an invoice on the
psigate side

The thing is that in order to cancel a subscription, I need to cancel
the charge. I'm wondering where (in which model) could I save the
individual charge ID. It should be linked to the order, I think, and
would, with time, generate multiple PaymentRecords, every time the
subscription expires and is renewed.

Thanks
Tomas
Reply all
Reply to author
Forward
0 new messages