Manage credit card payments in customer order entry

This document explains how to manage credit card payments for customer orders. A solution exists for the third-party provider CenPOS, for other providers custom integration utilizing standard APIs is required. This document covers the authorization process, capturing funds after invoicing, and handling of credit orders.

Background

M3 Business Engine supports credit card payments in customer order entry using third-party providers. There are two options for credit card processing:

  1. CenPOS integration: Built-in integration with CenPOS as the third-party provider. For more details regarding the CenPos integration, see Manage Credit Card Payments with CenPOS in Customer Order Entry.
  2. Custom integration: Integration with other third-party providers through utilization of standard APIs.

This document provides an overview of the credit card management process, with specific details for both integration options.

Before you start

These conditions must be met before using the credit card functionality:

  • The starting conditions mentioned in Entering a Customer Order: Normal Order Entry must be defined.
  • The settings from Configure credit card management interface must be defined.
  • Payment class 03 (Bank transfer) must be defined in 'AR Payment Method. Open' (CRS076) for the payment method to be used.
  • The 'Credit card' check box in (CRS076) must be selected.
  • All the values for the payment term used must be set to zero in 'Payment Term. Open' (CRS075).

For CenPOS integration

  • In 'User. Open' (MNS150), set the company and division to the company and division that the customer order in 'Credit Card Authorization. Open' (CRS435) is connected to.
  • (CRS435) is personalized with a script that controls the connection to CenPOS POS integration system.
  • To activate verification at pick list release when third-party provider is CenPos, the 'Credit check at picking release' check box must be selected in 'Dispatch Policy. Open' (MWS010).

For custom integration

  • Custom scripts to handle communication with the third-party provider must be developed.
  • API integration to insert credit card transaction information into M3 must be configured.
  • The 'Credit check at picking release' check box must not be enabled in (MWS010), otherwise the customer order is to be blocked during picking release.

Limitations

  • Only CenPOS is fully supported as third-party provider.
  • For other providers, custom integration utilizing standard APIs is required.
  • Each implementation must secure its environment and the interface to its specific credit card management software.

Managing credit card payments in customer order entry

Entry of a customer order with a credit card payment

  1. Start 'Customer Order. Open' (OIS100).
  2. Specify a customer order with a payment method configured for credit card processing.
  3. After the order lines are generated, click Close to proceed to (CRS435).
  4. For CenPOS integration

    1. Click F16='Submit' to launch the CenPOS POS system.
    2. In the CenPOS POS system, specify the credit card details and click the Submit button.
    3. (CRS435) is automatically displayed along with the reference number and the result from CenPOS.
  5. For custom integration

    1. A custom H5 script must be added to manage communication with the third-party provider.
    2. F16='Submit' triggers the H5 script.
    3. The reference number from the third-party provider must be added to M3 using API calls.
    4. Refreshing the page displays the reference number and the result from the provider given that reference has been correctly updated using M3 API.

Authorization approved

  1. If the authorization is approved, then exit (CRS435/E). Once the credit card information is authorized, the third-party provider, the reference number, and the amount are updated.
  2. The result field is updated with 'Approved' status.
  3. Process the customer order to status 77='Invoiced'. See Invoice Customer Order Manually.
  4. Start 'Credit Card Capture. Open' (CRS436).
  5. On the B2 panel, check for the transaction status of the invoiced customer order.
  6. The transaction status is updated to 20='New'.
  7. For CenPOS integration

    1. To proceed with the capture transaction, select option 21='Send for capture'. If the capture transaction is approved, it is set to status 90='Finalized'.
      Note: For CenPos, use F14='Submit for capture' to submit all transactions that are ready for capture, or submit from 'Credit Card Capture. Submit' (CRS444).
  8. For custom integration

    1. The capture transaction is performed outside of M3, and the reference must be updated to M3 using the standard API CRCCINMI (Credit Card Interface).

Authorization not approved

  1. If the authorization is not approved, the customer order is stopped, and the credit card status is updated to 15='Error'.
  2. To locate the stopped customer order (stop code=3), start 'Customer Order. Stop' (OIS120) or 'Customer Order. Toolbox' (OIS300).
  3. Click option 20='Cred card auth' to start (CRS435).
  4. On the A panel, select option 11='Authorize' or 12='Reference Authorize'.
  5. For CenPOS integration

    1. Submit the transaction through the CenPOS interface as described earlier.
    2. When you exit (CRS435) with an approved authorization, the customer order is released (the stop code is changed to 0).
  6. For custom integration

    1. For transaction type 'Authorize', perform a new authorization as described earlier.

      For transaction type 'Reference authorize', the transaction must be performed outside of M3. The reference is updated to M3 using the standard API OIS100MI (Customer Order interface).

    2. When you exit (CRS435) with an approved authorization, the customer order is released (the stop code is changed to 0).

Manage credit card payments for credit orders

  1. Start (OIS100). You can also manage credit card payments for credit orders in 'Customer Returns. Open' (OIS390). See Register Customer Return.
  2. Copy the existing customer order for which a credit order must be created. See Copy Customer Order or Quotation.
  3. On (OIS100/A), change to a CO type with customer order category 2='Credit order – only credit order lines allowed' and press Enter.

    The customer order details are copied to the credit order.

    When you create a credit order (with Order category=2 and Payment method=Credit card) by copying an existing customer order with a credit card reference number on it, a delayed capture (or sale) reference number is retrieved from OINVOH and copied to the customer order header of the credit order.

    The first found reference number in OINVOH with status Finalized (90) in table CRCCCT is retrieved, regardless of what program is used to create the credit.

  4. On 'Customer Order. Copy' (OIS106/B), select the order line(s) to be credited and click Close.
  5. On 'Customer Order. Open Line' (OIS101/B1), the order line is updated with the negative quantity.
  6. Click Close and process the credit order to status 77='Invoiced'.
  7. Specify the invoice number on (CRS436/B2) and check for the transaction status.

    The transaction has status 05='Credit'.

  8. To repay the amount to the credit card, select the Credit option.
  9. For CenPOS integration

    1. On CRS435/E, click F14='Submit transaction' to submit the Reference Credit transaction to CenPOS.
    2. To confirm the submission, click OK. If the transaction is approved, funds are transferred back to the credit card.
    3. Click Close and check for the transaction status in (CRS436/B2).
      Note: A new transaction record is created for the invoice. The statuses of both transactions are updated to 90='Finalized'.
  10. For custom integration

    1. During invoicing of the credit order a record of type external credit will be created in (CRS436).
    2. The reference credit transaction is performed outside of M3 and the reference must be updated to M3 using the standard API CRCCINMI (Credit Card Interface).
      Note: A new transaction record is created for the invoice. Both transactions' statuses are updated to 90='Finalized'.

Credit card capture

  1. Process the customer order to status 77='Invoiced'.
  2. Specify the invoice number on (CRS436/B2) and check the transaction status.
  3. The new transactions can have status 05='Credit', 15='Error', 20='New', or 90='Finalized'.
  4. To submit a transaction with status 20='New' for capture, click F14='Submit for capture'.
  5. When a capture is performed and status approved is received from CenPOS, the capture transaction is set to status 90='Finalized' because CenPOS performs all checks directly.
  6. If the delayed capture is approved, a new record with transaction status 90='Finalized' is created and the transaction status of the old record is also updated to 90='Finalized'.
  7. For CenPOS integration

    1. If the delayed capture is not approved, the transaction status of the record is updated to either 25='Communication error at capture' or 15='Error'.
      Note: Transactions with status 25='Communication error at capture' are also sent for capture.
  8. For custom integration

    1. The capture transaction is performed outside of M3 and the reference must be updated to M3 using the standard API CRCCINMI (Credit Card Interface).

Outcome

These tables are updated during credit card processing:

  • Credit Card Authorization Transactions (CRCCAT)
  • Credit Card References (CCREFE)
  • Credit Card Capture Transactions (CRCCCT)
  • Invoice Header (OINVOH)
  • Payment Reference Numbers (FIRCON) with the reference number

Payment by credit card is accepted during customer order entry, however, partial payments from multiple cards are not accepted for the same delivery, and cash discounts are not supported when credit cards are used.

The credit card information is authorized and is used to reserve funds during customer order entry.

After invoicing, a delayed capture is issued, and when the payment is later received, it is matched with the correct record in Accounts Receivable.