class AmexEnhancedAuthorization::Connection
Attributes
base_path[R]
client_id[R]
client_secret[R]
host[R]
logger[RW]
Public Class Methods
new(host:, client_id:, client_secret:, logger: Logger.new('/dev/null'))
click to toggle source
# File lib/amex_enhanced_authorization/connection.rb, line 8 def initialize(host:, client_id:, client_secret:, logger: Logger.new('/dev/null')) @host = host @base_path = "/risk/fraud/v2/apiplatform/enhanced_authorizations".freeze @client_id, @client_secret = client_id, client_secret @logger = logger end
Public Instance Methods
hmac_digest(s)
click to toggle source
# File lib/amex_enhanced_authorization/connection.rb, line 39 def hmac_digest(s) Base64.strict_encode64(OpenSSL::HMAC.digest(OpenSSL::Digest::SHA256.new, client_secret, s.to_s)) end
online_purchase(params)
click to toggle source
# File lib/amex_enhanced_authorization/connection.rb, line 17 def online_purchase(params) payload = OnlinePurchasePayload.new(params).to_json JSON.parse send_authorized_request('POST', 'online_purchases', payload) end