Punch-out payment extension points

To implement punch-out payment integration, you need to create extension code for the following extension points.

Extension point Where the extension point is used Extension code implementation tips Request, Response formats Sample extension code location
approve_payment The checkout cart operation (POST cart/@self/checkout) calls the approve_payment extension point to authorize payment. The approve_payment extension code should return the updated financial transaction with its state set to 1 (pending) to initiate punch-out payment. PaymentApproveCmdUEInput,

PaymentApproveCmdUEOutput

The approvePayment method in workspace_dir/commerceue-app/src/main/java/com/ibm/commerce/order/ue/rest/PaymentResource.java
get_punchout_url The get punch-out payment information operation (GET cart/@self/payment_instruction/punchoutPaymentInfo) calls the get_punchout_url extension point to get the payment form URL. The get_punchout_url extension code should return the payment form URL.
Important: The encryptByMD5 method which was previously present in PunchoutPaymentUtil.java is no longer supported and has been removed.

Ensure that your extensions do not rely on this method.

GetPunchoutURLCmdUEInput,

GetPunchoutURLCmdUEOutput

The getPunchoutURL method in workspace_dir/commerceue-app/src/main/java/com/ibm/commerce/order/ue/rest/PaymentResource.java
process_punchout_response The callback operation (POST cart/@self/payment_instruction/callback) calls the process_punchout_response extension point to process callback parameters from the payment service provider. The process_punchout_response extension code should call the payment service provider to verify the callback parameters, return the response parameters with the parameter "punchoutTranResult" set to "successful", "failed" or "invalid", and update the extended data of the payment instruction to include additional information. ProcessPunchoutResponseCmdUEInput,

ProcessPunchoutResponseCmdUEOutput

The processPunchoutResponse method in workspace_dir/commerceue-app/src/main/java/com/ibm/commerce/order/ue/rest/PaymentResource.java