This subprocedure is used to download a report from the CyberSource REST reporting APIs. This subprocedure requires a record for your merchant ID in CTICFGRPT, and you must populate the record with a shared and secret key pair for use with CyberSource’s HTTP Signature Authentication. For more information on generating these keys, please see this guide from CyberSource: Create a Shared Secret Key for HTTP Signature Authentication

The ADDRPTKEY command can be used to easily create a record for your merchant ID and generated security keys in CTICFGRPT.

The report will be downloaded to an IFS file in the download directory specified in your CTICFGMCH record. For the CTI_REPORT_BATCHDETAIL and CTI_REPORT_EXCEPTIONDETAIL reports, this file can be parsed with the corresponding parsing subprocedure. If you are downloading a custom report, please reach out to our support team at isupport@katointegrations.com for guidance on parsing the downloaded report.

If an error occurs, this subprocedure will return *OFF, and information about the error will be present in the pErrorDS parameter which contains a CTI_ErrorDS_t data structure.

Subprocedure Prototype

D CTI_DownloadReport...
D                 PR              N   Extproc('CTI_DownloadReport')

Returns *OFF if an error occurs during processing, *ON otherwise.

D  pUniqueId                          Const Like(CTI_UniqueId_t)

Unique ID generated with CTI_NextUniqueID()


D  pDownloadReportDS...
D                                     LikeDS(CTI_DownloadReportDS_t)

A data structure containing configuration information for the report to be downloaded


D  pErrorDS                           LikeDS(CTI_ErrorDS_t)

Error data structure used to capture subprocedure and CyberSource errors


Data Structures

D CTI_DownloadReportDS_t...
D                 DS                  Qualified Template Inz
D  MerchantId                         Like(CTI_MerchantId_t)

Merchant ID used to process the transaction


D  Environment                   5A

CyberSource environment where the report will be retrieved from


Valid Values:


D  KeyLabel                     50A   Varying Inz(CTI_DEFAULT)

Unique label to identify the security key in CTICFGRPT to be used

Default Value: CTI_DEFAULT

D  OrganizationId...
D                                     Like(CTI_MerchantId_t)

Organization under which the report was generated in the CyberSource business center

D  ReportName                         Like(CTI_ReportName_t)

Name of the report to be downloaded. This can be one of the pre-defined constants, or any custom report name

Valid Values:

  • text

D  ReportDate                     D

End date for the report

D  Filepath                           Like(CTI_FilePath_t)

Name of the file where the report will be downloaded. This file will be saved in the default download directory set for the specified merchant ID in CTICFGMCH

D CTI_ErrorDS_t   DS                  Qualified Template Inz
D  Subproc                     132A   Varying

Name of subprocedure returning error

D  MessageId                     7A

Message ID of error message

D  Message                    1024A   Varying

Error message text

D  Source                       10A

Error message source

D  LogFile                            Like(CTI_FilePath_t)

IFS filepath of generated log file

Input Table Files



CyberSource Report API Configuration Record



Merchant ID for the reporting account

A  ENV            5A         VARLEN


CyberSource environment for which the security key was generated

A  KEYLABEL      50A         VARLEN


Optional unique identifier for the security key, to allow multiple keys for one merchant ID/environment

A  SHAREDKEY     36A         VARLEN

CyberSource HTTP Signature Authentication shared key

A  SECRETKEY     50A         VARLEN

CyberSource HTTP Signature Authentication secret key