Process: Prime payment

Flow

Legend

Prime payment

Objective

Execute the payment actions based on business policy, and validate the method of payment.

Description

This is the process of initializing a payment from a customer. This payment will require authorization now or later and will subsequently need to be captured. The default behavior at this initialization stage is to validate the purchase order, check the purchase-order spending limit, and authorize with an external accounting system. Having done this, payment actions are executed (based on business policy) that will further validate the method of payment from a customer. If WebSphere Commerce Payments is being used, this may result in an authorization and even a capture (deposit) if a credit card is being used. The payment actions are determined by configuration settings. When a check is the payment method, validation implies a deposit action.

The intent of the process is to validate a method of payment from a customer during order processing after an order has been submitted at checkout time. The actions that are actually executed are based on the payment-policy command being used and the dictates of the payment integration being used.

Features

Customization

Alternate methods of purchase-order validation and purchase-order spending-limit checking can be added through customization. An extension point is provided for integration with an external accounting system.

Edition

Professional, Business Edition

Subprocesses

Tasks

Task Description Role
Validate with external account syst

A task to authorize the payment against the customer account through an external accounting system. This is an extension point.

System
Validate payment policy

Check if a payment policy is associated to all contracts to all the order items

Checks if the Payment Policy ID specified is valid for the Order. A Policy is valid if all Trading Agreements associated with the OrderItems include a Payment TC that specifies this Policy and if the specified TC includes a billToAddress and pre-defined attributes, all the other Trading Agreements must have a compatible TC that specify the same billToAddress and attributes. Trading Agreement with no Payment TC could use any Payment Policy unless the Policy has an exclude-from-defaultTC or require-explicit-TC clause.

System
Handle payment authorization denied

Display an error view to the buyer if the PO number is not valid or the PO spending limit has been exceeded.

System
Validate purchase order

Validate the purchase-order number and checks the purchase-order spending limit.

ValidatePONumber:

  • Checks the buyerPONumber against predefined purchase orders (limited or blanket purchase order) in the trading agreement (of the account). If the buyerPONumber is one of the predefined purchase orders but the purchase order is no longer active, it then throws an ECApplicationException.
  • If the buyerPONumber is not a predefined purchase order and individualPO is not specified for the trading agreement, then the buyerPONumber is invalid. It throws an ECApplicationException.
  • If the buyerPONumber is not a predefined purchase order and individualPO is specified for the trading agreement (of the account), it makes sure that this "individual" purchase-order number has not been used for this account if uniqueness is in the purchase-order TC (POTCIndividual). Otherwise, it throws an ECApplicationException.

CheckPOSpendingLimit:

  • Checks to see whether or not the spending limit of the purchase order would be exceeded.
  • Records of the purchase amount of purchases registered against a limited purchase order are kept in the same currency specified for the limited purchase order. These records are kept in the LPOPURAMT table. (Note that the currency specified by the limited purchase order must not change once the purchase order is used for any purchase.)
  • Purchases can be made using different currencies. Checking involves doing a currency conversion if necessary and then checking.
  • If the check fails, the command throws an ECApplicationException.
System

Business artifacts

Feedback