[ic] Delayed Capture Payment

Ed LaFrance interchange-users@icdevgroup.org
Tue Sep 10 13:51:00 2002


At 10:30 AM 09/10/2002 -0700, you wrote:
>Has someone already done interface for Delayed Capture sale?
>
>I am using the Signio.pm module ( Payflow Pro with Verisign ).
>
>This requires that during the checkout process we authorize the sale for the
>total amount , ( this part is easy as we can change the C ( sale ) to D (
>authorize). )
>
>However, once the product is shipped, the administrator or the merchant will
>use the Admin UI , go to Pending orders, and will click on the (ship checked
>order lines) button.
>(http://****/cgi-bin/foundation/admin/order_status?mv_session_id=###########
>#)
>
>then you will be taken into the page:
>http://****/cgi-bin/foundation/ui.html?id=
>that shows: (View Order)  Order TEST0001 now complete (all xx lines). Email
>copy sent to *****
>we need to have the ORIGINID captured at the time of authorization and save
>it somewhere , and then when the order is shipped use the ORIGINID to do the
>sale.
>Any code that can get me started will be great..

I did something similar for a client, though it was even more complicated 
than that. I believe You can change the transaction type for the initial 
order submission simply by setting mv_cyber_mode to mauthonly at checkout, 
either in a hidden input or with an mv_click. You'll need to add a field or 
two to the transactions table, and modify etc/log_transaction, so that the 
ORIGINID is saved with the other order data. Then you'll just override and 
modify pages/admin/order_status.html to do a [charge mode=signio param=...] 
call for the delayed capture when you mark the order as shipped. Do a 
perldoc VENDROOT/lib/Vend/Payment/Signio.pm for more info.

It gets more involved, though. The auth will not live forever, it expires 
after a while if you don't follow up with the capture; I have found both 
Verisign and merchant banks to be real cagey about the actual cutoff time, 
and in fact it seems it can vary. Ideally your delayed capture code would 
sense the expired auth error, and automatically do a new charge (immediate 
capture) for the order. I have done it, but it has been a while, so sorry, 
no code samples.

- Ed L.


===============================================================
Increase profits from your Interchange store...
http://www.newmediaems.com/cgi-bin/nm/software_fus.html
===============================================================
New Media E.M.S.               Software Solutions for Business
463 Main St., Suite D          eCommerce | Consulting | Hosting
Placerville, CA  95667         edl@newmediaems.com
(530) 622-9421                 http://www.newmediaems.com
(866) 519-4680 Toll-Free       (530) 622-9426 Fax
===============================================================