- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Authorize amount and update the autorization amount before capture it
On our system, the users can reserve to an event for a few days in the future (for that we authorize the transaction with event value), then the capture of the money is made after the user attended the event, only if the user attended it.
Now we are implementing extensions for the events. On this new feature the users could extend the service when they are the event, also the user can buy the extension multiple times. So, we need to charge the user for more money than the previously authorized for, and the amount will be updated each time a user buys a new extension. And is not all, also, it is a business requirement to generate only one charge on the user credit card.
Which is the best alternative to be able to implement this on Authorize.net.
Thanks
โ09-15-2017 08:29 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You won't be able to capture more than you authorized. In your case, probably better to create a Customer Profile and Customer Payment Profile with a createCustomerProfileRequest, then, once all of the charges have been calculated, do an authCaptureTransaction to charge the customerProfile:
<profile> <customerProfileId>{INT}</customerProfileId> <paymentProfile> <paymentProfileId>{INT}</paymentProfileId> </paymentProfile> </profile>
Certified Authorize.net developers
โ09-15-2017 11:57 AM - edited โ09-15-2017 12:02 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I don't understand. What should I do with the authorization? How can we be sure the money would be captured after the user got our service?
Let me explain better the system:
When the users register on our system they have to add their credit card. At that moment we create a customer payment profile using:
AuthorizeNet::API::CreateCustomerPaymentProfileRequest.new
So we already have the payment information of all our users. So at the moment of the reservation, we only need to authorize the transaction to be sure the user has founds to pay, and for that, we use:
AuthorizeNet::API::TransactionTypeEnum::AuthOnlyTransaction
And at the end of the event we capture the money by using:
AuthorizeNet::API::TransactionTypeEnum::PriorAuthCaptureTransaction
But now we need to update the amount of money we are going to charge at the end of the event. And that should be done all on only one charge on the user's credit card, as a business decision.
So, what flow do you suggest to we use to be able to do that, while we are sure that the money will be captured after finished the event (this last one is very important because we because we do the service before charge it to the user)
Thanks
โ09-15-2017 01:04 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You're in a better place where you already have the payment information / Customer Payment Profile.
Payment processors won't allow you to capture more than you authorize. You could however authorize for the most it could possibly be, then capture the actual lesser amount, but many customers would not like that, if they don't know what is going on. They might accept it, if you tell them in advance, we need to authorize for X amount, just in case, but you will only get charged the actual amount.
Certified Authorize.net developers
โ09-15-2017 01:43 PM - edited โ09-15-2017 01:53 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Isn't any way to change the amount of an authorization? Can we at least, authorize another transaction and the cancel the original authorization?
โ09-21-2017 05:23 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yes, you could authorize and capture a new transaction.
Certified Authorize.net developers
โ09-21-2017 05:28 AM