transferzero-sdk 1.6.0 → 1.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +93 -0
  3. data/README.md +12 -4
  4. data/docs/Currency.md +0 -2
  5. data/docs/CurrencyExchange.md +0 -2
  6. data/docs/CurrencyOpposite.md +3 -3
  7. data/docs/Document.md +2 -0
  8. data/docs/PayoutMethod.md +1 -1
  9. data/docs/PayoutMethodCashProviderEnum.md +16 -0
  10. data/docs/PayoutMethodDetails.md +19 -5
  11. data/docs/PayoutMethodDetailsGBPBank.md +29 -0
  12. data/docs/PayoutMethodDetailsIBAN.md +1 -1
  13. data/docs/PayoutMethodDetailsMobile.md +3 -1
  14. data/docs/PayoutMethodDetailsXOFCash.md +27 -0
  15. data/docs/PayoutMethodDetailsZARBank.md +35 -0
  16. data/docs/ProofOfPayment.md +23 -0
  17. data/docs/ProofOfPaymentListResponse.md +17 -0
  18. data/docs/Recipient.md +3 -1
  19. data/docs/RecipientStateReasonDetails.md +23 -0
  20. data/docs/RecipientsApi.md +63 -1
  21. data/docs/Sender.md +20 -8
  22. data/lib/transferzero-sdk.rb +7 -0
  23. data/lib/transferzero-sdk/api/recipients_api.rb +56 -2
  24. data/lib/transferzero-sdk/api_client.rb +5 -3
  25. data/lib/transferzero-sdk/models/account.rb +70 -69
  26. data/lib/transferzero-sdk/models/account_list_response.rb +67 -66
  27. data/lib/transferzero-sdk/models/account_meta.rb +61 -60
  28. data/lib/transferzero-sdk/models/account_response.rb +66 -65
  29. data/lib/transferzero-sdk/models/account_validation_error.rb +61 -60
  30. data/lib/transferzero-sdk/models/account_validation_request.rb +164 -163
  31. data/lib/transferzero-sdk/models/account_validation_response.rb +66 -65
  32. data/lib/transferzero-sdk/models/account_validation_result.rb +61 -60
  33. data/lib/transferzero-sdk/models/api_log.rb +136 -135
  34. data/lib/transferzero-sdk/models/api_log_list_response.rb +70 -69
  35. data/lib/transferzero-sdk/models/api_log_response.rb +60 -59
  36. data/lib/transferzero-sdk/models/currency.rb +133 -142
  37. data/lib/transferzero-sdk/models/currency_exchange.rb +149 -158
  38. data/lib/transferzero-sdk/models/currency_exchange_list_response.rb +62 -61
  39. data/lib/transferzero-sdk/models/currency_list_response.rb +62 -61
  40. data/lib/transferzero-sdk/models/currency_opposite.rb +166 -165
  41. data/lib/transferzero-sdk/models/debit.rb +151 -150
  42. data/lib/transferzero-sdk/models/debit_list_request.rb +61 -60
  43. data/lib/transferzero-sdk/models/debit_list_response.rb +67 -66
  44. data/lib/transferzero-sdk/models/debit_request.rb +60 -59
  45. data/lib/transferzero-sdk/models/debit_request_wrapper.rb +80 -79
  46. data/lib/transferzero-sdk/models/debit_response.rb +60 -59
  47. data/lib/transferzero-sdk/models/document.rb +180 -169
  48. data/lib/transferzero-sdk/models/document_list_response.rb +67 -66
  49. data/lib/transferzero-sdk/models/document_request.rb +60 -59
  50. data/lib/transferzero-sdk/models/document_response.rb +60 -59
  51. data/lib/transferzero-sdk/models/document_webhook.rb +96 -95
  52. data/lib/transferzero-sdk/models/error_status.rb +66 -65
  53. data/lib/transferzero-sdk/models/field_description.rb +95 -94
  54. data/lib/transferzero-sdk/models/field_select_validation.rb +70 -69
  55. data/lib/transferzero-sdk/models/field_validation.rb +78 -77
  56. data/lib/transferzero-sdk/models/pagination.rb +97 -96
  57. data/lib/transferzero-sdk/models/pagination_meta.rb +60 -59
  58. data/lib/transferzero-sdk/models/payin_method.rb +97 -96
  59. data/lib/transferzero-sdk/models/payin_method_details.rb +122 -121
  60. data/lib/transferzero-sdk/models/payin_method_details_btc.rb +62 -61
  61. data/lib/transferzero-sdk/models/payin_method_details_mobile.rb +75 -74
  62. data/lib/transferzero-sdk/models/payin_method_details_ngn_bank.rb +71 -70
  63. data/lib/transferzero-sdk/models/payin_method_request.rb +60 -59
  64. data/lib/transferzero-sdk/models/payment_method.rb +109 -108
  65. data/lib/transferzero-sdk/models/payment_method_list_response.rb +61 -60
  66. data/lib/transferzero-sdk/models/payment_method_opposite.rb +124 -123
  67. data/lib/transferzero-sdk/models/payout_method.rb +107 -106
  68. data/lib/transferzero-sdk/models/payout_method_bank_account_type_enum.rb +14 -19
  69. data/lib/transferzero-sdk/models/payout_method_cash_provider_enum.rb +31 -0
  70. data/lib/transferzero-sdk/models/payout_method_details.rb +402 -320
  71. data/lib/transferzero-sdk/models/payout_method_details_balance.rb +61 -60
  72. data/lib/transferzero-sdk/models/payout_method_details_btc.rb +97 -96
  73. data/lib/transferzero-sdk/models/payout_method_details_gbp_bank.rb +267 -0
  74. data/lib/transferzero-sdk/models/payout_method_details_ghs_bank.rb +97 -96
  75. data/lib/transferzero-sdk/models/payout_method_details_iban.rb +100 -104
  76. data/lib/transferzero-sdk/models/payout_method_details_mad_cash.rb +162 -161
  77. data/lib/transferzero-sdk/models/payout_method_details_mobile.rb +93 -83
  78. data/lib/transferzero-sdk/models/payout_method_details_ngn_bank.rb +104 -103
  79. data/lib/transferzero-sdk/models/payout_method_details_xof_bank.rb +108 -107
  80. data/lib/transferzero-sdk/models/payout_method_details_xof_cash.rb +263 -0
  81. data/lib/transferzero-sdk/models/payout_method_details_xof_mobile.rb +97 -96
  82. data/lib/transferzero-sdk/models/payout_method_details_zar_bank.rb +324 -0
  83. data/lib/transferzero-sdk/models/payout_method_gender_enum.rb +14 -19
  84. data/lib/transferzero-sdk/models/payout_method_identity_card_type_enum.rb +15 -20
  85. data/lib/transferzero-sdk/models/payout_method_list_response.rb +67 -66
  86. data/lib/transferzero-sdk/models/payout_method_mobile_provider_enum.rb +17 -19
  87. data/lib/transferzero-sdk/models/payout_method_request.rb +60 -59
  88. data/lib/transferzero-sdk/models/payout_method_response.rb +60 -59
  89. data/lib/transferzero-sdk/models/payout_method_webhook.rb +96 -95
  90. data/lib/transferzero-sdk/models/politically_exposed_person.rb +123 -122
  91. data/lib/transferzero-sdk/models/proof_of_payment.rb +233 -0
  92. data/lib/transferzero-sdk/models/proof_of_payment_list_response.rb +204 -0
  93. data/lib/transferzero-sdk/models/recipient.rb +237 -227
  94. data/lib/transferzero-sdk/models/recipient_list_response.rb +67 -66
  95. data/lib/transferzero-sdk/models/recipient_request.rb +60 -59
  96. data/lib/transferzero-sdk/models/recipient_response.rb +60 -59
  97. data/lib/transferzero-sdk/models/recipient_state.rb +22 -27
  98. data/lib/transferzero-sdk/models/recipient_state_reason_details.rb +235 -0
  99. data/lib/transferzero-sdk/models/recipient_webhook.rb +96 -95
  100. data/lib/transferzero-sdk/models/sender.rb +565 -480
  101. data/lib/transferzero-sdk/models/sender_list_response.rb +67 -66
  102. data/lib/transferzero-sdk/models/sender_request.rb +60 -59
  103. data/lib/transferzero-sdk/models/sender_response.rb +66 -65
  104. data/lib/transferzero-sdk/models/sender_response_existing.rb +60 -59
  105. data/lib/transferzero-sdk/models/sender_response_meta.rb +60 -59
  106. data/lib/transferzero-sdk/models/sender_state.rb +19 -24
  107. data/lib/transferzero-sdk/models/sender_webhook.rb +96 -95
  108. data/lib/transferzero-sdk/models/transaction.rb +192 -191
  109. data/lib/transferzero-sdk/models/transaction_list_response.rb +67 -66
  110. data/lib/transferzero-sdk/models/transaction_request.rb +60 -59
  111. data/lib/transferzero-sdk/models/transaction_response.rb +66 -65
  112. data/lib/transferzero-sdk/models/transaction_response_existing.rb +66 -65
  113. data/lib/transferzero-sdk/models/transaction_response_meta.rb +60 -59
  114. data/lib/transferzero-sdk/models/transaction_state.rb +23 -28
  115. data/lib/transferzero-sdk/models/transaction_traits.rb +71 -70
  116. data/lib/transferzero-sdk/models/transaction_webhook.rb +96 -95
  117. data/lib/transferzero-sdk/models/validation_error_description.rb +62 -61
  118. data/lib/transferzero-sdk/models/webhook.rb +92 -91
  119. data/lib/transferzero-sdk/models/webhook_definition.rb +107 -106
  120. data/lib/transferzero-sdk/models/webhook_definition_event_list_response.rb +61 -60
  121. data/lib/transferzero-sdk/models/webhook_definition_list_response.rb +67 -66
  122. data/lib/transferzero-sdk/models/webhook_definition_request.rb +60 -59
  123. data/lib/transferzero-sdk/models/webhook_definition_response.rb +60 -59
  124. data/lib/transferzero-sdk/models/webhook_log.rb +97 -96
  125. data/lib/transferzero-sdk/models/webhook_log_list_response.rb +70 -69
  126. data/lib/transferzero-sdk/models/webhook_log_metadata.rb +129 -128
  127. data/lib/transferzero-sdk/models/webhook_log_metadata_request.rb +80 -79
  128. data/lib/transferzero-sdk/models/webhook_log_metadata_response.rb +81 -80
  129. data/lib/transferzero-sdk/models/webhook_log_response.rb +60 -59
  130. data/lib/transferzero-sdk/version.rb +1 -1
  131. data/spec/models/payout_method_cash_provider_enum_spec.rb +35 -0
  132. data/spec/models/payout_method_details_gbp_bank_spec.rb +77 -0
  133. data/spec/models/payout_method_details_xof_cash_spec.rb +71 -0
  134. data/spec/models/payout_method_details_zar_bank_spec.rb +89 -0
  135. data/spec/models/proof_of_payment_list_response_spec.rb +41 -0
  136. data/spec/models/proof_of_payment_spec.rb +59 -0
  137. data/spec/models/recipient_state_reason_details_spec.rb +59 -0
  138. metadata +32 -3
@@ -13,24 +13,19 @@ OpenAPI Generator version: 4.0.0-beta3
13
13
  require 'date'
14
14
 
15
15
  module TransferZero
16
- class PayoutMethodBankAccountTypeEnum
17
- N10 = "10".freeze
18
- N20 = "20".freeze
19
-
20
- # Builds the enum from string
21
- # @param [String] The enum value in the form of the string
22
- # @return [String] The enum value
23
- def self.build_from_hash(value)
24
- new.build_from_hash(value)
25
- end
26
-
27
- # Builds the enum from string
28
- # @param [String] The enum value in the form of the string
29
- # @return [String] The enum value
30
- def build_from_hash(value)
31
- constantValues = PayoutMethodBankAccountTypeEnum.constants.select { |c| PayoutMethodBankAccountTypeEnum::const_get(c) == value }
32
- raise "Invalid ENUM value #{value} for class #PayoutMethodBankAccountTypeEnum" if constantValues.empty?
33
- value
34
- end
16
+ class PayoutMethodBankAccountTypeEnum
17
+
18
+ N10 = "10".freeze
19
+ N20 = "20".freeze
20
+
21
+ # Builds the enum from string
22
+ # @param [String] The enum value in the form of the string
23
+ # @return [String] The enum value
24
+ def build_from_hash(value)
25
+ constantValues = PayoutMethodBankAccountTypeEnum.constants.select { |c| PayoutMethodBankAccountTypeEnum::const_get(c) == value }
26
+ raise "Invalid ENUM value #{value} for class #PayoutMethodBankAccountTypeEnum" if constantValues.empty? && !value.empty?
27
+ value
35
28
  end
36
29
  end
30
+
31
+ end
@@ -0,0 +1,31 @@
1
+ =begin
2
+ #TransferZero API
3
+
4
+ #Reference documentation for the TransferZero API V1
5
+
6
+ OpenAPI spec version: 1.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 4.0.0-beta3
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module TransferZero
16
+ class PayoutMethodCashProviderEnum
17
+
18
+ WARI = "wari".freeze
19
+ WIZALL = "wizall".freeze
20
+
21
+ # Builds the enum from string
22
+ # @param [String] The enum value in the form of the string
23
+ # @return [String] The enum value
24
+ def build_from_hash(value)
25
+ constantValues = PayoutMethodCashProviderEnum.constants.select { |c| PayoutMethodCashProviderEnum::const_get(c) == value }
26
+ raise "Invalid ENUM value #{value} for class #PayoutMethodCashProviderEnum" if constantValues.empty? && !value.empty?
27
+ value
28
+ end
29
+ end
30
+
31
+ end
@@ -13,376 +13,457 @@ OpenAPI Generator version: 4.0.0-beta3
13
13
  require 'date'
14
14
 
15
15
  module TransferZero
16
- class PayoutMethodDetails
17
- attr_accessor :first_name
16
+ class PayoutMethodDetails
17
+ attr_accessor :first_name
18
18
 
19
- attr_accessor :last_name
19
+ attr_accessor :last_name
20
20
 
21
- attr_accessor :bank_code
21
+ attr_accessor :bank_code
22
22
 
23
- attr_accessor :bank_account
24
-
25
- attr_accessor :bank_account_type
26
-
27
- attr_accessor :phone_number
28
-
29
- attr_accessor :mobile_provider
30
-
31
- attr_accessor :iban
32
-
33
- attr_accessor :bank_name
34
-
35
- attr_accessor :bank_country
36
-
37
- attr_accessor :bic
38
-
39
- attr_accessor :sender_identity_card_type
40
-
41
- attr_accessor :sender_identity_card_id
42
-
43
- attr_accessor :sender_city_of_birth
44
-
45
- attr_accessor :sender_country_of_birth
46
-
47
- attr_accessor :sender_gender
48
-
49
- attr_accessor :reason
50
-
51
- attr_accessor :identity_card_type
52
-
53
- attr_accessor :identity_card_id
54
-
55
- attr_accessor :reference
56
-
57
- attr_accessor :name
58
-
59
- attr_accessor :address
60
-
61
- # Attribute mapping from ruby-style variable name to JSON key.
62
- def self.attribute_map
63
- {
64
- :'first_name' => :'first_name',
65
- :'last_name' => :'last_name',
66
- :'bank_code' => :'bank_code',
67
- :'bank_account' => :'bank_account',
68
- :'bank_account_type' => :'bank_account_type',
69
- :'phone_number' => :'phone_number',
70
- :'mobile_provider' => :'mobile_provider',
71
- :'iban' => :'iban',
72
- :'bank_name' => :'bank_name',
73
- :'bank_country' => :'bank_country',
74
- :'bic' => :'bic',
75
- :'sender_identity_card_type' => :'sender_identity_card_type',
76
- :'sender_identity_card_id' => :'sender_identity_card_id',
77
- :'sender_city_of_birth' => :'sender_city_of_birth',
78
- :'sender_country_of_birth' => :'sender_country_of_birth',
79
- :'sender_gender' => :'sender_gender',
80
- :'reason' => :'reason',
81
- :'identity_card_type' => :'identity_card_type',
82
- :'identity_card_id' => :'identity_card_id',
83
- :'reference' => :'reference',
84
- :'name' => :'name',
85
- :'address' => :'address'
86
- }
87
- end
88
-
89
- # Attribute type mapping.
90
- def self.openapi_types
91
- {
92
- :'first_name' => :'String',
93
- :'last_name' => :'String',
94
- :'bank_code' => :'String',
95
- :'bank_account' => :'String',
96
- :'bank_account_type' => :'PayoutMethodBankAccountTypeEnum',
97
- :'phone_number' => :'String',
98
- :'mobile_provider' => :'PayoutMethodMobileProviderEnum',
99
- :'iban' => :'String',
100
- :'bank_name' => :'String',
101
- :'bank_country' => :'String',
102
- :'bic' => :'String',
103
- :'sender_identity_card_type' => :'PayoutMethodIdentityCardTypeEnum',
104
- :'sender_identity_card_id' => :'String',
105
- :'sender_city_of_birth' => :'String',
106
- :'sender_country_of_birth' => :'String',
107
- :'sender_gender' => :'PayoutMethodGenderEnum',
108
- :'reason' => :'String',
109
- :'identity_card_type' => :'PayoutMethodIdentityCardTypeEnum',
110
- :'identity_card_id' => :'String',
111
- :'reference' => :'String',
112
- :'name' => :'String',
113
- :'address' => :'String'
114
- }
115
- end
116
-
117
- # List of class defined in oneOf (OpenAPI v3)
118
- def self.openapi_one_of
119
- [
120
- :'PayoutMethodDetailsBTC',
121
- :'PayoutMethodDetailsBalance',
122
- :'PayoutMethodDetailsGHSBank',
123
- :'PayoutMethodDetailsIBAN',
124
- :'PayoutMethodDetailsMADCash',
125
- :'PayoutMethodDetailsMobile',
126
- :'PayoutMethodDetailsNGNBank',
127
- :'PayoutMethodDetailsXOFBank',
128
- :'PayoutMethodDetailsXOFMobile'
129
- ]
130
- end
131
-
132
- # Initializes the object
133
- # @param [Hash] attributes Model attributes in the form of hash
134
- def initialize(attributes = {})
135
- if (!attributes.is_a?(Hash))
136
- fail ArgumentError, "The input argument (attributes) must be a hash in `TransferZero::PayoutMethodDetails` initialize method"
137
- end
23
+ attr_accessor :bank_account
138
24
 
139
- # check to see if the attribute exists and convert string to symbol for hash key
140
- attributes = attributes.each_with_object({}) { |(k, v), h|
141
- if (!self.class.attribute_map.key?(k.to_sym))
142
- fail ArgumentError, "`#{k}` is not a valid attribute in `TransferZero::PayoutMethodDetails`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
143
- end
144
- h[k.to_sym] = v
145
- }
25
+ attr_accessor :bank_account_type
146
26
 
147
- if attributes.key?(:'first_name')
148
- self.first_name = attributes[:'first_name']
149
- end
27
+ attr_accessor :phone_number
150
28
 
151
- if attributes.key?(:'last_name')
152
- self.last_name = attributes[:'last_name']
153
- end
29
+ attr_accessor :mobile_provider
154
30
 
155
- if attributes.key?(:'bank_code')
156
- self.bank_code = attributes[:'bank_code']
157
- end
31
+ attr_accessor :iban
158
32
 
159
- if attributes.key?(:'bank_account')
160
- self.bank_account = attributes[:'bank_account']
161
- end
33
+ attr_accessor :bank_name
162
34
 
163
- if attributes.key?(:'bank_account_type')
164
- self.bank_account_type = attributes[:'bank_account_type']
165
- end
35
+ attr_accessor :bank_country
166
36
 
167
- if attributes.key?(:'phone_number')
168
- self.phone_number = attributes[:'phone_number']
169
- end
37
+ attr_accessor :identity_card_id
170
38
 
171
- if attributes.key?(:'mobile_provider')
172
- self.mobile_provider = attributes[:'mobile_provider']
173
- end
39
+ attr_accessor :identity_card_type
174
40
 
175
- if attributes.key?(:'iban')
176
- self.iban = attributes[:'iban']
177
- end
41
+ attr_accessor :cash_provider
178
42
 
179
- if attributes.key?(:'bank_name')
180
- self.bank_name = attributes[:'bank_name']
181
- end
43
+ attr_accessor :sort_code
182
44
 
183
- if attributes.key?(:'bank_country')
184
- self.bank_country = attributes[:'bank_country']
185
- end
45
+ attr_accessor :bic
186
46
 
187
- if attributes.key?(:'bic')
188
- self.bic = attributes[:'bic']
189
- end
47
+ attr_accessor :sender_identity_card_type
190
48
 
191
- if attributes.key?(:'sender_identity_card_type')
192
- self.sender_identity_card_type = attributes[:'sender_identity_card_type']
193
- end
49
+ attr_accessor :sender_identity_card_id
194
50
 
195
- if attributes.key?(:'sender_identity_card_id')
196
- self.sender_identity_card_id = attributes[:'sender_identity_card_id']
197
- end
51
+ attr_accessor :sender_city_of_birth
198
52
 
199
- if attributes.key?(:'sender_city_of_birth')
200
- self.sender_city_of_birth = attributes[:'sender_city_of_birth']
201
- end
53
+ attr_accessor :sender_country_of_birth
202
54
 
203
- if attributes.key?(:'sender_country_of_birth')
204
- self.sender_country_of_birth = attributes[:'sender_country_of_birth']
205
- end
55
+ attr_accessor :sender_gender
206
56
 
207
- if attributes.key?(:'sender_gender')
208
- self.sender_gender = attributes[:'sender_gender']
209
- end
57
+ attr_accessor :reason
210
58
 
211
- if attributes.key?(:'reason')
212
- self.reason = attributes[:'reason']
213
- end
59
+ attr_accessor :reference
214
60
 
215
- if attributes.key?(:'identity_card_type')
216
- self.identity_card_type = attributes[:'identity_card_type']
217
- end
61
+ attr_accessor :name
218
62
 
219
- if attributes.key?(:'identity_card_id')
220
- self.identity_card_id = attributes[:'identity_card_id']
221
- end
63
+ attr_accessor :address
222
64
 
223
- if attributes.key?(:'reference')
224
- self.reference = attributes[:'reference']
225
- end
65
+ attr_accessor :street
226
66
 
227
- if attributes.key?(:'name')
228
- self.name = attributes[:'name']
229
- end
67
+ attr_accessor :postal_code
230
68
 
231
- if attributes.key?(:'address')
232
- self.address = attributes[:'address']
233
- end
69
+ attr_accessor :city
70
+
71
+ attr_accessor :email
72
+
73
+ attr_accessor :transfer_reason_code
74
+
75
+ # Attribute mapping from ruby-style variable name to JSON key.
76
+ def self.attribute_map
77
+ {
78
+ :'first_name' => :'first_name',
79
+ :'last_name' => :'last_name',
80
+ :'bank_code' => :'bank_code',
81
+ :'bank_account' => :'bank_account',
82
+ :'bank_account_type' => :'bank_account_type',
83
+ :'phone_number' => :'phone_number',
84
+ :'mobile_provider' => :'mobile_provider',
85
+ :'iban' => :'iban',
86
+ :'bank_name' => :'bank_name',
87
+ :'bank_country' => :'bank_country',
88
+ :'identity_card_id' => :'identity_card_id',
89
+ :'identity_card_type' => :'identity_card_type',
90
+ :'cash_provider' => :'cash_provider',
91
+ :'sort_code' => :'sort_code',
92
+ :'bic' => :'bic',
93
+ :'sender_identity_card_type' => :'sender_identity_card_type',
94
+ :'sender_identity_card_id' => :'sender_identity_card_id',
95
+ :'sender_city_of_birth' => :'sender_city_of_birth',
96
+ :'sender_country_of_birth' => :'sender_country_of_birth',
97
+ :'sender_gender' => :'sender_gender',
98
+ :'reason' => :'reason',
99
+ :'reference' => :'reference',
100
+ :'name' => :'name',
101
+ :'address' => :'address',
102
+ :'street' => :'street',
103
+ :'postal_code' => :'postal_code',
104
+ :'city' => :'city',
105
+ :'email' => :'email',
106
+ :'transfer_reason_code' => :'transfer_reason_code'
107
+ }
108
+ end
109
+
110
+ # Attribute type mapping.
111
+ def self.openapi_types
112
+ {
113
+ :'first_name' => :'String',
114
+ :'last_name' => :'String',
115
+ :'bank_code' => :'String',
116
+ :'bank_account' => :'String',
117
+ :'bank_account_type' => :'PayoutMethodBankAccountTypeEnum',
118
+ :'phone_number' => :'String',
119
+ :'mobile_provider' => :'PayoutMethodMobileProviderEnum',
120
+ :'iban' => :'String',
121
+ :'bank_name' => :'String',
122
+ :'bank_country' => :'String',
123
+ :'identity_card_id' => :'String',
124
+ :'identity_card_type' => :'PayoutMethodIdentityCardTypeEnum',
125
+ :'cash_provider' => :'PayoutMethodCashProviderEnum',
126
+ :'sort_code' => :'String',
127
+ :'bic' => :'String',
128
+ :'sender_identity_card_type' => :'PayoutMethodIdentityCardTypeEnum',
129
+ :'sender_identity_card_id' => :'String',
130
+ :'sender_city_of_birth' => :'String',
131
+ :'sender_country_of_birth' => :'String',
132
+ :'sender_gender' => :'PayoutMethodGenderEnum',
133
+ :'reason' => :'String',
134
+ :'reference' => :'String',
135
+ :'name' => :'String',
136
+ :'address' => :'String',
137
+ :'street' => :'String',
138
+ :'postal_code' => :'String',
139
+ :'city' => :'String',
140
+ :'email' => :'String',
141
+ :'transfer_reason_code' => :'String'
142
+ }
143
+ end
144
+
145
+ # List of class defined in oneOf (OpenAPI v3)
146
+ def self.openapi_one_of
147
+ [
148
+ :'PayoutMethodDetailsBTC',
149
+ :'PayoutMethodDetailsBalance',
150
+ :'PayoutMethodDetailsGBPBank',
151
+ :'PayoutMethodDetailsGHSBank',
152
+ :'PayoutMethodDetailsIBAN',
153
+ :'PayoutMethodDetailsMADCash',
154
+ :'PayoutMethodDetailsMobile',
155
+ :'PayoutMethodDetailsNGNBank',
156
+ :'PayoutMethodDetailsXOFBank',
157
+ :'PayoutMethodDetailsXOFCash',
158
+ :'PayoutMethodDetailsXOFMobile',
159
+ :'PayoutMethodDetailsZARBank'
160
+ ]
161
+ end
162
+
163
+ # Initializes the object
164
+ # @param [Hash] attributes Model attributes in the form of hash
165
+ def initialize(attributes = {})
166
+ if (!attributes.is_a?(Hash))
167
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TransferZero::PayoutMethodDetails` initialize method"
234
168
  end
235
169
 
236
- # Show invalid properties with the reasons. Usually used together with valid?
237
- # @return Array for valid properties with the reasons
238
- def list_invalid_properties
239
- invalid_properties = Array.new
240
- if @first_name.nil?
241
- invalid_properties.push('invalid value for "first_name", first_name cannot be nil.')
170
+ # check to see if the attribute exists and convert string to symbol for hash key
171
+ attributes = attributes.each_with_object({}) { |(k, v), h|
172
+ if (!self.class.attribute_map.key?(k.to_sym))
173
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TransferZero::PayoutMethodDetails`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
242
174
  end
175
+ h[k.to_sym] = v
176
+ }
243
177
 
244
- if @last_name.nil?
245
- invalid_properties.push('invalid value for "last_name", last_name cannot be nil.')
246
- end
178
+ if attributes.key?(:'first_name')
179
+ self.first_name = attributes[:'first_name']
180
+ end
247
181
 
248
- if @bank_code.nil?
249
- invalid_properties.push('invalid value for "bank_code", bank_code cannot be nil.')
250
- end
182
+ if attributes.key?(:'last_name')
183
+ self.last_name = attributes[:'last_name']
184
+ end
251
185
 
252
- if @bank_account.nil?
253
- invalid_properties.push('invalid value for "bank_account", bank_account cannot be nil.')
254
- end
186
+ if attributes.key?(:'bank_code')
187
+ self.bank_code = attributes[:'bank_code']
188
+ end
255
189
 
256
- if @phone_number.nil?
257
- invalid_properties.push('invalid value for "phone_number", phone_number cannot be nil.')
258
- end
190
+ if attributes.key?(:'bank_account')
191
+ self.bank_account = attributes[:'bank_account']
192
+ end
259
193
 
260
- if @mobile_provider.nil?
261
- invalid_properties.push('invalid value for "mobile_provider", mobile_provider cannot be nil.')
262
- end
194
+ if attributes.key?(:'bank_account_type')
195
+ self.bank_account_type = attributes[:'bank_account_type']
196
+ end
263
197
 
264
- if @iban.nil?
265
- invalid_properties.push('invalid value for "iban", iban cannot be nil.')
266
- end
198
+ if attributes.key?(:'phone_number')
199
+ self.phone_number = attributes[:'phone_number']
200
+ end
267
201
 
268
- if @bank_name.nil?
269
- invalid_properties.push('invalid value for "bank_name", bank_name cannot be nil.')
270
- end
202
+ if attributes.key?(:'mobile_provider')
203
+ self.mobile_provider = attributes[:'mobile_provider']
204
+ end
271
205
 
272
- if @bank_country.nil?
273
- invalid_properties.push('invalid value for "bank_country", bank_country cannot be nil.')
274
- end
206
+ if attributes.key?(:'iban')
207
+ self.iban = attributes[:'iban']
208
+ end
275
209
 
276
- if @sender_identity_card_type.nil?
277
- invalid_properties.push('invalid value for "sender_identity_card_type", sender_identity_card_type cannot be nil.')
278
- end
210
+ if attributes.key?(:'bank_name')
211
+ self.bank_name = attributes[:'bank_name']
212
+ end
279
213
 
280
- if @sender_identity_card_id.nil?
281
- invalid_properties.push('invalid value for "sender_identity_card_id", sender_identity_card_id cannot be nil.')
282
- end
214
+ if attributes.key?(:'bank_country')
215
+ self.bank_country = attributes[:'bank_country']
216
+ end
283
217
 
284
- if @sender_city_of_birth.nil?
285
- invalid_properties.push('invalid value for "sender_city_of_birth", sender_city_of_birth cannot be nil.')
286
- end
218
+ if attributes.key?(:'identity_card_id')
219
+ self.identity_card_id = attributes[:'identity_card_id']
220
+ end
287
221
 
288
- if @sender_country_of_birth.nil?
289
- invalid_properties.push('invalid value for "sender_country_of_birth", sender_country_of_birth cannot be nil.')
290
- end
222
+ if attributes.key?(:'identity_card_type')
223
+ self.identity_card_type = attributes[:'identity_card_type']
224
+ end
291
225
 
292
- if @sender_gender.nil?
293
- invalid_properties.push('invalid value for "sender_gender", sender_gender cannot be nil.')
294
- end
226
+ if attributes.key?(:'cash_provider')
227
+ self.cash_provider = attributes[:'cash_provider']
228
+ end
295
229
 
296
- if @name.nil?
297
- invalid_properties.push('invalid value for "name", name cannot be nil.')
298
- end
230
+ if attributes.key?(:'sort_code')
231
+ self.sort_code = attributes[:'sort_code']
232
+ end
299
233
 
300
- if @address.nil?
301
- invalid_properties.push('invalid value for "address", address cannot be nil.')
302
- end
234
+ if attributes.key?(:'bic')
235
+ self.bic = attributes[:'bic']
236
+ end
303
237
 
304
- invalid_properties
305
- end
306
-
307
- # Check to see if the all the properties in the model are valid
308
- # @return true if the model is valid
309
- def valid?
310
- return false if @first_name.nil?
311
- return false if @last_name.nil?
312
- return false if @bank_code.nil?
313
- return false if @bank_account.nil?
314
- return false if @phone_number.nil?
315
- return false if @mobile_provider.nil?
316
- return false if @iban.nil?
317
- return false if @bank_name.nil?
318
- return false if @bank_country.nil?
319
- return false if @sender_identity_card_type.nil?
320
- return false if @sender_identity_card_id.nil?
321
- return false if @sender_city_of_birth.nil?
322
- return false if @sender_country_of_birth.nil?
323
- return false if @sender_gender.nil?
324
- return false if @name.nil?
325
- return false if @address.nil?
326
- _one_of_found = false
327
- openapi_one_of.each do |_class|
328
- _one_of = TransferZero.const_get(_class).build_from_hash(self.to_hash)
329
- if _one_of.valid?
330
- if _one_of_found?
331
- return false
332
- else
333
- _one_of_found = true
334
- end
335
- end
336
- end
238
+ if attributes.key?(:'sender_identity_card_type')
239
+ self.sender_identity_card_type = attributes[:'sender_identity_card_type']
240
+ end
337
241
 
338
- if !_one_of_found?
339
- return false
340
- end
242
+ if attributes.key?(:'sender_identity_card_id')
243
+ self.sender_identity_card_id = attributes[:'sender_identity_card_id']
244
+ end
341
245
 
342
- true
246
+ if attributes.key?(:'sender_city_of_birth')
247
+ self.sender_city_of_birth = attributes[:'sender_city_of_birth']
343
248
  end
344
249
 
345
- # Checks equality by comparing each attribute.
346
- # @param [Object] Object to be compared
347
- def ==(o)
348
- return true if self.equal?(o)
349
- self.class == o.class &&
350
- first_name == o.first_name &&
351
- last_name == o.last_name &&
352
- bank_code == o.bank_code &&
353
- bank_account == o.bank_account &&
354
- bank_account_type == o.bank_account_type &&
355
- phone_number == o.phone_number &&
356
- mobile_provider == o.mobile_provider &&
357
- iban == o.iban &&
358
- bank_name == o.bank_name &&
359
- bank_country == o.bank_country &&
360
- bic == o.bic &&
361
- sender_identity_card_type == o.sender_identity_card_type &&
362
- sender_identity_card_id == o.sender_identity_card_id &&
363
- sender_city_of_birth == o.sender_city_of_birth &&
364
- sender_country_of_birth == o.sender_country_of_birth &&
365
- sender_gender == o.sender_gender &&
366
- reason == o.reason &&
367
- identity_card_type == o.identity_card_type &&
368
- identity_card_id == o.identity_card_id &&
369
- reference == o.reference &&
370
- name == o.name &&
371
- address == o.address
372
- end
373
-
374
- # @see the `==` method
375
- # @param [Object] Object to be compared
376
- def eql?(o)
377
- self == o
378
- end
379
-
380
- # Calculates hash code according to all attributes.
381
- # @return [Integer] Hash code
382
- def hash
383
- [first_name, last_name, bank_code, bank_account, bank_account_type, phone_number, mobile_provider, iban, bank_name, bank_country, bic, sender_identity_card_type, sender_identity_card_id, sender_city_of_birth, sender_country_of_birth, sender_gender, reason, identity_card_type, identity_card_id, reference, name, address].hash
250
+ if attributes.key?(:'sender_country_of_birth')
251
+ self.sender_country_of_birth = attributes[:'sender_country_of_birth']
384
252
  end
385
253
 
254
+ if attributes.key?(:'sender_gender')
255
+ self.sender_gender = attributes[:'sender_gender']
256
+ end
257
+
258
+ if attributes.key?(:'reason')
259
+ self.reason = attributes[:'reason']
260
+ end
261
+
262
+ if attributes.key?(:'reference')
263
+ self.reference = attributes[:'reference']
264
+ end
265
+
266
+ if attributes.key?(:'name')
267
+ self.name = attributes[:'name']
268
+ end
269
+
270
+ if attributes.key?(:'address')
271
+ self.address = attributes[:'address']
272
+ end
273
+
274
+ if attributes.key?(:'street')
275
+ self.street = attributes[:'street']
276
+ end
277
+
278
+ if attributes.key?(:'postal_code')
279
+ self.postal_code = attributes[:'postal_code']
280
+ end
281
+
282
+ if attributes.key?(:'city')
283
+ self.city = attributes[:'city']
284
+ end
285
+
286
+ if attributes.key?(:'email')
287
+ self.email = attributes[:'email']
288
+ end
289
+
290
+ if attributes.key?(:'transfer_reason_code')
291
+ self.transfer_reason_code = attributes[:'transfer_reason_code']
292
+ end
293
+ end
294
+
295
+ # Show invalid properties with the reasons. Usually used together with valid?
296
+ # @return Array for valid properties with the reasons
297
+ def list_invalid_properties
298
+ invalid_properties = Array.new
299
+ if @first_name.nil?
300
+ invalid_properties.push('invalid value for "first_name", first_name cannot be nil.')
301
+ end
302
+
303
+ if @last_name.nil?
304
+ invalid_properties.push('invalid value for "last_name", last_name cannot be nil.')
305
+ end
306
+
307
+ if @bank_code.nil?
308
+ invalid_properties.push('invalid value for "bank_code", bank_code cannot be nil.')
309
+ end
310
+
311
+ if @bank_account.nil?
312
+ invalid_properties.push('invalid value for "bank_account", bank_account cannot be nil.')
313
+ end
314
+
315
+ if @phone_number.nil?
316
+ invalid_properties.push('invalid value for "phone_number", phone_number cannot be nil.')
317
+ end
318
+
319
+ if @mobile_provider.nil?
320
+ invalid_properties.push('invalid value for "mobile_provider", mobile_provider cannot be nil.')
321
+ end
322
+
323
+ if @iban.nil?
324
+ invalid_properties.push('invalid value for "iban", iban cannot be nil.')
325
+ end
326
+
327
+ if @bank_name.nil?
328
+ invalid_properties.push('invalid value for "bank_name", bank_name cannot be nil.')
329
+ end
330
+
331
+ if @bank_country.nil?
332
+ invalid_properties.push('invalid value for "bank_country", bank_country cannot be nil.')
333
+ end
334
+
335
+ if @sender_identity_card_type.nil?
336
+ invalid_properties.push('invalid value for "sender_identity_card_type", sender_identity_card_type cannot be nil.')
337
+ end
338
+
339
+ if @sender_identity_card_id.nil?
340
+ invalid_properties.push('invalid value for "sender_identity_card_id", sender_identity_card_id cannot be nil.')
341
+ end
342
+
343
+ if @sender_city_of_birth.nil?
344
+ invalid_properties.push('invalid value for "sender_city_of_birth", sender_city_of_birth cannot be nil.')
345
+ end
346
+
347
+ if @sender_country_of_birth.nil?
348
+ invalid_properties.push('invalid value for "sender_country_of_birth", sender_country_of_birth cannot be nil.')
349
+ end
350
+
351
+ if @sender_gender.nil?
352
+ invalid_properties.push('invalid value for "sender_gender", sender_gender cannot be nil.')
353
+ end
354
+
355
+ if @name.nil?
356
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
357
+ end
358
+
359
+ if @address.nil?
360
+ invalid_properties.push('invalid value for "address", address cannot be nil.')
361
+ end
362
+
363
+ if @street.nil?
364
+ invalid_properties.push('invalid value for "street", street cannot be nil.')
365
+ end
366
+
367
+ if @postal_code.nil?
368
+ invalid_properties.push('invalid value for "postal_code", postal_code cannot be nil.')
369
+ end
370
+
371
+ if @city.nil?
372
+ invalid_properties.push('invalid value for "city", city cannot be nil.')
373
+ end
374
+
375
+ invalid_properties
376
+ end
377
+
378
+ # Check to see if the all the properties in the model are valid
379
+ # @return true if the model is valid
380
+ def valid?
381
+ return false if @first_name.nil?
382
+ return false if @last_name.nil?
383
+ return false if @bank_code.nil?
384
+ return false if @bank_account.nil?
385
+ return false if @phone_number.nil?
386
+ return false if @mobile_provider.nil?
387
+ return false if @iban.nil?
388
+ return false if @bank_name.nil?
389
+ return false if @bank_country.nil?
390
+ return false if @sender_identity_card_type.nil?
391
+ return false if @sender_identity_card_id.nil?
392
+ return false if @sender_city_of_birth.nil?
393
+ return false if @sender_country_of_birth.nil?
394
+ return false if @sender_gender.nil?
395
+ return false if @name.nil?
396
+ return false if @address.nil?
397
+ return false if @street.nil?
398
+ return false if @postal_code.nil?
399
+ return false if @city.nil?
400
+ _one_of_found = false
401
+ openapi_one_of.each do |_class|
402
+ _one_of = TransferZero.const_get(_class).build_from_hash(self.to_hash)
403
+ if _one_of.valid?
404
+ if _one_of_found?
405
+ return false
406
+ else
407
+ _one_of_found = true
408
+ end
409
+ end
410
+ end
411
+
412
+ if !_one_of_found?
413
+ return false
414
+ end
415
+
416
+ true
417
+ end
418
+
419
+ # Checks equality by comparing each attribute.
420
+ # @param [Object] Object to be compared
421
+ def ==(o)
422
+ return true if self.equal?(o)
423
+ self.class == o.class &&
424
+ first_name == o.first_name &&
425
+ last_name == o.last_name &&
426
+ bank_code == o.bank_code &&
427
+ bank_account == o.bank_account &&
428
+ bank_account_type == o.bank_account_type &&
429
+ phone_number == o.phone_number &&
430
+ mobile_provider == o.mobile_provider &&
431
+ iban == o.iban &&
432
+ bank_name == o.bank_name &&
433
+ bank_country == o.bank_country &&
434
+ identity_card_id == o.identity_card_id &&
435
+ identity_card_type == o.identity_card_type &&
436
+ cash_provider == o.cash_provider &&
437
+ sort_code == o.sort_code &&
438
+ bic == o.bic &&
439
+ sender_identity_card_type == o.sender_identity_card_type &&
440
+ sender_identity_card_id == o.sender_identity_card_id &&
441
+ sender_city_of_birth == o.sender_city_of_birth &&
442
+ sender_country_of_birth == o.sender_country_of_birth &&
443
+ sender_gender == o.sender_gender &&
444
+ reason == o.reason &&
445
+ reference == o.reference &&
446
+ name == o.name &&
447
+ address == o.address &&
448
+ street == o.street &&
449
+ postal_code == o.postal_code &&
450
+ city == o.city &&
451
+ email == o.email &&
452
+ transfer_reason_code == o.transfer_reason_code
453
+ end
454
+
455
+ # @see the `==` method
456
+ # @param [Object] Object to be compared
457
+ def eql?(o)
458
+ self == o
459
+ end
460
+
461
+ # Calculates hash code according to all attributes.
462
+ # @return [Integer] Hash code
463
+ def hash
464
+ [first_name, last_name, bank_code, bank_account, bank_account_type, phone_number, mobile_provider, iban, bank_name, bank_country, identity_card_id, identity_card_type, cash_provider, sort_code, bic, sender_identity_card_type, sender_identity_card_id, sender_city_of_birth, sender_country_of_birth, sender_gender, reason, reference, name, address, street, postal_code, city, email, transfer_reason_code].hash
465
+ end
466
+
386
467
  require 'active_support/core_ext/hash'
387
468
  require 'active_support/hash_with_indifferent_access.rb'
388
469
  # Builds the object from hash
@@ -497,5 +578,6 @@ def _to_hash(value)
497
578
  end
498
579
  end
499
580
 
500
- end
581
+ end
582
+
501
583
  end