cancel
Showing results for 
Search instead for 
Did you mean: 

Only Charge at shipment time

He guys, 

I am new to Authorize.net and I have a quick good question here :)

 

I know that my gateway will automatically submit a batch of successful transactions  daily at a predefined time for settlement. Now lets say I want to just authorize the user's card but actually charge them at the shipping time. How do I do that ? Is there like a status before "pending for settlement" status that I can set it, like "sucesful verified" or something like that only. And then I could flip the status of the transaction to  "pending for settlement" later when I ship out the products ?

 

Please let me know your solution to this common problem. 

 

Thanks!

 

 

 

fantomknight
Contributor
22 REPLIES 22

Greetings,

 

If you plan to ship the product within 30 days, you may perform what is called an "authorize only" (AUTH_ONLY) submission to the API.

After shipping the product,simply login to Authorize.Net and click the "capture" button to capture/settle the transaction.

 

You may also programmatically capture the transaction through the Authorize.Net API (PRIOR_AUTH_CAPTURE).

 

Thank You!

soundcommerce
Trusted Contributor
Trusted Contributor

ahh I see got it. Thanks

2 more questions:

 

1) any way to automatically renew an AUTH_ONLY transac by its id before it expires ?

 

2) I see we can only PRIOR_CAPTURE an AUTH_ONLY transac on the same or smaller amount.

In the event a customer added some more items, I would like to PRIOR_CAPTURE to a larger amount than originally submitted.

Any problem with AUTH_ONLY with a very large amount, lets say double the submitted total by customer, to leave room for additional items

on PRIOR_CAPTURE ? Would AUTH_ONLY a high amount would increase the chance to fail authorization step ?

does the amount at AUTH_ONLY matter at all?

 

Thanks!

 

1) No. You would need to do a new AUTH ONLY.

 

2) Using AUTH ONLY freezes the funds on a customer's credit card. So by freezing more then they requested not only do you limit their access to their own money, but you risk a chargeback because you froze more then you were allowed to. Only AUTH ONLY the amount you need. If their purchase is more then you orginially charged for ask for a new payment.


-------------------------------------------------------------------------------------------------------------------------------------------
John Conde :: Certified Authorize.Net Developer (Brainyminds) :: Official Authorize.Net Blogger

NEW! Handling Authorize.Net's Webhooks with PHP

Integrate Every Authorize.Net JSON API with One PHP Class (Sample code included)

Tutorials for integrating Authorize.Net with PHP: AIM, ARB, CIM, Silent Post
All About Authorize.Net's Silent Post

then what about expiration date? They dont look validated either. As long as I just need to enter some dates isnt it? Or some option i need to turn on for this validation ? 

 

Thanks!

Invalid or expired expiration dates do not necessarily mean a transaction will be declined. It's up to the issuing bank to decide if they will decline the transaction if the card is expired or an incorrect expiration date is provided. You will see transaction approved even with made up expiration dates. This doesn't mean it is a good practice as you open yourself up to chargebacks and will automatically lose with no recourse for recovery of funds. You also leave yourself up to prosecution for credit card fraud.


-------------------------------------------------------------------------------------------------------------------------------------------
John Conde :: Certified Authorize.Net Developer (Brainyminds) :: Official Authorize.Net Blogger

NEW! Handling Authorize.Net's Webhooks with PHP

Integrate Every Authorize.Net JSON API with One PHP Class (Sample code included)

Tutorials for integrating Authorize.Net with PHP: AIM, ARB, CIM, Silent Post
All About Authorize.Net's Silent Post

I do understand that "it is a good practice as you open yourself up to chargebacks and will automatically lose with no recourse for recovery of funds. You also leave yourself up to prosecution for credit card fraud." However, as you said its up to the issue bank to decide, there is nothing I can do on my side isnt it? I sure will provide the expiration date / year input for customers but once I submit them to the gateway I have no control if they will be validated all the time. And just to confirm there is no setting in my gateway to enhance this checking. So looks like all hope for the best in this expiration date thingy ?

If your user submits an incorrect expiration date that's just an error on their side and only a potential problem in-so-much-as it may result in a declined transaction. The bigger issues come into play if you intentionally submit an incorrect expiration date in the hopes of getting a transaction approved.

 

And there is no way to know if an expiration date is correct until you run a transaction. And even then you probably won't get a detailed response back to let you know the expiration is incorrect. But incorrect expiration dates occur infrequently and declines for it being incorrect occurs even less so I wouldn't worry about it too much.


-------------------------------------------------------------------------------------------------------------------------------------------
John Conde :: Certified Authorize.Net Developer (Brainyminds) :: Official Authorize.Net Blogger

NEW! Handling Authorize.Net's Webhooks with PHP

Integrate Every Authorize.Net JSON API with One PHP Class (Sample code included)

Tutorials for integrating Authorize.Net with PHP: AIM, ARB, CIM, Silent Post
All About Authorize.Net's Silent Post

" So looks like all hope for the best in this expiration date thingy"

 

when it really comes down to it the whole credit card system is based on hope - hope that the details are correct - hope that the card has  not been cancelled by its issuer - hope that the customer is who they say they are....

 

Seems to me that it is always a case of doing the best with the information you are given / have access to. And with that in mind, we draw lines of good practice and reasonable faith/hope.

Another issue I have is to charge customer transaction fee but there are qualified and non qualified transactions so I cant have a fixed rate. Is there anyway to know the transaction is qualified or none qualified before actually charging it ? I dont mind give them server two calls if needed.

 

Thanks!