Punch-out payment overview
You can integrate HCL Commerce with a payment service provider through
punch-out payment. With punch-out payment, the shopper enters payment information through a
third-party payment form. The payment form can be integrated into the HCL Commerce store
through iFrame, pop-up window, or redirect. In this model, HCL Commerce never receives or
saves any sensitive data such as credit card information.
Checkout flow for an integration with punch-out payment through a pop-up windows.
- Shopper submits the order and the store calls POST cart/@self/checkout to process the order.
- The API calls the approve_payment extension code with the financial transaction.
- The extension code returns the financial transaction with its state set to 1 (pending).
- The store redirects the shopper to the Order confirmation page.
- Shopper clicks the Pay button, which triggers a new pop-up window to the store’s PunchoutPaymentRedirectView.
- PunchoutPaymentRedirectView calls
GET cart/@self/payment_instruction/punchoutPaymentInfo
, which calls theget_punchout_url
extension code to get the URL of the third-party payment form. - The extension code returns the payment form URL.
- PunchoutPaymentRedirectView redirects the shopper to the payment form.
- Shopper enters the payment information on the payment form and submits.
- After the payment information is processed by the third party, the store calls
POST cart/@self/payment_instruction/callback
, with the payment processing result as JSON key-value pairs. - The API calls the
process_punchout_response
extension code to process the callback parameters. - The extension code returns the result of the financial transaction and updates to the payment instruction.
- The API updates the financial transaction and payment instruction accordingly in the database.
- The store redirects the shopper to PunchoutPaymentCallBackView.
Note: Shoppers cannot update an order once it is placed. Any
changes to the order after placing an order require operations to be performed
from the CSR tool.