Manage Credit Card Payments with CenPOS in Cash Desk
A solution exists in M3 Business Engine to support credit card payments in cash desk using the third-party provider CenPOS. The solution enables CenPOS POS integration system to perform a credit card transaction from 'Cash Payment. Open' (OIS215).
This document describes this integration to CenPOS.
Before you start
The prerequisites defined in Manage Credit Card Payments with a Third-Party Provider in Cash Desk must be fulfilled.
Limitations
- M3 supports only the transaction types mentioned in this document.
- If partial payment is performed, tax information for the partially paid invoice is not sent to CenPOS.
- Result message provided from the third-party provider or from the JavaScript is not translated.
- In the level III data, information about items paid is not included. The detail information includes the invoices paid. VAT rate is not included because several rates can exist in one invoice.
- There is no functionality for the card option setting from 'AR Payment method. Open' (CRS076) in the integration with CenPos.
CenPOS transaction types supported by M3
Transaction type |
Description |
---|---|
Credit |
A credit card transaction is performed with this transaction type. A blind credit is applied to the credit card account without referencing the previous transaction. The credit transaction is used if the payment amount is negative. |
Sale |
A sale transaction is performed with this transaction type. A credit card sale transaction authorizes a payment of a specified amount and captures that transaction in the current batch for settlement. |
Void |
A credit card void transaction is performed with this transaction type. A credit sale transaction is removed from the existing batch so that the customer will not be charged. The void transaction can be done on a sale and a credit transaction. |
CenPOS specific functionality
In 'Cash Payment. Open' (OIS215), the e-mail and send slip fields are displayed. If the send slip field is activated, a mail from CenPOS with the slip receipt is sent to the specified e-mail address. If the send slip is deactivated, the slip receipt is sent and displayed in CenPOS.
Technical solution
After personalization in (OIS215/B) and D panel, the user specifies the cash received and presses Enter. A JavaScript is then run to create the URL to CenPOS.
A check is performed and if the third-party provider is not CenPOS, the result message field in the (OIS215) view is updated with the message "The third-party provider is not supported."
A check is also performed to confirm if the user has specified the invoices to pay before processing the payment. If the invoices have not been specified, a stop message "No invoices for payment exist" is displayed.
The JavaScript receives information from the (OIS215) view (payment number, payer, third-party provider, third-party id, e-mail, send slip, and cash received) in addition to information from various MI programs.
Credit card details can be configured in XML on the Cash Desk receipt printout (OIS213PF).
MI programs used
- CRS610MI Get Address
- OIS215MI LstCrCrd (retrieves level III information)
- OIS215MI ValidateCCdata checks for incorrect inputs before the third-party provider is started. If there is a warning or stop message, the MI program will say NOK and the user is returned to (OIS215).
- CRS434MI Get3rdPartyId.
When a response URL is retrieved from CenPOS, M3 Business Engine is updated with the information retrieved from CenPOS using OIS215MI AddPayment. The result code and message is specified using OIS215MI Add3rdpResult.
Commercial card information
Additional information is sent to CenPOS to support commercial cards for sale transactions. The information is divided into header and line information. In cash desk, several invoices are paid so the header information shows the total payment performed. The VAT invoice reference number is the Payment number retrieved in (OIS215) at the entry of the payment. The VAT invoice reference number is stored in Entry Payment number field in OPAYMH.
The numbers of all the invoices that are paid are defined in the ItemCommodityCode field. The VATtaxamountrate is not specified because several VAT rates can exist in one invoice.
Header |
Mapping from M3 |
---|---|
CustomerCode |
PYNO from OIS215 |
ShiptofromZIPcode |
PONO from OCUSMA OIS610MI: GetBasicData |
Destinationcountrycode |
CSCD from payer CRS610MI: GetBasicData |
VATinvoicereferencenumber |
Payment number from OIS215 UI |
VATtaxamountrate |
Not used |
Freightshippingamount |
Not used |
Dutyamount |
Not used |
Orderdate |
Payment date (PYDT) from OIS215 UI |
Discountamount |
Not used |
Lines |
|
ItemCommodityCode |
Invoice number paid Take from OIS215MI LstLineCrCrd |
ItemDescription |
Not used |
ItemSequenceNumber |
Not used |
LineItemTotal |
The paid amount for the invoice Take from OIS215MI LstLineCrCrd |
ProductCode |
Not used |
Quantity |
Not used |
Selected |
True |
UnitCost |
Not used |
UnitofMeasureCode |
Not used |