This section details the data flow between ASA, CSC, and ORMPOS.

Technical processing flow during an ORMPOS transaction
When the associate logs on to ASA, ASA makes a login call to ORMPOS and sends ORMPOS the unique device ID (
indentifierForVendor). ORMPOS maps the unique device ID to a store and register and sends Oracle Commerce back the store and register IDs which are saved locally on the iPad device. This can also be configured in the setting bundles and plist.Immediately following login and before adding an item to the cart or starting a transaction, ASA makes a call to ORMPOS via the register API. This opens the register.
The associate completes the sales process and selects
Swipe Cardas the form of payment. The request is sent from ASA to the ORMPOS server.Order id,store id,register id,session idand CSCsessionConfirmation idis sent to ORMPOS via theloadOrderweb service call.MPOS uses the
order idand CSCsessionConfirmation idto fetch order andsession iddetails from CSC agent server via a web service call (fetchOrder).ORMPOS creates the transaction. The ORMPOS
transaction id ismapped to the Oracle Commerceorder idand returned to Oracle Commerce.ASA uses a
getSaleTransactioncall to create the transaction.The ORMPOS
transaction IDis returned to Oracle Commerce and saved locally to the iPad device to be used in subsequent requests.ASA makes a call to ORMPOS using the
addTenderAPI.ORMPOS sends credit authorization service requests to the POS Payment plugin (APF) indicating which iPad terminal number requires credit authorization services.
The ORPOS payment integration sends
FIPayEPSaFIPay 100which requests authorization services. The request includes the terminal number, amount, transaction number, among other information.FIPayEPScross-references the terminal number to iPad device and opens a TCP/IP session with the Sled adapter.FIPayEPSsends a command to the Sled adapter requesting card swipe on the Verifone e335.The
Checkout – Swipe Cardmodal dialog box launches, displaying:Contacting Credit Authorization Services…and the loading spinner.The AJB Sled adaptor starts the Sled and connects to the configured payment server and the
tenderLineItemcall is made, which triggersfiPayEPSto begin communicating with the Sled to request a card swipe.The Sled adapter opens up the Sled using the Verifone framework and passes through the request for a card swipe. The
Swipe Cardimage displays on theCheckout – Swipe Cardmodal dialog.The associate swipes the customer’s card in the Sled, and the
Payment Processing loadingmodal displays.Once all required data is collected from the cardholder,
FIPayEPSwill send the authorization request to the processor for approval.FIPayEPSsends theFIPay 101result from the approval request back to the Sled adapter and to the POS Payment Plugin (APF).The ORMPOS Server receives a return code from the POS Payment Plugin (APF).
The ORMPOS Server matches the response to a request and sends the result back to the ASA Client.
The return code is mapped into one of the following categories:
•Request Approved
•Request Declined
•Request Partially Approved
•Request Referred
•Positive ID
•Timeout
•Offline
•Error – Retry
If a signature is required, the
Checkout – Capture Signaturemodal dialog boxdisplays.The customer enters their signature on the iPad device and taps the
Acceptbutton. ASA sends the signature back to the ORMPOS server using theaddSignatureweb service call and ORMPOS stores the signature for future reference.ORPOS sends transaction details to Oracle Commerce (CSC) using the
Paidweb service call.The
Checkout – Generate Receiptsmodal displays and the associate selects to print or email the receipt.To print the receipt, ASA makes a call to the ORMPOS server using the
SaleTransactionWebService#printReceipt(…)web service with the URL, for example:@Path("{storeID}/{registerID}/{txnID}/printreceipt?printerID=LAZERJET1")Oracle Commerce (CSC) updates the order repository for all successfully transacted orders and part of the
MPOSIntegrationActor“paid” web service when ORMPOS makes the request, and then adds the payment groups to the order and submits the order for processing.

