Servlet To REST API Migration Guide: October 2019
Servlet To REST API Migration Guide: October 2019
CyberSource Corporation HQ | P.O. Box 8999 | San Francisco, CA 94128-8999 | Phone: 800-530-9095
CyberSource Contact Information
For general information about our company, products, and services, go to
http://www.cybersource.com.
For support information about any CyberSource Service, visit the Support Center:
http://www.cybersource.com/support
Copyright
© 2019 CyberSource Corporation. All rights reserved. CyberSource Corporation ("CyberSource") furnishes this
document and the software described in this document under the applicable agreement between the reader of
this document ("You") and CyberSource ("Agreement"). You may use this document and/or software only in
accordance with the terms of the Agreement. Except as expressly set forth in the Agreement, the information
contained in this document is subject to change without notice and therefore should not be interpreted in any way
as a guarantee or warranty by CyberSource. CyberSource assumes no responsibility or liability for any errors
that may appear in this document. The copyrighted software that accompanies this document is licensed to You
for use only in strict accordance with the Agreement. You should read the Agreement carefully before using the
software. Except as permitted by the Agreement, You may not reproduce any part of this document, store this
document in a retrieval system, or transmit this document, in any form or by any means, electronic, mechanical,
recording, or otherwise, without the prior written consent of CyberSource.
Trademarks
Authorize.Net, eCheck.Net, and The Power of Payment are registered trademarks of CyberSource Corporation.
CyberSource, CyberSource Payment Manager, CyberSource Risk Manager, CyberSource Decision Manager,
and CyberSource Connect are trademarks and/or service marks of CyberSource Corporation.
All other brands and product names are trademarks or registered trademarks of their respective owners.
2
CONTENTS
Contents
Release Changes
October 2019 Added examples to "Servlet and REST Request Examples," page 9.
July 2019 Added link to authentication sample code in "Getting Started with REST,"
page 7.
May 2019 Added Getting Started section.
April 2019 This release only contains editorial changes.
March 2019 Initial release of document.
This guide is for merchants or partners who used the programmatic download (servlet) to
download reports and files, search for transactions, and retrieve user details, and are
transitioning to the use of REST APIs for these functions.
If you access the legacy reports programmatically, you can continue to use the servlets
until July 31, 2019. After July 31, 2019, the old servlets will be retired. After this date, you
will no longer be able to access old reports via servlets.
Conventions
Note Statements
Related Documents
Reporting REST API Developer Guide
Reporting User Guide
New Business Center User Guide
http://www.cybersource.com/support_center/support_documentation
Customer Support
For support information about any CyberSource service, visit the Support Center at:
http://www.cybersource.com/support
In the classic Business Center, users could download reports and files, search for
transactions, and retrieve user details via programmatic access, which we refer to as
servlets. The servlets were:
Download servlet
Acquiring servlet
Query servlet
Reports and other data that were accessed via servlets are now be available using REST
APIs. The new REST APIs include:
Reporting API
Transaction Detail API
Transaction Search API
User Management API
Transaction Batch Service API
For detailed information about the servlets, see the Legacy Business Center Reporting
Developer Guide.
Table 1 (Continued)
The table below lists the functions of the old servlets and the REST APIs that will replace
them.
For information on using REST APIs, see CyberSource REST API Getting Started Guide.
For full documentation on the REST APIs, see our Developer Center.
https://<server_name>/reports/servlet/DownloadReport/YYYY/MM/
DD/<merchant_ID>/<report_name>.<report_format>
https://<server_name>/ebc/Query
The search parameters required for each request are dependent on the servlet function.
REST requests vary by function. For detailed information, see the Reporting REST API,
Transaction Detail REST API, and Transaction Search REST API in our Developer Center.
The examples below show the differences between servlet and REST requests for
different functions.
Function: Order Detail Report (Transaction Request Report in New Business Center)
Servlet Request: https://<server_name>/ebc/
Query?merchantID=merchant1&requestID=5187901209120179112634&typ
e=orderPaymentData
REST Request: https://api.cybersource.com/reporting/v3/report-
downloads
{
"organizationID": "myorg",
"reportDate": "2018-05-23",
"reportName": "TransactionRequestReport"
}
Function: Notification of Change
Servlet Request: https://<server_name>/ebc/Query?merchantID=pa_
rbsworldpay&startDate=2018-02-15&endDate=2018-02-
16&type=NOC&exportType=xml
REST Request: https://api.cybersource.com/reporting/v3/
notification-of-changes
{
"startTime": "yyyy-MM-dd'T'HH:mm:ssXXX",
"endTime": "yyyy-MM-dd'T'HH:mm:ssXXX"
}
Function: Batch Submission Detail Report
Servlet Request: https://<server_name>/ebc/batchupload/
ResponseFileWrite.do?merchantID=merchant1&batchID=12345&format=
csv&password=password&username=username
REST Request: https://api.cybersource.com/pts/v1/transaction-
batches
{
"startTime": "yyyy-MM-dd'T'HH:mm:ssXXX",
"endTime": "yyyy-MM-dd'T'HH:mm:ssXXX"
}
REST FAQs
What is an API?
API stands for Application Programming Interface. It's a way for computer programs to talk
to each other. The program using the API is known as the client. The client is usually
written in a language such as Java or JavaScript.
The conversation between the programs follows the pattern of request and response.
The request:
The response:
The status of your request - did it fail or succeed?
Other information you might have asked for.
Often this is called the payload.
Verb—A verb is the action you want to perform with the API, such as the following:
Parameters—Parameters are extra information that tell the application how to handle
your request. With the Reporting API, you can:
For example:
GET <url_prefix>/v2/
reports?orgID=BerniesNeatMerchnt&download=true&reportName=BerniesNeatRepo
rt&reportDate=20161215
In the example above, “GET” is the verb; “reports” is the resource; and the parameters
are:
orgId
download
reportName
reportDate
Legacy Legacy New Report REST API Will the new What types of
Report Name Servlet Name report (or users can
payload) be use?
different?
Payment Batch Download Payment Batch Reporting API Slightly different Merchants,
Detail Report Servlet Detail Report account level
users, and
Partners
Transaction Download Transaction Reporting API Slightly different Merchants,
Detail Report Servlet Request Report account level
users, and
Partners
Payment Download Processor Event Reporting API Slightly different Merchants,
Transaction Servlet Report account level
Event Report users, and
Partners
Transaction Download Transaction Reporting API Slightly different Merchants,
Exception Servlet Exception Detail account level
Detail Report Report users, and
Partners
Payer Download Payer Reporting API Slightly different Merchant only.
Authentication Servlet Authentication
Detail Report Detail Report
Subscription Download Subscription Reporting API Slightly different Merchant only.
Detail Report Servlet Detail Report
Batch Files Download Batch Files Detail Reporting API Slightly diffferent Merchants,
Detail Report Servlet Report account level
users, and
Partners
Legacy Legacy New Report REST API Will the new What types of
Report Name Servlet Name report (or users can
payload) be use?
different?
Decision Download Decision Reporting API Slightly different Merchants only.
Manager Detail Servlet Manager Detail
Report Report
Conversion Download Conversion Detail Reporting API Slightly different Merchants only.
Detail Report Servlet Report
JP Reports - Download JP Transaction Reporting API Slightly different NA
Report 96 Servlet Report
Batch Upload Download Same name as in Secure File No Merchants only.
Reply Files Servlet the old Business Share API
Center
Account Download Same name as in Secure File No Merchants only.
Updater Reply Servlet the old Business Share API
File Center
Third Party Download Same name as in Secure File No Merchants only.
Report Servlet the old Business Share API
Center
Legacy Legacy New Report REST API Will the new What types of
Report Name Servlet Name report (or users can
payload) be use?
different?
Payment Batch Acquiring Payment Batch Reporting API No Merchants,
Summary Servlet Summary Report account level
Report users. Partners
can view data
MID-by-MID.
Payer NA Payer NA No Merchants and
Authorization Authorization account level
Summary Summary users.
Purchase and Acquiring Purchase and Reporting API No Merchants and
Refund Detail Servlet Refund Details account level
Report users.
Notification of NA Notification of Reporting API No Merchants
Change Change
The reports in Table 6 are not available using the Business Center but can be
downloaded using servlets. For a mapping of XML field names to JSON field
Important names, see "Field Names in JSON Response," page 15. For details on the new
JSON payloads, see the API Reference Guides in our Developer Center.
Legacy Report Name Legacy Servlet How to approximate this report Will the
in the new Business Center existing
subscriptions
be recreated?
Payment Submission Detail Download Servlet Use Payment Batch Detail with field Yes
Report Processor ID
Order Detail Report Download Servlet Use the Transaction Detail Report with Yes
filters for credit cards, sales, and
refunds.
New Authorization Detail Download Servlet Transaction Detail Report with filter for Yes
Report credit card authorizations.
New Sales Detail Report Download Servlet Transaction Detail Report with filter for Yes
credit card sales and refunds.
Payment Activity Summary Old Acquiring Net Funding screen NA
(Legacy Merchant Account Servlet only
Reports)
Chargeback and Old Acquiring Chargeback Detail Report NA
Representment Detail Report Servlet only
(Legacy Merchant Account
Reports)
Transfer Log (Legacy Old Acquiring Deposit Detail Report NA
Merchant Account Reports) Servlet only
Fee detail (Legacy Merchant Old Acquiring Fee Detail Report NA
Account Reports) Servlet only
Summary of Fees (Legacy Old Acquiring Fee Summary report (coming soon) NA
Merchant Account Reports) Servlet only