What are Pre-Authorized Payments?
Pre-authorized payments authorize a customer’s credit card for payment without charging the card. It is essentially a temporary hold placed by a merchant on a customer’s card. This hold delays payment until each Item in an order ships. The hold is then “captured“ and converted to funds. A good example is paying for a hotel stay. You provide your credit card at check-in, but you aren’t charged until checkout is completed.
Creating Pre-Authorized Payment Items
An Item needs to be designated as requiring a pre-authorized payment in order for a pre-authorized payment to occur. Check Require PreAuthorized Payment on the Item record to indicate that it will require a pre-authorized payment in order to purchase. This will require the purchasing user to save a Payment Method when purchasing this Item. Since Items designated for pre-authorized payment do not complete payment until they are shipped, pre-authorized payments are only appropriate for Items with Shipping enabled.
Require Authorized Payments Field
Require Authorized Payments is a system field that will require the user to develop their own custom program following Fonteva's business rules in SOL 2-3 of the Use Case at the bottom of this page (Require_Authorized_Payment__c = true) to charge for the item. The system processes the future payments for Items to be shipped by creating the child ePayment record, saving it, checking the Process Payment checkbox, and saving again. By using a checkbox, the system can bulk process payments when multiple Items are shipped at once. This process is completed by user-developed custom program to charge the item, which is required for pre-authorized payments to work.
Paying Pre-Authorized Payments
When a user navigates to the Checkout page in the Community Portal or Apply Payment page on the backend with an Item designated for pre-authorized payment in their cart, they will automatically be required to save their Payment Method. A saved Payment Method is required for pre-authorized payments because payment is delayed until shipping like we mentioned earlier. The Save Payment Method checkbox will automatically be checked and grayed out when an Item with pre-authorized payment required is in your order. This will disregard any global configuration in place to prevent saving payment methods. Removing this Item from your order will update the Save Payment Method checkbox so it can be modified again.
After checking out, the Payment Method is saved to apply payment when the Item designated for pre-authorized payment ships.
When multiple Items are included in an order and only one requires pre-authorization payment, two ePayments will be generated: one for the entire order, and one for the Items in the order that do not require pre-authorized payment. The second ePayment for Items that do not require pre-authorized payment will be charged, and a Receipt will generate. The pre-Authorized Items will be charged when they ship. Since this is a partial payment, the order type will also be converted to an Invoice.
When an Item includes Package Items, the Parent Item will determine if the order gets pre-authorized. If the Parent Item require pre-authorized payment, pre-authorized payment will be required for the Package Items as well. If the Package Items require pre-authorization, pre-authorized payment will not be required.
Only one order with a pre-authorized Item can be paid at a time. Multiple orders that include pre-authorized Items cannot be paid at the same time at this time. If you attempt to pay for multiple orders that include pre-authorized Items, you will receive an error message.
A customer purchases Event registration and two Additional Items with Shipping.
A Sales Order is created (Is_Pending_Payment = true) with 3 Sales Order Lines (SOL) for a total of $60
SOL 1 - Event registration Item ($10)
SOL 2 - Item to be Shipped 1 ($20) (Require_PreAuthorized_Payment__c = true)
SOL 3 - Item to be Shipped 2 ($30) (Require_PreAuthorized_Payment__c = true)
On checkout, the Sales Order is Posted
All $60 is processed as an "authorization", but only $10 is paid from their account checkout. The remaining $50 will be "captured" (processed) when the item(s) ship. The system will know that the Item has been shipped based on the custom program that you set up. The admin will need to verify steps 4-6 are handled by the custom solution.
E-Payment 1 (Type = Authorize, Succeeded = false) with 3 E-Payment Lines (EPL)
EPL 1 - (for SOL 1) $10
EPL 2 - (for SOL 2) $20
EPL 3 - (for SOL 3) $30
E-Payment 2 (Type = Capture, Succeeded = true) with 1 E-Payment Line (EPL) for the Event Registration being paid NOW
EPL 1 (for SOL 1) $10
Receipt with 1 Receipt Line (RL) for the Event Registration being paid NOW
RL (for EPL 1) $10
The next day, the staff user or system (based on the configuration) indicates that Item to be Shipped 1 has been shipped
New E-Payment as a child of E-Payment 1 (Type = Capture) with 1 E-Payment Line (EPL) for Inventory Item 1
EPL 1 (for SOL 2) $20
The day after that, the staff user or system (based on the configuration) indicates that Item to be Shipped 2 has been shipped
New E-Payment as a child of E-Payment 1 (Type = Capture) with 1 E-Payment Line (EPL) for Inventory Item 2
EPL 1 (for SOL 3) $30
The Is_Pending_Payment field on the Sales Order is unchecked (false)