Java Payment System Upgrade

Follow these instructions to transition your SCMP payment system to send and receive HTTPS Simple Order API transmissions using the Java programming language. Upgrading your payment system to Simple Order requires you to download an API key from the
Business Center
.
If your system uses the
Cybersource
Java SDK to send API messages, there is an alternative upgrade method that only requires you to have to update the SCMP endpoint configuration in the SDK. For more information, see Java SCMP Client SDK Upgrade.
You must use Java 8 or later to implement this change.

Enable SCMP-to-Simple Order Conversion

The conversion kit method enables users with an SCMP payment system to maintain their SCMP system while using the Simple Order endpoint. When you send an SCMP request to
Cybersource
, the request is converted into a Simple Order request and then sent to the corresponding Simple Order endpoint. When
Cybersource
returns a Simple Order response, the response is converted into SCMP for your system to process it. This image demonstrates the conversion process:

Figure:

SCMP-to-Simple Order Conversion

Setting Up SCMP-to-Simple Order Conversion

Follow these steps to set up SCMP-to-Simple Order conversion.
  1. Add the SCMP conversion kit to your payment system. Retrieve the conversion kit files from the
    SCMPSampleClient
    folder in GitHub:
  2. Add the
    cybs.properties
    file to your application. Retrieve the
    cybs.properties
    file from the
    samples/scmp/SCMPSampleClient
    folder in GitHub:
  3. Update these parameter values in your
    cybs.properties
    file:
    • merchantID
      : Set to your production merchant ID used for commerce.
    • keysDirectory
      : Set to the file path that leads to your P12 certificate.
    • keyAlias
      : Set to your merchant ID (MID) name.
    • keyPassword
      : Set to your P12 certificate password.
    • sendToProduction
      : Set to one of these possible values to determine which environment your API request message is sent to:
      • true
        : production environment.
      • false
        : CAS environment.
    merchantID=test_mid keysDirectory=/user/oliver/keys/ keyAlias=test_mid keyPassword=test_password sendToProduction=true
    You can set other files at your discretion. See the comments in the
    README.md
    file to determine which values to change:
  4. After your SCMP payment software creates a request, replace your existing request to SCMP with a request to the
    processRequest
    method from the class in the
    Util.java
    file. Then pass your SCMP request as a parameter in the
    processRequest
    method.
    ICSReply scmpReply = Util.processRequest (scmpRequest, cyberProperties);
    If you do not have the
    Util.java
    file, it is available in the
    samples/scmp/SCMPSampleClient/
    src
    folder in GitHub:

Result

When you send an API request to
Cybersource
, the
processRequest
method converts your SCMP request into a Simple Order request. It then sends the converted request to the correct Simple Order endpoint. When you receive a Simple Order response from
Cybersource
, the response is converted into SCMP for your payment system to process.