Class: ThePlaidApi::PaymentInitiationConsentStatusUpdateWebhook

Inherits:
BaseModel
  • Object
show all
Defined in:
lib/the_plaid_api/models/payment_initiation_consent_status_update_webhook.rb

Overview

Fired when the status of a payment consent has changed.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from BaseModel

#check_for_conflict, #process_additional_properties, #process_array, #process_basic_value, #process_hash, #to_hash, #to_json

Constructor Details

#initialize(webhook_type:, webhook_code:, consent_id:, old_status:, new_status:, timestamp:, environment:, error: SKIP, additional_properties: nil) ⇒ PaymentInitiationConsentStatusUpdateWebhook

Returns a new instance of PaymentInitiationConsentStatusUpdateWebhook.



93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
# File 'lib/the_plaid_api/models/payment_initiation_consent_status_update_webhook.rb', line 93

def initialize(webhook_type:, webhook_code:, consent_id:, old_status:,
               new_status:, timestamp:, environment:, error: SKIP,
               additional_properties: nil)
  # Add additional model properties to the instance
  additional_properties = {} if additional_properties.nil?

  @webhook_type = webhook_type
  @webhook_code = webhook_code
  @consent_id = consent_id
  @old_status = old_status
  @new_status = new_status
  @timestamp = timestamp
  @error = error unless error == SKIP
  @environment = environment
  @additional_properties = additional_properties
end

Instance Attribute Details

The ‘id` for the consent being updated

Returns:

  • (String)


23
24
25
# File 'lib/the_plaid_api/models/payment_initiation_consent_status_update_webhook.rb', line 23

def consent_id
  @consent_id
end

#environmentWebhookEnvironmentValues

The Plaid environment the webhook was sent from



63
64
65
# File 'lib/the_plaid_api/models/payment_initiation_consent_status_update_webhook.rb', line 63

def environment
  @environment
end

#errorError

Errors are identified by ‘error_code` and categorized by `error_type`. Use these in preference to HTTP status codes to identify and handle specific errors. HTTP status codes are set and provide the broadest categorization of errors: 4xx codes are for developer- or user-related errors, and 5xx codes are for Plaid-related errors, and the status will be 2xx in non-error cases. An Item with a non-`null` error object will only be part of an API response when calling `/item/get` to view Item status. Otherwise, error fields will be `null` if no error has occurred; if an error has occurred, an error code will be returned instead.

Returns:



59
60
61
# File 'lib/the_plaid_api/models/payment_initiation_consent_status_update_webhook.rb', line 59

def error
  @error
end

#new_statusPaymentInitiationConsentStatus

The status of the payment consent. ‘UNAUTHORISED`: Consent created, but requires user authorisation. `REJECTED`: Consent authorisation was rejected by the bank. `AUTHORISED`: Consent is active and ready to be used. `REVOKED`: Consent has been revoked and can no longer be used. `EXPIRED`: Consent is no longer valid.



41
42
43
# File 'lib/the_plaid_api/models/payment_initiation_consent_status_update_webhook.rb', line 41

def new_status
  @new_status
end

#old_statusPaymentInitiationConsentStatus

The status of the payment consent. ‘UNAUTHORISED`: Consent created, but requires user authorisation. `REJECTED`: Consent authorisation was rejected by the bank. `AUTHORISED`: Consent is active and ready to be used. `REVOKED`: Consent has been revoked and can no longer be used. `EXPIRED`: Consent is no longer valid.



32
33
34
# File 'lib/the_plaid_api/models/payment_initiation_consent_status_update_webhook.rb', line 32

def old_status
  @old_status
end

#timestampDateTime

The timestamp of the update, in [ISO 8601](wikipedia.org/wiki/ISO_8601) format, e.g. ‘“2017-09-14T14:42:19.350Z”`

Returns:

  • (DateTime)


47
48
49
# File 'lib/the_plaid_api/models/payment_initiation_consent_status_update_webhook.rb', line 47

def timestamp
  @timestamp
end

#webhook_codeString

‘CONSENT_STATUS_UPDATE`

Returns:

  • (String)


19
20
21
# File 'lib/the_plaid_api/models/payment_initiation_consent_status_update_webhook.rb', line 19

def webhook_code
  @webhook_code
end

#webhook_typeString

‘PAYMENT_INITIATION`

Returns:

  • (String)


15
16
17
# File 'lib/the_plaid_api/models/payment_initiation_consent_status_update_webhook.rb', line 15

def webhook_type
  @webhook_type
end

Class Method Details

.from_hash(hash) ⇒ Object

Creates an instance of the object from a hash.



111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
# File 'lib/the_plaid_api/models/payment_initiation_consent_status_update_webhook.rb', line 111

def self.from_hash(hash)
  return nil unless hash

  # Extract variables from the hash.
  webhook_type = hash.key?('webhook_type') ? hash['webhook_type'] : nil
  webhook_code = hash.key?('webhook_code') ? hash['webhook_code'] : nil
  consent_id = hash.key?('consent_id') ? hash['consent_id'] : nil
  old_status = hash.key?('old_status') ? hash['old_status'] : nil
  new_status = hash.key?('new_status') ? hash['new_status'] : nil
  timestamp = if hash.key?('timestamp')
                (DateTimeHelper.from_rfc3339(hash['timestamp']) if hash['timestamp'])
              end
  environment = hash.key?('environment') ? hash['environment'] : nil
  error = Error.from_hash(hash['error']) if hash['error']

  # Create a new hash for additional properties, removing known properties.
  new_hash = hash.reject { |k, _| names.value?(k) }

  additional_properties = APIHelper.get_additional_properties(
    new_hash, proc { |value| value }
  )

  # Create object from extracted values.
  PaymentInitiationConsentStatusUpdateWebhook.new(webhook_type: webhook_type,
                                                  webhook_code: webhook_code,
                                                  consent_id: consent_id,
                                                  old_status: old_status,
                                                  new_status: new_status,
                                                  timestamp: timestamp,
                                                  environment: environment,
                                                  error: error,
                                                  additional_properties: additional_properties)
end

.namesObject

A mapping from model property names to API property names.



66
67
68
69
70
71
72
73
74
75
76
77
# File 'lib/the_plaid_api/models/payment_initiation_consent_status_update_webhook.rb', line 66

def self.names
  @_hash = {} if @_hash.nil?
  @_hash['webhook_type'] = 'webhook_type'
  @_hash['webhook_code'] = 'webhook_code'
  @_hash['consent_id'] = 'consent_id'
  @_hash['old_status'] = 'old_status'
  @_hash['new_status'] = 'new_status'
  @_hash['timestamp'] = 'timestamp'
  @_hash['error'] = 'error'
  @_hash['environment'] = 'environment'
  @_hash
end

.nullablesObject

An array for nullable fields



87
88
89
90
91
# File 'lib/the_plaid_api/models/payment_initiation_consent_status_update_webhook.rb', line 87

def self.nullables
  %w[
    error
  ]
end

.optionalsObject

An array for optional fields



80
81
82
83
84
# File 'lib/the_plaid_api/models/payment_initiation_consent_status_update_webhook.rb', line 80

def self.optionals
  %w[
    error
  ]
end

Instance Method Details

#inspectObject

Provides a debugging-friendly string with detailed object information.



159
160
161
162
163
164
165
166
# File 'lib/the_plaid_api/models/payment_initiation_consent_status_update_webhook.rb', line 159

def inspect
  class_name = self.class.name.split('::').last
  "<#{class_name} webhook_type: #{@webhook_type.inspect}, webhook_code:"\
  " #{@webhook_code.inspect}, consent_id: #{@consent_id.inspect}, old_status:"\
  " #{@old_status.inspect}, new_status: #{@new_status.inspect}, timestamp:"\
  " #{@timestamp.inspect}, error: #{@error.inspect}, environment: #{@environment.inspect},"\
  " additional_properties: #{@additional_properties}>"
end

#to_custom_timestampObject



145
146
147
# File 'lib/the_plaid_api/models/payment_initiation_consent_status_update_webhook.rb', line 145

def to_custom_timestamp
  DateTimeHelper.to_rfc3339(timestamp)
end

#to_sObject

Provides a human-readable string representation of the object.



150
151
152
153
154
155
156
# File 'lib/the_plaid_api/models/payment_initiation_consent_status_update_webhook.rb', line 150

def to_s
  class_name = self.class.name.split('::').last
  "<#{class_name} webhook_type: #{@webhook_type}, webhook_code: #{@webhook_code}, consent_id:"\
  " #{@consent_id}, old_status: #{@old_status}, new_status: #{@new_status}, timestamp:"\
  " #{@timestamp}, error: #{@error}, environment: #{@environment}, additional_properties:"\
  " #{@additional_properties}>"
end