Class: Maxmind::ChargebackRequest
- Inherits:
-
Object
- Object
- Maxmind::ChargebackRequest
- Defined in:
- lib/maxmind/chargeback_request.rb
Constant Summary collapse
- DefaultTimeout =
60
Class Attribute Summary collapse
-
.default_request_type ⇒ Object
Returns the value of attribute default_request_type.
-
.timeout ⇒ Object
Returns the value of attribute timeout.
Instance Attribute Summary collapse
-
#chargeback_code ⇒ Object
Optional Fields.
-
#client_ip ⇒ Object
Required Fields.
-
#fraud_score ⇒ Object
Optional Fields.
-
#maxmind_id ⇒ Object
Optional Fields.
-
#transaction_id ⇒ Object
Optional Fields.
Instance Method Summary collapse
- #attributes=(attrs = {}) ⇒ Object
-
#initialize(attrs = {}) ⇒ ChargebackRequest
constructor
A new instance of ChargebackRequest.
- #process ⇒ Object
- #process! ⇒ Object
- #query ⇒ Object
Constructor Details
#initialize(attrs = {}) ⇒ ChargebackRequest
Returns a new instance of ChargebackRequest.
18 19 20 |
# File 'lib/maxmind/chargeback_request.rb', line 18 def initialize(attrs={}) self.attributes = attrs end |
Class Attribute Details
.default_request_type ⇒ Object
Returns the value of attribute default_request_type.
8 9 10 |
# File 'lib/maxmind/chargeback_request.rb', line 8 def default_request_type @default_request_type end |
.timeout ⇒ Object
Returns the value of attribute timeout.
9 10 11 |
# File 'lib/maxmind/chargeback_request.rb', line 9 def timeout @timeout end |
Instance Attribute Details
#chargeback_code ⇒ Object
Optional Fields
16 17 18 |
# File 'lib/maxmind/chargeback_request.rb', line 16 def chargeback_code @chargeback_code end |
#client_ip ⇒ Object
Required Fields
13 14 15 |
# File 'lib/maxmind/chargeback_request.rb', line 13 def client_ip @client_ip end |
#fraud_score ⇒ Object
Optional Fields
16 17 18 |
# File 'lib/maxmind/chargeback_request.rb', line 16 def fraud_score @fraud_score end |
#maxmind_id ⇒ Object
Optional Fields
16 17 18 |
# File 'lib/maxmind/chargeback_request.rb', line 16 def maxmind_id @maxmind_id end |
#transaction_id ⇒ Object
Optional Fields
16 17 18 |
# File 'lib/maxmind/chargeback_request.rb', line 16 def transaction_id @transaction_id end |
Instance Method Details
#attributes=(attrs = {}) ⇒ Object
22 23 24 25 26 |
# File 'lib/maxmind/chargeback_request.rb', line 22 def attributes=(attrs={}) attrs.each do |k, v| self.send("#{k}=", v) end end |
#process ⇒ Object
33 34 35 36 37 |
# File 'lib/maxmind/chargeback_request.rb', line 33 def process process! rescue Exception => e false end |
#process! ⇒ Object
28 29 30 31 |
# File 'lib/maxmind/chargeback_request.rb', line 28 def process! resp = post(query) Maxmind::ChargebackResponse.new(resp., resp.code) end |
#query ⇒ Object
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/maxmind/chargeback_request.rb', line 39 def query validate required_fields = { :ip_address => @client_ip, } optional_fields = { :chargeback_code => @chargeback_code, :fraud_score => @fraud_score, :maxmind_id => @maxmind_id, :transaction_id => @transaction_id } field_set = required_fields.merge(optional_fields) field_set.reject {|k, v| v.nil? }.to_json end |