Certain APIs enable integration with external financial systems.
- executeCollection() - Processes individual requests for authorization and charging in the order the requests were created. If you need to process requests individually, you can call this API to carry out individual requests as required. This API calls the appropriate user exit to carry out payment processing.
- recordCollection() - Records the authorization and charging amounts processed for individual requests created by Sterling Order Management System. This is useful when you want to interface with external payment processing systems in a batch mode to process a group of requests and then update Sterling Order Management System with the results.
- processOrderPayments() - Invokes the requestCollection() API and executeCollection() API in a single call, which allows for online authorization of an entire order amount in order to avoid unnecessary expenses. The processOrderPayments() API takes a list of payment methods on the order.
- executePaymentTransactions() - Processes requests for authorization and charging before creating or confirming an order. Multiple payment requests are authorized or charged in the order the requests are made. This API verifies payment conditions before calling the appropriate user exit to carry out payment processing. If the API encounters an error during verification, it terminates the process without calling the user exit. If an error occurs while the user exit is processing, the API terminates the user exit and returns all successful payment transactions up to and including the first failed transaction.
- scheduleOrder() - Calculates when orders should be reauthorized.
- getOrderDetails() - Returns detailed information
about a specific order number from the transaction or history tables.
OrderLines, PriceInfo, OverallTotals, ChargeTransactionDetails, OrderStatus, and other order-related information.
- recordExternalCharges() - Records any authorizations and charging carried out external to Sterling Order Management System. This API is also used to record a payment received by an external system. An example is a buyer account that receives payment after a considerable period of time. The executeCollection API would have previously notified Sterling Order Management System that this charge is being processed asynchronously, then the recordExternalCharges API records the actual charge.
- requestCollection() API - Analyzes the order and determines the amount for which an authorization or charge request should be created.
- recordInvoiceCreation() - Records credit memos, debit memos or informational invoices against an Order. When a credit memo or debit memo is recorded using this API, it acts as a trigger for Sterling Order Management System to invoke settlement processes for the amount being invoiced. Sterling Order Management System does not do any payment processing for informational invoices created through this API. These invoices can be used to capture carrier claims and so forth which are actually processed through an external system but are recorded against the order for visibility purposes.
- createAccessToken - Generates a random and unique access token. This is used to authenticate calls to the payment validation system.
- manageChargeTransactionRequest and getChargeTransactionRequestList - These APIs manage the authorization process for the charge transaction request identifiers associated with an order. The getChargeTransactionRequestList API retrieves the charge transaction requests for authorization. The manageChargeTransactionRequest API also resets the authorization expiration date on the order to sysdate, which, in turn, enables the requestCollection API to determine the amount for which the authorization or charge request should be created. Each API call can simultaneously process multiple charge transaction requests for an order.
- computeRefundPayments() - Processes refunds against multiple sales orders. The computeRefundPayments API copies payment methods from the sales orders to the return order, derives new payment methods as necessary, aggregates across linked sales order and blind returns, limits refunds per sales order and supports transfer of funds to exchange orders.
- capturePayment() - captures the payment method information for an order. Depending on the payment type added, this API performs different actions. For example, some payment types require no processing, some require processing based on the available amount, and some may require support for zero dollar authorization instead of a full authorization.
For more information about these APIs and the events raised by them, refer to the IBM Sterling Order Management: Javadoc.