Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

POC Implementation #7

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 23 additions & 4 deletions Samples/Flex/CoreServices/GenerateKey.rb
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
require 'cybersource_rest_client'
require_relative '../../../Data/Configuration.rb'
require_relative '../../../data/Configuration.rb'

# * This is a sample code to call KeyGenerationApi,
# * Generate Key - with Encryption Type
Expand All @@ -8,17 +8,36 @@
public
class Generatekey
def main
puts "\n[BEGIN] REQUEST & RESPONSE OF: #{self.class.name}"
config = MerchantConfiguration.new.merchantConfigProp()
request = CyberSource::KeyParameters.new
api_client = CyberSource::ApiClient.new
api_instance = CyberSource::KeyGenerationApi.new(api_client, config)
request.encryption_type = "RsaOaep256"
options = {}
options[:'generate_public_key_request'] = request
data, status_code, headers = api_instance.generate_public_key(options)
puts data, status_code, headers
puts "\nAPI REQUEST BODY:"
request_body = api_client.object_to_hash(request)
puts api_client.maskPayload(request_body.to_json)
response_body, response_code, response_headers = api_instance.generate_public_key(options)
puts "\nAPI REQUEST HEADERS:"
puts api_client.request_headers
puts "\nAPI RESPONSE CODE:"
puts response_code
puts "\nAPI RESPONSE HEADERS:"
puts response_headers
puts "\nAPI RESPONSE BODY:"
puts response_body
rescue StandardError => err
puts err.message
if (err.respond_to? :response_headers) || (err.respond_to? :response_body) || (err.respond_to? :code)
puts "\nAPI REQUEST HEADERS:"
puts api_client.request_headers
puts "\nAPI RESPONSE CODE: \n#{err.code}", "\nAPI RESPONSE HEADERS: \n#{err.response_headers}", "\nAPI RESPONSE BODY: \n#{err.response_body}"
else
puts err.message
end
ensure
puts "\n[END] REQUEST & RESPONSE OF: #{self.class.name}"
end
Generatekey.new.main
end
31 changes: 25 additions & 6 deletions Samples/Flex/CoreServices/TokenizeCard.rb
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
require 'cybersource_rest_client'
require_relative '../VerifyToken.rb'
require_relative '../KeyGenerationNoEnc.rb'
require_relative '../../../Data/Configuration.rb'
require_relative '../../../data/Configuration.rb'

# * This is a sample code to call KeyGenerationApi which will return key and
# * TokenizationApi Returns a token representing the supplied card details.
Expand All @@ -10,6 +10,7 @@
public
class TokenizeCard
def main
puts "\n[BEGIN] REQUEST & RESPONSE OF: #{self.class.name}"
config = MerchantConfiguration.new.merchantConfigProp()
request = CyberSource::TokenizeRequest.new
api_client = CyberSource::ApiClient.new
Expand All @@ -27,12 +28,30 @@ def main
request.card_info = card_info
options = {}
options[:'tokenize_request'] = request
data, status_code, headers = api_instance.tokenize(options)
puts data, status_code, headers
verify = VerifyToken.new.verify(public_key, data)
puts verify
puts "\nAPI REQUEST BODY:"
request_body = api_client.object_to_hash(request)
puts api_client.maskPayload(request_body.to_json)
response_body, response_code, response_headers = api_instance.tokenize(options)
puts "\nAPI REQUEST HEADERS:"
puts api_client.request_headers
puts "\nAPI RESPONSE CODE:"
puts response_code
puts "\nAPI RESPONSE HEADERS:"
puts response_headers
puts "\nAPI RESPONSE BODY:"
puts response_body
verify = VerifyToken.new.verify(public_key, response_body)
puts "Token Verification: #{verify}"
rescue StandardError => err
puts err.message
if (err.respond_to? :response_headers) || (err.respond_to? :response_body) || (err.respond_to? :code)
puts "\nAPI REQUEST HEADERS:"
puts api_client.request_headers
puts "\nAPI RESPONSE CODE: \n#{err.code}", "\nAPI RESPONSE HEADERS: \n#{err.response_headers}", "\nAPI RESPONSE BODY: \n#{err.response_body}"
else
puts err.message
end
ensure
puts "\n[END] REQUEST & RESPONSE OF: #{self.class.name}"
end
if __FILE__ == $0
TokenizeCard.new.main
Expand Down
29 changes: 24 additions & 5 deletions Samples/Flex/KeyGenerationNoEnc.rb
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
require 'cybersource_rest_client'
require_relative '../../Data/Configuration.rb'
require_relative '../../data/Configuration.rb'

# * This is a sample code to call KeyGenerationApi,
# * Generate Key - with Encryption Type as none
Expand All @@ -8,18 +8,37 @@
public
class NoEncGeneratekey
def main
puts "\n[BEGIN] REQUEST & RESPONSE OF: #{self.class.name}"
config = MerchantConfiguration.new.merchantConfigProp()
request = CyberSource::KeyParameters.new
api_client = CyberSource::ApiClient.new
api_instance = CyberSource::KeyGenerationApi.new(api_client, config)
request.encryption_type = "None"
options = {}
options[:'generate_public_key_request'] = request
data, status_code, headers = api_instance.generate_public_key(options)
puts data, status_code, headers
data
puts "\nAPI REQUEST BODY:"
request_body = api_client.object_to_hash(request)
puts api_client.maskPayload(request_body.to_json)
response_body, response_code, response_headers = api_instance.generate_public_key(options)
puts "\nAPI REQUEST HEADERS:"
puts api_client.request_headers
puts "\nAPI RESPONSE CODE:"
puts response_code
puts "\nAPI RESPONSE HEADERS:"
puts response_headers
puts "\nAPI RESPONSE BODY:"
puts response_body
response_body
rescue StandardError => err
puts err.message
if (err.respond_to? :response_headers) || (err.respond_to? :response_body) || (err.respond_to? :code)
puts "\nAPI REQUEST HEADERS:"
puts api_client.request_headers
puts "\nAPI RESPONSE CODE: \n#{err.code}", "\nAPI RESPONSE HEADERS: \n#{err.response_headers}", "\nAPI RESPONSE BODY: \n#{err.response_body}"
else
puts err.message
end
ensure
puts "\n[END] REQUEST & RESPONSE OF: #{self.class.name}"
end
if __FILE__ == $0
NoEncGeneratekey.new.main
Expand Down
33 changes: 25 additions & 8 deletions Samples/Payments/CoreServices/CapturePayment.rb
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
require 'cybersource_rest_client'
require_relative './ProcessPayment.rb'
require_relative '../../../Data/Configuration.rb'
require_relative '../../../data/Configuration.rb'

# * This is a sample code to call CaptureApi,
# * capture a Payment
Expand All @@ -9,14 +9,14 @@
public
class CapturePayment
def main
puts "\n[BEGIN] REQUEST & RESPONSE OF: #{self.class.name}"
config = MerchantConfiguration.new.merchantConfigProp()
request = CyberSource::CapturePaymentRequest.new
api_client = CyberSource::ApiClient.new
api_instance = CyberSource::CaptureApi.new(api_client, config)

# Calling ProcessPayment Sample code
capture_flag = false
response = CreatePayment.new.main(capture_flag)
response = ProcessPayment.new.main(capture_flag)
resp = JSON.parse(response)
id = resp['id']

Expand All @@ -30,12 +30,29 @@ def main
amount_details.currency ="USD"
order_information.amount_details = amount_details
request.order_information = order_information
resp = JSON.parse(response)
data, status_code, headers = api_instance.capture_payment(request, id)
puts data, status_code, headers
data
puts "\nAPI REQUEST BODY:"
request_body = api_client.object_to_hash(request)
puts api_client.maskPayload(request_body.to_json)
response_body, response_code, response_headers = api_instance.capture_payment(request, id)
puts "\nAPI REQUEST HEADERS:"
puts api_client.request_headers
puts "\nAPI RESPONSE CODE:"
puts response_code
puts "\nAPI RESPONSE HEADERS:"
puts response_headers
puts "\nAPI RESPONSE BODY:"
puts response_body
response_body
rescue StandardError => err
puts err.message
if (err.respond_to? :response_headers) || (err.respond_to? :response_body) || (err.respond_to? :code)
puts "\nAPI REQUEST HEADERS:"
puts api_client.request_headers
puts "\nAPI RESPONSE CODE: \n#{err.code}", "\nAPI RESPONSE HEADERS: \n#{err.response_headers}", "\nAPI RESPONSE BODY: \n#{err.response_body}"
else
puts err.message
end
ensure
puts "\n[END] REQUEST & RESPONSE OF: #{self.class.name}"
end
if __FILE__ == $0
CapturePayment.new.main
Expand Down
34 changes: 26 additions & 8 deletions Samples/Payments/CoreServices/ProcessAuthorizationReversal.rb
Original file line number Diff line number Diff line change
@@ -1,22 +1,23 @@
require 'cybersource_rest_client'
require_relative './ProcessPayment.rb'
require_relative '../../../Data/Configuration.rb'
require_relative '../../../data/Configuration.rb'

# * This is a sample code to call ReversalApi,
# * Process an Authorization Reversal
# * Include the payment ID in the POST request to reverse the payment amount.

public
class AuthReversal
class ProcessAuthorizationReversal
def main
puts "\n[BEGIN] REQUEST & RESPONSE OF: #{self.class.name}"
config = MerchantConfiguration.new.merchantConfigProp()
request = CyberSource::AuthReversalRequest.new
api_client = CyberSource::ApiClient.new
api_instance = CyberSource::ReversalApi.new(api_client, config)

# Calling ProcessPayment Sample code
capture_flag = false
response = CreatePayment.new.main(capture_flag)
response = ProcessPayment.new.main(capture_flag)
resp = JSON.parse(response)
id = resp['id']

Expand All @@ -32,13 +33,30 @@ def main

reversal_information.amount_details = amount_details
request.reversal_information = reversal_information

data, status_code, headers = api_instance.auth_reversal(id, request)
puts data, status_code, headers
puts "\nAPI REQUEST BODY:"
request_body = api_client.object_to_hash(request)
puts api_client.maskPayload(request_body.to_json)
response_body, response_code, response_headers = api_instance.auth_reversal(id, request)
puts "\nAPI REQUEST HEADERS:"
puts api_client.request_headers
puts "\nAPI RESPONSE CODE:"
puts response_code
puts "\nAPI RESPONSE HEADERS:"
puts response_headers
puts "\nAPI RESPONSE BODY:"
puts response_body
rescue StandardError => err
puts err.message
if (err.respond_to? :response_headers) || (err.respond_to? :response_body) || (err.respond_to? :code)
puts "\nAPI REQUEST HEADERS:"
puts api_client.request_headers
puts "\nAPI RESPONSE CODE: \n#{err.code}", "\nAPI RESPONSE HEADERS: \n#{err.response_headers}", "\nAPI RESPONSE BODY: \n#{err.response_body}"
else
puts err.message
end
ensure
puts "\n[END] REQUEST & RESPONSE OF: #{self.class.name}"
end
if __FILE__ == $0
AuthReversal.new.main
ProcessAuthorizationReversal.new.main
end
end
33 changes: 26 additions & 7 deletions Samples/Payments/CoreServices/ProcessCredit.rb
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
require 'cybersource_rest_client'
require_relative '../../../Data/Configuration.rb'
require_relative '../../../data/Configuration.rb'

# * This is a sample code to call CreditApi,
# * Create an Credit
# * CreateCredit method will create a new Credit.

public
class CreateCredit
class ProcessCredit
def main
puts "\n[BEGIN] REQUEST & RESPONSE OF: #{self.class.name}"
config = MerchantConfiguration.new.merchantConfigProp()
request = CyberSource::CreateCreditRequest.new
api_client = CyberSource::ApiClient.new
Expand Down Expand Up @@ -45,13 +46,31 @@ def main
card_information.type = "002"
payment_information.card = card_information
request.payment_information = payment_information
data, status_code, headers = api_instance.create_credit(request)
puts data, status_code, headers
data
puts "\nAPI REQUEST BODY:"
request_body = api_client.object_to_hash(request)
puts api_client.maskPayload(request_body.to_json)
response_body, response_code, response_headers = api_instance.create_credit(request)
puts "\nAPI REQUEST HEADERS:"
puts api_client.request_headers
puts "\nAPI RESPONSE CODE:"
puts response_code
puts "\nAPI RESPONSE HEADERS:"
puts response_headers
puts "\nAPI RESPONSE BODY:"
puts response_body
response_body
rescue StandardError => err
puts err.message
if (err.respond_to? :response_headers) || (err.respond_to? :response_body) || (err.respond_to? :code)
puts "\nAPI REQUEST HEADERS:"
puts api_client.request_headers
puts "\nAPI RESPONSE CODE: \n#{err.code}", "\nAPI RESPONSE HEADERS: \n#{err.response_headers}", "\nAPI RESPONSE BODY: \n#{err.response_body}"
else
puts err.message
end
ensure
puts "\n[END] REQUEST & RESPONSE OF: #{self.class.name}"
end
if __FILE__ == $0
CreateCredit.new.main
ProcessCredit.new.main
end
end
34 changes: 27 additions & 7 deletions Samples/Payments/CoreServices/ProcessPayment.rb
Original file line number Diff line number Diff line change
@@ -1,17 +1,19 @@
require 'cybersource_rest_client'
require_relative '../../../Data/Configuration.rb'
require_relative '../../../data/Configuration.rb'

# * This is a sample code to call PaymentApi,
# * for Core Services - Process Payment
# * createPayment method will create a new payment

public
class CreatePayment
class ProcessPayment
def main(capture_flag)
puts "\n[BEGIN] REQUEST & RESPONSE OF: #{self.class.name}"
config = MerchantConfiguration.new.merchantConfigProp()
request = CyberSource::CreatePaymentRequest.new
api_client = CyberSource::ApiClient.new
api_instance = CyberSource::PaymentsApi.new(api_client, config)

client_reference_information = CyberSource::Ptsv2paymentsClientReferenceInformation.new
client_reference_information.code = "test_payment"
request.client_reference_information = client_reference_information
Expand Down Expand Up @@ -71,13 +73,31 @@ def main(capture_flag)
card_information.type = "002"
payment_information.card = card_information
request.payment_information = payment_information
data, status_code, headers = api_instance.create_payment(request)
puts data, status_code, headers
data
puts "\nAPI REQUEST BODY:"
request_body = api_client.object_to_hash(request)
puts api_client.maskPayload(request_body.to_json)
response_body, response_code, response_headers = api_instance.create_payment(request)
puts "\nAPI REQUEST HEADERS:"
puts api_client.request_headers
puts "\nAPI RESPONSE CODE:"
puts response_code
puts "\nAPI RESPONSE HEADERS:"
puts response_headers
puts "\nAPI RESPONSE BODY:"
puts response_body
response_body
rescue StandardError => err
puts err.message
if (err.respond_to? :response_headers) || (err.respond_to? :response_body) || (err.respond_to? :code)
puts "\nAPI REQUEST HEADERS:"
puts api_client.request_headers
puts "\nAPI RESPONSE CODE: \n#{err.code}", "\nAPI RESPONSE HEADERS: \n#{err.response_headers}", "\nAPI RESPONSE BODY: \n#{err.response_body}"
else
puts err.message
end
ensure
puts "\n[END] REQUEST & RESPONSE OF: #{self.class.name}"
end
if __FILE__ == $0
CreatePayment.new.main(false)
ProcessPayment.new.main(false)
end
end
Loading