diff --git a/Samples/TransactionBatches/UploadTransactionBatch.rb b/Samples/TransactionBatches/UploadTransactionBatch.rb new file mode 100644 index 0000000..b2164b3 --- /dev/null +++ b/Samples/TransactionBatches/UploadTransactionBatch.rb @@ -0,0 +1,29 @@ +require 'cybersource_rest_client' +require_relative '../../data/Configuration.rb' + +public +class UploadTransactionBatch + def run() + file_name = "batchapiTest.csv" + file_path = File.join(File.dirname(__FILE__), "..", "..", "resource", file_name) + file_path = File.expand_path(file_path) + + file = File.new(file_path) + + config = MerchantConfiguration.new.batchUploadMerchantConfigProp() + api_client = CyberSource::ApiClient.new + api_instance = CyberSource::TransactionBatchesApi.new(api_client, config) + + data, status_code, headers = api_instance.upload_transaction_batch(file) + + puts status_code, headers, data + + return data + rescue StandardError => err + puts err.message + end + + if __FILE__ == $0 + UploadTransactionBatch.new.run() + end +end diff --git a/data/Configuration.rb b/data/Configuration.rb index 4e2c4e7..7371857 100644 --- a/data/Configuration.rb +++ b/data/Configuration.rb @@ -128,4 +128,70 @@ def alternativeMerchantConfigProp() configurationDictionary['logConfiguration'] = log_config return configurationDictionary end + + def batchUploadMerchantConfigProp() + # Common Parameters + merchantId = 'qaebc2' + runEnvironment = 'apitest.cybersource.com' + timeout=1000 #In Milliseconds + authenticationType = 'jwt' + jsonFilePath = 'resource/request.json' + + # MetaKey Parameters + useMetaKey = false + portfolioID = '' + + # JWT Parameters + keysDirectory = 'resource' + keyAlias = 'qaebc2' + keyPass = '?Test1234' + keyFilename = 'qaebc2' + + # Logging Parameters + enableLog = true + logDirectory = 'log' + loggingLevel='DEBUG' + logFilename = 'cybs' + maxLogSize=10485760 + maxLogFiles=5 + enableMasking=true + + # OAuth Parameters + enableClientCert = false + clientCertDirectory = 'src/main/resources' + clientCertFile = '' + clientCertPassword = '' + clientId = '' + clientSecret = '' + + # Developer ID override + defaultDeveloperId = '' + + configurationDictionary = {} + configurationDictionary['merchantID'] = merchantId + configurationDictionary['runEnvironment'] = runEnvironment + configurationDictionary['authenticationType'] = authenticationType + configurationDictionary['timeout'] = timeout + configurationDictionary['jsonFilePath'] = jsonFilePath + configurationDictionary['useMetaKey'] = useMetaKey + configurationDictionary['portfolioID'] = portfolioID + configurationDictionary['keysDirectory'] = keysDirectory + configurationDictionary['keyAlias'] = keyAlias + configurationDictionary['keyPass'] = keyPass + configurationDictionary['keyFilename'] = keyFilename + configurationDictionary['defaultDeveloperId'] = defaultDeveloperId + + log_config = {} + log_config['enableLog'] = enableLog + log_config['logDirectory'] = logDirectory + log_config['logFilename'] = logFilename + log_config['maxLogSize'] = maxLogSize + log_config['loggingLevel'] = loggingLevel + log_config['enableMasking'] = enableMasking + log_config['maxLogFiles'] = maxLogFiles + + configurationDictionary['logConfiguration'] = log_config + + return configurationDictionary + end end \ No newline at end of file diff --git a/resource/batchapiTest.csv b/resource/batchapiTest.csv new file mode 100644 index 0000000..0b8df03 --- /dev/null +++ b/resource/batchapiTest.csv @@ -0,0 +1,5 @@ +merchantID=qaebc2,batchID=rgdltnd0,recordCount=2,statusEmail=ynachire@visa.com,targetAPIVersion=1.86,creationDate=2025-03-05,reference= +merchantID,merchantReferenceCode,merchantDefinedData_field1,ccAuthService_run,billTo_firstName,billTo_lastName,billTo_email,billTo_street1,billTo_city,billTo_state,billTo_country,billTo_postalCode,card_accountNumber,card_expirationMonth,card_expirationYear,card_cardType,purchaseTotals_currency,purchaseTotals_grandTotalAmount,item_#_productCode +qaebc2,1,4837,true,Jay,Smith,ynachire@visa.com,8 Mission Street,San Francisco,CA,US,94101,4111111111111111,12,2036,001,GBP,8.00,1 +qaebc2,2,7209,true,Jay,Smith,ynachire@visa.com,8 Mission Street,San Francisco,CA,US,94101,4111111111111111,12,2036,001,GBP,8.00,1 +END,SUM=16.00 \ No newline at end of file diff --git a/resource/qaebc2.p12 b/resource/qaebc2.p12 new file mode 100644 index 0000000..a66a4e2 Binary files /dev/null and b/resource/qaebc2.p12 differ