On This Page
SCMP Mandate Compliance for HTTPS Upgrade Migration Guide
Audience and Purpose
This guide is written for merchants who need to upgrade their SCMP API payment system to
send Simple Order API messages to and receive them from
Cybersource
.Convention
This statement appears in this document:
An
Important
statement contains information essential to
successfully completing a task or learning a concept.Customer Support
For support information about any service, visit the Support Center:
Recent Revisions to This Document
25.04.01
Retitled guide from
SCMP-to-Simple Order Conversion Migration Guide
to SCMP
Mandate Compliance for HTTPS Upgrade Migration Guide
.Added additional details about the security updates and requirements in the introduction.
See Introduction to SCMP Mandate Compliance for HTTPS Upgrade.
Added new section explaining how to upgrade the
Cybersource
Java SCMP
Client SDK. See Java SCMP Client SDK Upgrade.25.03.01
Initial release.
Introduction to SCMP Mandate Compliance for HTTPS Upgrade
The HTTP SCMP endpoints will be decommissioned on April 30th, 2025, as a part of a
Cybersource
security update, and only these SCMP HTTPS endpoints will be
valid:- Test:ics2test.ic3.com
- Production:ics2.ic3.com
This migration guide explains how to upgrade your SCMP payment system in order to remain
compliant with the security update and avoid service disruptions.
Upgrade Methods
Depending on the library you integrated your payment system with, you can complete
this upgrade using one of these methods:
- Java SCMP Client SDK:This method only requires you to update the endpoint configuration in your Java SCMP Client SDK to HTTPS. Only the Java SDK version 5.4.0 is valid for this upgrade.
- Conversion kit for Simple Order API:This method uses a conversion kit to upgrade your SCMP payment system to a Simple Order payment system. It is available for C++ and Java programming environments and any application developed using the .NET framework. If your payment system utilizes a language that we do not have a sample reference for,Cybersourcerecommends upgrading using the SOAP toolkit or the REST API. For more information about upgrading using the SOAP toolkit, see theSOAP Toolkits for Web Services Developer Guideand theCybersourceSOAP Toolkit in GitHub.
- REST API:If you prefer, you can upgrade your payment system to the REST API instead. For more information about how to upgrade to REST, see theGetting Started with REST Developer Guide.Cybersourcerecommends that you upgrade using this method if possible.
Additional Support
If you have additional questions, please contact your
Cybersource
account representative for more information, or submit a support ticket here:C++ Payment System Upgrade
This section describes how to transition your SCMP payment system to send and receive
HTTPS Simple Order API transmissions using the C++ programming language. Upgrading your
payment system to Simple Order requires you to download an API key from the
Business Center
.Enable SCMP-to-Simple Order Conversion
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.
- Add the SCMP conversion kit to your payment system. Retrieve the conversion kit files from theSCMPToNVPTestfolder in GitHub:
- Add thecybs.inifile to your application. Retrieve thecybs.inifile from theresourcesfolder in GitHub:
- Update these parameter values in yourcybs.inifile:
- merchantID: Set to your production merchant ID used for commerce.
- keysDirectory: Set to the file path that leads to your P12 certificate.
- serverURL: Set to theCybersourceSimple Order endpoint.
- keyFilename: Set to the file name of your .p12 file.
- password: Set to your P12 certificate password.
- sslCertFile: Set to the file path and name of your .p12 file.
merchantID=your-merchant-id keysDirectory=c:/keys serverURL=https://ics2wstest.ic3.com/commerce/1.x/transactionProcessor/ keyFilename=your-merchant-id.p12 password=test-password sslCertFile=c:/keys/ics2wstest.ic3.crtYou can set other files at your discretion. See the comments in theREADME.mdfile to determine which values to change: - After your SCMP payment software creates a request, replace your existing request to SCMP with a request to theprocessRequestmethod from the class in theics_util.cppfile. Then, pass your SCMP request as a parameter in theprocessRequestmethod.ics_msg* scmpResponse = processRequest(scmpRequest); // <-- User inputs their SCMP request hereIf you do not have theics_util.cppfile, you can retrieve it from theSCMPToNVPTestfolder 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.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
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.
- Add the SCMP conversion kit to your payment system. Retrieve the conversion kit files from theSCMPSampleClientfolder in GitHub:
- Add thecybs.propertiesfile to your application. Retrieve thecybs.propertiesfile from thesamples/scmp/SCMPSampleClientfolder in GitHub:
- Update these parameter values in yourcybs.propertiesfile:
- 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=trueYou can set other files at your discretion. See the comments in theREADME.mdfile to determine which values to change: - After your SCMP payment software creates a request, replace your existing request to SCMP with a request to theprocessRequestmethod from the class in theUtil.javafile. Then pass your SCMP request as a parameter in theprocessRequestmethod.ICSReply scmpReply = Util.processRequest (scmpRequest, cyberProperties);If you do not have theUtil.javafile, it is available in thesamples/scmp/SCMPSampleClient/folder in GitHub:src
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.Java SCMP Client SDK Upgrade
Follow these steps to upgrade the endpoint configuration in your Java SCMP Client SDK.
Only the Java SCMP Client SDK version 5.4.0 is valid for this
upgrade.
- Open yourICSClient.propsfile using a text editor application. This file is located in thepropertiesfolder in your Java SDK.
- Change theserverURLproperty value to one of these valid HTTPS endpoints that corresponds to your environment:
- Test Endpoint
- serverURL=https://ics2test.ic3.com:443/
- Production Endpoint
- serverURL=https://ics2.ic3.com:443/
- Add theuseJdkUrlConnectionproperty and set its value totrue.useJdkUrlConnection=true
- (Optional) Run the authorization sample in theICSAuthTest.javafile to test and confirm that your HTTPS connection is successful. The file is in thesamplesfolder.In the sample authorization, set the field value in thecustomer_cc_expyrfield to a future four digit year.
Troubleshooting Using Certificates
If you receive an error message when sending an API request to the HTTPS endpoints,
you may need to add certificates to your payment system. Follow these steps to add
the Certificate Authority (CA) root certificate and intermediate certificate to your
system.
- Download the certificates from the attachments section in this support article:
- Import the certificates to your Java truststore.
- If you need to enable your system to trust the certificates, add these two properties and values to yourICSClient.propsfile to override the default Java truststore.ssl.trustStore={path_to_your_truststore}/keys/truststore.jks ssl.trustStorePassword={your_password}
.NET Payment System Upgrade
This section describes how to transition your SCMP payment system to send and receive
HTTPS Simple Order API transmissions. Upgrading your payment system to Simple Order
requires you to download an API key from the
Business Center
.Enable SCMP-to-Simple Order Conversion
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.
- Add the SCMP conversion kit to your payment system. Retrieve the conversion kit files from thescmpfolder in GitHub:
- Update these values in yourapp.configfile. Retrieve theapp.configfile from thescmpfolder in GitHub:
- 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.
- password: Set to your P12 certificate password.
<add key="cybs.merchantID" value="" /> <add key="cybs.keysDirectory" value="" /> <add key="cybs.keysAlias" value="" /> <add key="cybs.Password" value="" />You can set other files at your discretion. See the comments in theREADME.mdfile to determine which values to change: - After your SCMP payment software creates a request message, run theprocessRequestmethod found in theUtil.csfile against that request.
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.