Hello,
Does anyone have advice on how to deal with the following scenario? I'll try to keep it as brief as possible.
My company is building a Magento storefront where we can sell products online. Our products are large and awkward and do not lend themselves to being shipped using standard boxes and shipping tables. We often ship products by motor freight as well. Our current process is: 1. take the order 2. pack the order 3. measure & weigh it 4. calculate shipping cost and add to order 5. process total payment for order & shipping 6. upon successful payment, ship the order.
With the new online storefront, we are trying to figure out how to have the customer checkout but not actually process the credit card until we are able to add shipping charges to the order. After speaking with Authorize.net, it sounds like there are a few ways to do this, but wanted to get some thoughts and opinions from those that have done it or are doing something similar now. To complicate matters further, we use in-house inventory software that receives the order from Magento which then gets passed to our shipping department. Our hope is to ammend the order with the shipping amount (and possibly tracking info) and pass it back to Magento where the payment can be processed and finalized.
We need to be able to increase the order amount but we do not store credit card numbers so must somehow have the order in a pending status. Two suggested methods were CIM and Authorize Only transactions but I know very little about how this would work.
Any example sites/companies that do this or advice is greatly appreciated.
Thanks!
02-12-2015 09:00 AM
With that you can only use CIM, because you can NOT increase the amount for a Authorize Only transaction.
02-12-2015 09:17 AM
After talking with Authorize.net, my understanding of an Authorize Only transaction was that a dollar amount would be sent in a "first signal" to Authorize.net and held in a pending status. Then, there is a duration of time (30 days, etc.) during which a new total could be sent in a "second signal" which by default voids the first amount. It is held open for 30 days during which time if there were an error, one could send yet a "third signal" to void the second one. When the amount is correct, usually after the second signal, the process can be completed and the status changes to settlement. This method is much like how gas stations will send a pending charge of $1.00 but then once the charge is settled it is for the actual amount of fuel purchased. Some CC institutions don't show their customers pending settlements so often times people will not even see them and will just see a final charge. While this method seems a bit cumbersome, it sounds like it would still work.
02-12-2015 12:23 PM
Unless they change that without updating the doc
from AIM pdf http://developer.authorize.net/api/aim/
Prior Authorization and Capture
02-12-2015 01:50 PM - edited 02-12-2015 01:51 PM
Hello @gimmer
@RaynorC1emen7 is correct that you cannot capture more than the original authorization. However, you can accomplish your task using createTransaction and payment profiles.
Richard
02-12-2015 03:27 PM
Hi RichardH,
Thanks for your reply. Is what you are describing different from CIM? If so, how does it differ? Do you see an advantage of doing it one way versus the other?
CIM appears to store credit card information in a customer profile held with Authorize.net. When you said "You'll want to collect and store the profile information in your application", are you referring to Magento since that is what we are using? To clarify, we do not want to be the ones storing credit card info.
Thanks!
02-13-2015 12:58 PM
When you create a CIM profile, it returns a values in the profileResponse that you use for subsequent transactions. You will need to store these values for any new transactions.
You can see more information in our API Reference here: http://developer.authorize.net/api/reference/#payment-transactions-authorize-a-credit-card
Richard
02-13-2015 01:12 PM
Thanks Richard,
So, do these values in the profile response get passed to and stored in Magento? My developers and I will take a look at that link and see what we can figure out. I appreciate all the advice!
02-23-2015 01:09 PM