I am working on a website that allows the users instant access to digital products upon completed orders with authorized credit card payments.

For the purpose of added security I do not use autocapture.

As far as I can see the Quickpay module does not offer some way of pulling a trigger upon completed credit card authorization (but before manual payment capture)

What I have done is to hack the module so that it will actually make a payment authorization appear as a true payment. This will pull the trigger 'payment received'.

It works, but it's a dirty hack.

How about adding a workflow state 'payment_authorized' and a new trigger 'Payment authorization'?

Comments

xen’s picture

Status: Active » Postponed (maintainer needs more info)

Assuming you're talking about Übercart, as there's no EC version for D6 yet..

Orders should be 'pending' after submission. Also, the module logs a zero payment for the order, in order to log the fact that payment has been authorized.

The workflows are the responsibility of UC, and are configurable under admin/store/settings/orders/edit/workflow. Also, triggers can be configured at admin/store/ca/add, why can't you use Customer completes checkout there?

xen’s picture

Status: Postponed (maintainer needs more info) » Fixed

No further info, assuming fixed.

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.

bjaxelsen’s picture

Category: feature » support
Status: Closed (fixed) » Active

Yes, this is Übercart

Well, in this case the customer has the possibility of paying by invoice or by credit card. If the customer decides to pay by invoice then it will pull the trigger 'Customer completes checkout'. But this does not mean that the customer has paid yet.

So I thought it would be nice if there could be a trigger 'Payment authorized'. At admin/store/ca/add I can only add a predicate, not a trigger.

I was not aware of that zero payment means authorization. So are you saying that I could use the 'Customer completes checkout' trigger and check if there is a zero payment - that would give the same result? That would be just fine.

xen’s picture

"Well, in this case the customer has the possibility of paying by invoice or by credit card. If the customer decides to pay by invoice then it will pull the trigger 'Customer completes checkout'. But this does not mean that the customer has paid yet."

Technically speaking, the same goes for authorization. Authorization is only a promise that you can later withdraw the specified amount from the users card. Just as an invoice order is a promise from the user that they'll later pay the bill. What you want is a special case for credit card orders.

"I was not aware of that zero payment means authorization. So are you saying that I could use the 'Customer completes checkout' trigger and check if there is a zero payment - that would give the same result? That would be just fine."

Well, no, you can't check for a zero payment with the current conditional actions. However, you can create a 'Customer completes checkout' trigger that checks whether the payment method is QuickPay. As you can't complete the checkout process using QuickPay, without authorizing a payment, it's basically the same as a 'payment authorized' trigger.

You should also be able to create a new order status, and let the trigger set the order status of the order, if you want to keep credit card and invoice orders apart.

AFAIR, no other gateway module uses a authorization status, and the quickpay module tries to work like any other of the payment modules.

xen’s picture

Status: Active » Closed (fixed)
xen’s picture

Status: Closed (fixed) » Fixed

Too quick there...

bjaxelsen’s picture

Thanks :-)

you can create a 'Customer completes checkout' trigger that checks whether the payment method is QuickPay

Fine - I did not see that this would do the job. It works fine and I have removed my dirty hacks.

xen’s picture

Great.

It would be nice if UC had a general way to trigger on authorization, but then again, you'd probably want to deal with cash on delivery as you would authorized credit card payments, while not for bank transfers. And then there's some that might want to consider invoiced orders from some registered customers as 'authorized' while not for others. So it would require a bit more thought about what kind of trigger that's really needed and how and where to implement it.

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.