class AmexTokenizationClient::ProvisioningPayload
Attributes
account_number[R]
email[R]
expiry_month[R]
expiry_year[R]
ip_address[R]
is_on_file[R]
name[R]
user_id[R]
Public Class Methods
new(account_number:, name:, expiry_month:, expiry_year:, email:, is_on_file:, user_id: nil, ip_address: nil)
click to toggle source
# File lib/amex_tokenization_client/provisioning_payload.rb, line 9 def initialize(account_number:, name:, expiry_month:, expiry_year:, email:, is_on_file:, user_id: nil, ip_address: nil) @account_number, @expiry_month, @expiry_year = account_number, expiry_month, expiry_year @name, @email, @is_on_file, @ip_address = name, email, is_on_file, ip_address @user_id = user_id end
Public Instance Methods
to_json(encryption_key_id, encryption_key)
click to toggle source
# File lib/amex_tokenization_client/provisioning_payload.rb, line 15 def to_json(encryption_key_id, encryption_key) Hash[ account_data: account_data(encryption_key_id, encryption_key), user_data: { user_id: user_id, name: name, email: email }.compact, risk_assessment_data: risk_assessment_data ].to_json end
Protected Instance Methods
account_data(encryption_key_id, encryption_key)
click to toggle source
# File lib/amex_tokenization_client/provisioning_payload.rb, line 25 def account_data(encryption_key_id, encryption_key) json = JSON.generate Hash[ account_type: 'credit_card', credit_card: { account_number: account_number, expiry_month: expiry_month, expiry_year: expiry_year } ] jwe_encrypt(json, encryption_key_id, encryption_key) end
jwe_encrypt(data, encryption_key_id, encryption_key)
click to toggle source
# File lib/amex_tokenization_client/provisioning_payload.rb, line 39 def jwe_encrypt(data, encryption_key_id, encryption_key) JWE.encrypt(data, encryption_key, alg: 'A256KW', enc: 'A128GCM', kid: encryption_key_id) end
risk_assessment_data()
click to toggle source
# File lib/amex_tokenization_client/provisioning_payload.rb, line 33 def risk_assessment_data data = { account_input_method: is_on_file ? 'On File' : 'User Input' } data[:ip_address] = ip_address if ip_address data end