diff --git a/Samples/TransactionBatches/upload-transaction-batch.rb b/Samples/TransactionBatches/upload-transaction-batch.rb new file mode 100644 index 0000000..807251d --- /dev/null +++ b/Samples/TransactionBatches/upload-transaction-batch.rb @@ -0,0 +1,32 @@ +require 'cybersource_rest_client' +require_relative '../../data/ConfigurationForBatchUpload.rb' + +public +class Upload_transaction_batch + def run() + opts = {} + file_to_upload = 'resource/qaebc2.rgdltnd0.csv' + + config = ConfigurationForBatchUpload.new.merchantConfigProp() + api_client = CyberSource::ApiClient.new + api_instance = CyberSource::TransactionBatchesApi.new(api_client, config) + + data, status_code, headers = api_instance.upload_transaction_batch(file_to_upload) + + puts data, status_code, headers + write_log_audit(status_code) + return data + rescue StandardError => err + write_log_audit(err.code) + puts err.message + end + + def write_log_audit(status) + filename = ($0.split("/")).last.split(".")[0] + puts "[Sample Code Testing] [#{filename}] #{status}" + end + + if __FILE__ == $0 + Upload_transaction_batch.new.run() + end +end diff --git a/data/ConfigurationForBatchUpload.rb b/data/ConfigurationForBatchUpload.rb new file mode 100644 index 0000000..d16ce05 --- /dev/null +++ b/data/ConfigurationForBatchUpload.rb @@ -0,0 +1,72 @@ +require 'cybersource_rest_client' + +public +class ConfigurationForBatchUpload + def merchantConfigProp() + # Common Paramaters + merchantId='qaebc2' + runEnvironment='apitest.cybersource.com' + timeout=1000 #In Milliseconds + authenticationType='jwt' + jsonFilePath='resource/request.json' + enableLog=true + loggingLevel='DEBUG' + logDirectory='log' + logFilename='cybs' + maxLogSize=10485760 + maxLogFiles=5 + enableMasking=true + # proxyAddress='userproxy.com' + # proxyPort=443 + # HTTP Parameters + merchantKeyId='08c94330-f618-42a3-b09d-e1e43be5efda' + merchantSecretKey='yBJxy6LjM2TmcPGu+GaJrHtkke25fPpUX+UY6/L/1tE=' + # JWT Parameters + keysDirectory='resource' + keyAlias='qaebc2' + keyPass='?Test1234' + keyFilename='qaebc2' + + # MetaKey Params + useMetaKey = false + portfolioID = '' + + # Add the property if required to override the cybs default developerId in all request body + defaultDeveloperId = "" + + configurationDictionary={} + configurationDictionary['merchantID'] = merchantId + configurationDictionary['runEnvironment'] = runEnvironment + configurationDictionary['timeout'] = timeout + configurationDictionary['authenticationType'] = authenticationType + configurationDictionary['jsonFilePath'] = jsonFilePath + # configurationDictionary['proxyPort'] = proxyPort + # configurationDictionary['proxyAddress'] = proxyAddress + configurationDictionary['merchantsecretKey'] = merchantSecretKey + configurationDictionary['merchantKeyId'] = merchantKeyId + configurationDictionary['keysDirectory'] = keysDirectory + configurationDictionary['keyAlias'] = keyAlias + configurationDictionary['keyPass'] = keyPass + configurationDictionary['useMetaKey'] = useMetaKey + configurationDictionary['portfolioID'] = portfolioID + configurationDictionary['keyFilename'] = keyFilename + configurationDictionary['defaultDeveloperId'] = defaultDeveloperId + + log_config = {} + log_config['enableLog'] = enableLog + log_config['loggingLevel'] = loggingLevel + log_config['logDirectory'] = logDirectory + log_config['logFilename'] = logFilename + log_config['maxLogSize'] = maxLogSize + log_config['maxLogFiles'] = maxLogFiles + log_config['enableMasking'] = enableMasking + + configurationDictionary['logConfiguration'] = log_config + + # PEM Key file path for decoding JWE Response Enter the folder path where the .pem file is located. + # It is optional property, require adding only during JWE decryption. + configurationDictionary['pemFileDirectory'] = 'resource/NetworkTokenCert.pem' + + return configurationDictionary + end +end \ 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 diff --git a/resource/qaebc2.rgdltnd0.csv b/resource/qaebc2.rgdltnd0.csv new file mode 100644 index 0000000..0b8df03 --- /dev/null +++ b/resource/qaebc2.rgdltnd0.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