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 Card
as the form of payment. The request is sent from ASA to ORMPOS Server.Order id
,store id
,register id
,session id
and CSCsessionConfirmation id
is sent to ORMPOS via theloadOrder
web service call.MPOS uses the
order id
and CSCsessionConfirmation id
to fetch order andsession id
details from CSC agent server via a web service call (fetchOrder
).ORMPOS creates the transaction. The ORMPOS
transaction id is
mapped to the Oracle Commerceorder id
and returned to Oracle Commerce.ASA uses a
getSaleTransaction
call to create the transaction.The ORMPOS
transaction ID
is 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
addTender
API.ORMPOS sends credit authorization service request to the POS Payment plugin (APF) indicating which iPad terminal number requires credit authorization services.
The ORPOS payment integration sends
FIPayEPS
aFIPay 100
which requests authorization services. The request includes terminal number, amount, transaction number, among other information.FIPayEPS
cross-references the terminal number to iPad device and opens a TCP/IP session with the Sled adapter.FIPayEPS
sends a command to the Sled adapter requesting card swipe on the Verifone e335.The
Checkout – Swipe Card
modal dialog 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
tenderLineItem
call is made, which triggersfiPayEPS
to 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 card swipe. The
Swipe Card
image displays on theCheckout – Swipe Card
modal dialog.The associate swipes the customer’s card in the Sled, and the
Payment Processing loading
modal displays.Once all required data is collected from the cardholder,
FIPayEPS
will send the authorization request to the processor for approval.FIPayEPS
sends theFIPay 101
result 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 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 Signature
modal dialog displays.The customer enters their signature on the iPad device and taps the
Accept
button. ASA sends the signature back to the ORMPOS server using theaddSignature
web service call and ORMPOS stores the signature for future reference.ORPOS sends transaction details to Oracle Commerce (CSC) using the
Paid
web service call.The
Checkout – Generate Receipts
modal displays and the associate selects to print or email the receipt.To print the receipt, ASA makes a call to 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.