CyberSource Toolkit for i Changelog

The current version of CyberSource Toolkit for i is 3.4.2, and was released August 15th, 2018.

3.4.2

  • Increased size of Apple Pay encrypted data field, CTIWSHDR.EPDTA, to 8192
  • Updated some example programs to better demonstrate using request IDs from prior transactions
  • Corrected issue preventing reporting APIs from correctly generating log files

3.4.1

  • Added support for Apple Pay transactions

3.4.0

  • Added support for PayPal operations:
    • payPalEcOrderSetupService
    • payPalAuthorizationService
    • payPalDoRefTransactionService
    • payPalRefundService
    • payPalCreateAgreementService
    • payPalAuthReversalService
    • payPalDoCaptureService
    • payPalUpdateAgreementService
  • Added support for Visa Checkout authorization operations
    • Two fields were added to CTIWSHDR: VCORDERID and PMTSOLN

3.30

  • Added support for e-check operations:
    • ecAuthenticateService
    • ecCreditService
    • ecDebitService
  • Starting with this release, example code and copybook are provided in free format.

3.22

  • Incrementing internal CyberSource API version to 1.140

3.21

  • Fixed issue with duplicate fields being written in some requests.
  • Fixed parsing of new response fields.

3.20

  • Fields added to CTIWSHDR to allow processing for multiple captures against a single authorization.
  • Additional paySubscriptionRetrieveReply fields added to CTIWSRSP.
  • Added field to CTIWSRSP for level 3 eligibility.

3.10

  • Upgrading to this version will require recompiling.
  • Additional fields added to CTIWSHDR to accomodate upcoming MasterCard capability to specify preauthorization types.
  • CTI_RunPayBatchDetailReport(), CTI_RunPaySubmissionDetailReport(), CTI_RunSingleTransQuery(), and CTI_RunTransExpDetailReport() have been added to reimplement the ability to pull reports from the legacy CyberSource system. These APIs may stop working at a future date due to CyberSource changes.

3.00

  • Upgrading to this version will require recompiling.
  • CYBCFG configuration file has been replaced by CTICFGMCH for merchant-level configuration and CTICFGENV for environment-level configuration.
  • The reporting APIs have been deprecated and replaced with CTI_DownloadReport() and CTI_ProcessReport() to handle the CyberSource transition to the new reporting infrastructure.
  • Cyb_run() has been replaced with CTI_Run().
  • CYBHDR, CYBITM, and CYBRSP have been replaced with CTIWSHDR, CTIWSITM, and CTIWSRSP respectively.
  • Cyb_nxtUnqId() has been replaced with CTI_NextUniqueID()
  • Log files will now always be generated when errors occur.
  • It is no longer possible to disable the obfuscation of credit card numbers and other sensitive information in log files.

2.10

  • Resolved issues with log files not being properly generated in some scenarios.

2.00

  • Upgrading to this version will require recompiling.
  • This name of this product is now CyberSource Toolkit for i. As a result of this name change, the default install library name is now CTI.
  • The service program KCYBSV is now CTISV. The message file KCYBMSGF is now CTIMSGF.
  • Other objects including the physical files, data area, and binding directory have not been renamed to minimize the impact of upgrading.
  • The default value for the CYBCFG configuration option LOG_DIR is now /ktprod/cti/logs.
  • The default value for the CYBCFG configuration option TRANS_DIR is now /ktprod/cti/trans.
  • The CYBCFG configuration option FULL_LOG is no longer present by default. To remove sensitive data obfuscation, the configuration option must be manually added to CYBCFG with a value of Y. This is not recommended for production use as the unobfuscated data will include credit card numbers.
  • A new copybook member named CTICP can be found in source physical file QRPGLECPY. This is interchangeable with KCYBCP to preserve backwards compatibility. For any new development, we recommend using the CTICP copybook as we cannot guarantee the old KCYBCP copybook will not be removed in a future release.

1.90

  • Upgrading to this version will require recompiling.
  • Cyb_Error error data structure was changed to add new subfield source. This subfield attempts to provide information regarding where the source of a specific error is - whether it’s internal to the product, an error returned from CyberSource, or a problem with your network.
  • To go along with the change to Cyb_Error to add subfield source, the following constants were added:
    • Cyb_ERROR_INTERNAL
    • Cyb_ERROR_TRANSMIT
    • Cyb_ERROR_REMOTE
  • Many new fields were added to CYBHDR and CYBITM to allow data to be passed for Level II and Level III processing.
  • Previously, a template file resided in the path outlined by CYBCFG configuration value TPL_PATH and was used internally to generate XML. This template file is no longer required - it can be safely removed, and the configuration value TPL_PATH can be deleted from CYBCFG.

1.83

  • Fixed defect reported in 1.82 with Cyb_run() not transmitting data in all circumstances.
  • Updated example programs to properly remove CYBERR and bring them in line with current best practices for error handling.
  • Fixed defect reported in 1.82 with Cyb_run() not transmitting data in all circumstances.
  • Fixed defect with error codes not being properly reported in Cyb_Error data structure in all circumstances.

1.82

  • Removed reliance on IFS template.

1.81

  • Fixed issue with XML generation for businessRules elements.

1.80

  • Fixes to logging:
    • FULL_LOG CYBCFG value implemented. If N (or by default), sensitive data is masked in log files. If Y, it will be visible. Note that leaving this option set to Y is not recommended on PRODUCTION as it is a PCI risk.
    • Misc issues resolved with file permissions being created.
  • Changes to CYBHDR and CYBRSP per customer requests to better accomodate PayPal processing and level 2 data.

1.71

  • Fixed issue with CYBRSP not being populated in all circumstances.

1.70

  • Minimum operating system supported is now v6.1
  • Logging overhaul:
    • To enable logging, set DEBUG to Y in CYBCFG.
    • All log files are now stored in the IFS in the directory specified in CYBCFG’s LOG_DIR.
    • Log files are uniquely identified by the transaction ID/PID passed into Cyb_run() or the reporting APIs.
    • If logging is left on while running Production/Live transactions, sensitive data will be hidden in the resulting log files.
    • DB2 files CYBERR and CYBLOG have been removed.
    • All APIs now return an indicator value which can be checked to determine if an error occurred during the transaction. *ON means that the API completed successfull, *OFF means it failed.
    • The error which caused an API to fail will be returned in the error data structure passed in as a parameter.
    • The TRANS_DIR value is only used for reporting APIs.
  • Cyb_log() is still included in the copybook for backwards-compatibility purposes, but it is not intended to be used and may be removed in a future release.
  • Many fields in the APIs were changed to Const from Value to reduce memory usage.
  • Additional examples added to EXAMPLE source physical file - T_ATHSWIPE and T_ATHKEYED.
  • DSPMCHINFD renamed to DSPLICD.

1.60

  • Point-of-sale (POS) added
    • Fields have been added to CYBHDR and CYBRSP to support point-of-sale transactions.
    • A new data structure has been added, Cyb_PosDS_t to store POS data in memory.
    • An additional optional parameter has been added to Cyb_run() to accept a Cyb_PosDS_t
  • QRPGLESRC renamed to EXAMPLE
  • Licensing updated
    • Additional licensing library KTLIC eliminated.
    • Objects stored in KTLIC have been moved into main KCYB library.
    • APYKTILIC renamed APYLIC.
    • DSPKTILIC renamed DSPLIC.

1.50

  • Subscriptions/tokenization added
    • Fields have been added to CYBHDR and CYBRSP to support subscriptions and tokenization.
    • Additional examples added to QRPGLESRC - T_SUBCRT, T_SUBUPD, T_SUBRTV, T_SUBDLT

1.00

  • Initial RPG-only release