Reply
Highlighted
Member
Posts: 2
Registered: ‎11-14-2018

Handling authorizations, capture, profiles, etc. across multiple systems

Our current ecommerce website is basically front end to our ERP so that when our customers place orders and add credit cards on the website, all the processing -authorization, capture, etc.- and data storage is managed by the ERP in the backend. CC authorization is done by the ERP at order submission time and capture takes place only after the order ships.

 

We are migrating to a new ecommerce platform that will be separate from our ERP and are looking for guidance on how to address the following:

 

1. Authorize credit cards from the new website at order submission time but complete the capture (charge) at shipping time from the ERP.

2. In the event that an authorization expires after a web order was submitted to the ERP, we need the ERP to be able to get a new authorization. 

3. Since customers also have the option to call our customer service department to place orders and add new credit cards, we would like to make it so that all credit cards are available to the customer when using the website and to our customer service team while using the ERP regardless of how/where the credit cards were entered.

 

Based on conversations with our ERP partner it sounds like some of this may be possible using Authorize.net by doing things such as passing the authorizations from the website to the ERP but it is still not fully clear to us if all the above is possible or how all the pieces need to come together to make this work in a compliant manner.

Thank you for your help.

Highlighted
Developer
Posts: 30
Registered: ‎11-22-2017

Re: Handling authorizations, capture, profiles, etc. across multiple systems

Hi,

 

Thank you for reaching out to us.

 

Your particular business case is exactly the kind that we cater to. In fact, we have it as a standard case in our documentation: https://developer.authorize.net/api/reference/features/payment_transactions.html#Life_of_a_Transacti...

 

For your points, let me elaborate on them one by one.

 

Authorize credit cards from the new website at order submission time but complete the capture (charge) at shipping time from the ERP.

 

An authorization places a hold on the transaction amount in the customer’s issuing bank. No money is actually charged yet. For example, let’s say that the merchant is going to ship a physical product from their website. First they authorize the amount of the transaction. Then they ship the product. Only after the product is shipped then the merchant captures the transaction. This is a perfectly valid use case and can be done using our payment gateway.

 

 

In the event that an authorization expires after a web order was submitted to the ERP, we need the ERP to be able to get a new authorization. 

 

If no action is taken within 30 days, the authorization expires and is no longer available for capture. A new Authorization Only transaction has to be submitted to obtain a new authorization code.

 

If this happens and you have all the required data for creating a new authorization, you can always send a new request for authorization.

 

Once this is done then post the shipment of the product the authorized amount should be captured by calling “CapturePreviouslyAuthorizedAmount” API method. The transaction is submitted with the valid transaction ID (refTransId) of an original, successfully authorized Authorization Only transaction. The amount being requested for capture should be less than or equal to the original authorized amount. Only a single Prior Authorization Capture transaction can be submitted against an Authorization Only.

 

If it so happens that at this time, you are ready to actually capture the payment, you can always opt for an Authorize Capture transaction to finish off your customer's payment in a single request.

 

 

 

Since customers also have the option to call our customer service department to place orders and add new credit cards, we would like to make it so that all credit cards are available to the customer when using the website and to our customer service team while using the ERP regardless of how/where the credit cards were entered.

 

You can use our Customer Information Management (CIM) APIs to handle this part. Perhaps, you can create a customer profile for each of your customers where they can add their credit cards as and when required. Each credit card becomes a customer payment profile, which can then be used for making transactions.

 

 

Thanks.