transferzero-sdk 1.16.1 → 1.19.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +15 -4
  3. data/docs/Document.md +2 -0
  4. data/docs/PayinMethod.md +12 -4
  5. data/docs/PayinMethodDetails.md +5 -5
  6. data/docs/PayinMethodDetailsMobile.md +3 -3
  7. data/docs/PayinMethodDetailsNGNBank.md +2 -2
  8. data/docs/PayinMethodResponse.md +17 -0
  9. data/docs/PayinMethodState.md +16 -0
  10. data/docs/PayinMethodUxFlow.md +16 -0
  11. data/docs/PayinMethodsApi.md +256 -0
  12. data/docs/PayoutMethod.md +1 -1
  13. data/docs/PayoutMethodDetails.md +4 -2
  14. data/docs/PayoutMethodDetailsGNFMobile.md +23 -0
  15. data/docs/PayoutMethodDetailsKESBank.md +3 -1
  16. data/docs/PayoutMethodDetailsKESMobile.md +3 -1
  17. data/docs/PayoutMethodDetailsXAFMobile.md +25 -0
  18. data/docs/PayoutMethodDetailsXOFBank.md +3 -1
  19. data/docs/PayoutMethodDetailsXOFCash.md +1 -1
  20. data/docs/PayoutMethodDetailsXOFMobile.md +3 -1
  21. data/docs/PayoutMethodDetailsZARBank.md +2 -0
  22. data/docs/PayoutMethodTransferReasonEnum.md +16 -0
  23. data/docs/RecipientStateReasonDetails.md +3 -3
  24. data/docs/Sender.md +4 -0
  25. data/docs/StateReasonDetails.md +23 -0
  26. data/lib/transferzero-sdk/api/payin_methods_api.rb +244 -0
  27. data/lib/transferzero-sdk/api_client.rb +1 -1
  28. data/lib/transferzero-sdk/models/document.rb +11 -1
  29. data/lib/transferzero-sdk/models/payin_method.rb +47 -9
  30. data/lib/transferzero-sdk/models/payin_method_details.rb +9 -15
  31. data/lib/transferzero-sdk/models/payin_method_details_mobile.rb +8 -14
  32. data/lib/transferzero-sdk/models/payin_method_details_ngn_bank.rb +2 -2
  33. data/lib/transferzero-sdk/models/payin_method_response.rb +202 -0
  34. data/lib/transferzero-sdk/models/payin_method_state.rb +39 -0
  35. data/lib/transferzero-sdk/models/payin_method_ux_flow.rb +34 -0
  36. data/lib/transferzero-sdk/models/payout_method.rb +1 -1
  37. data/lib/transferzero-sdk/models/payout_method_details.rb +17 -6
  38. data/lib/transferzero-sdk/models/payout_method_details_gnf_mobile.rb +250 -0
  39. data/lib/transferzero-sdk/models/payout_method_details_kes_bank.rb +11 -7
  40. data/lib/transferzero-sdk/models/payout_method_details_kes_mobile.rb +11 -7
  41. data/lib/transferzero-sdk/models/payout_method_details_mobile.rb +1 -1
  42. data/lib/transferzero-sdk/models/payout_method_details_xaf_mobile.rb +259 -0
  43. data/lib/transferzero-sdk/models/payout_method_details_xof_bank.rb +14 -5
  44. data/lib/transferzero-sdk/models/payout_method_details_xof_cash.rb +6 -1
  45. data/lib/transferzero-sdk/models/payout_method_details_xof_mobile.rb +14 -5
  46. data/lib/transferzero-sdk/models/payout_method_details_zar_bank.rb +11 -2
  47. data/lib/transferzero-sdk/models/payout_method_mobile_provider_enum.rb +1 -0
  48. data/lib/transferzero-sdk/models/payout_method_transfer_reason_enum.rb +137 -0
  49. data/lib/transferzero-sdk/models/recipient_state_reason_details.rb +21 -2
  50. data/lib/transferzero-sdk/models/sender.rb +21 -1
  51. data/lib/transferzero-sdk/models/state_reason_details.rb +235 -0
  52. data/lib/transferzero-sdk/version.rb +1 -1
  53. data/lib/transferzero-sdk.rb +8 -0
  54. data/spec/api/payin_methods_api_spec.rb +84 -0
  55. data/spec/models/payin_method_response_spec.rb +41 -0
  56. data/spec/models/payin_method_state_spec.rb +35 -0
  57. data/spec/models/payin_method_ux_flow_spec.rb +35 -0
  58. data/spec/models/payout_method_details_gnf_mobile_spec.rb +59 -0
  59. data/spec/models/payout_method_details_xaf_mobile_spec.rb +65 -0
  60. data/spec/models/payout_method_transfer_reason_enum_spec.rb +35 -0
  61. data/spec/models/state_reason_details_spec.rb +59 -0
  62. data/transferzero-sdk-1.17.0.gem +0 -0
  63. metadata +36 -4
  64. data/Gemfile.lock +0 -89
@@ -13,7 +13,7 @@ OpenAPI Generator version: 4.0.0-beta3
13
13
  require 'date'
14
14
 
15
15
  module TransferZero
16
- # ```JSON \"details\": { \"first_name\": \"First\", \"last_name\": \"Last\", \"iban\": \"BJ0610100100144390000769\", # BBAN format \"bank_name\": \"Bank Of Africa Bénin\", \"bank_country\": \"BJ\", # ISO country code for Benin \"bank_code\": \"BJ061\" } ``` See [XOF Bank](https://docs.transferzero.com/docs/payout-details/#xofbank) documentation for the bank_code list
16
+ # ```JSON \"details\": { \"first_name\": \"First\", \"last_name\": \"Last\", \"iban\": \"BJ0610100100144390000769\", # BBAN format \"bank_name\": \"Bank Of Africa Bénin\", \"bank_country\": \"BJ\", # ISO country code for Benin \"bank_code\": \"BJ061\", \"transfer_reason\": \"personal_account\" } ``` See [XOF Bank](https://docs.transferzero.com/docs/payout-details/#xofbank) documentation for the bank_code and transfer_reason lists
17
17
  class PayoutMethodDetailsXOFBank
18
18
  attr_accessor :first_name
19
19
 
@@ -27,6 +27,8 @@ class PayoutMethodDetailsXOFBank
27
27
 
28
28
  attr_accessor :bank_code
29
29
 
30
+ attr_accessor :transfer_reason
31
+
30
32
  # Attribute mapping from ruby-style variable name to JSON key.
31
33
  def self.attribute_map
32
34
  {
@@ -35,7 +37,8 @@ class PayoutMethodDetailsXOFBank
35
37
  :'iban' => :'iban',
36
38
  :'bank_name' => :'bank_name',
37
39
  :'bank_country' => :'bank_country',
38
- :'bank_code' => :'bank_code'
40
+ :'bank_code' => :'bank_code',
41
+ :'transfer_reason' => :'transfer_reason'
39
42
  }
40
43
  end
41
44
 
@@ -47,7 +50,8 @@ class PayoutMethodDetailsXOFBank
47
50
  :'iban' => :'String',
48
51
  :'bank_name' => :'String',
49
52
  :'bank_country' => :'String',
50
- :'bank_code' => :'String'
53
+ :'bank_code' => :'String',
54
+ :'transfer_reason' => :'PayoutMethodTransferReasonEnum'
51
55
  }
52
56
  end
53
57
 
@@ -89,6 +93,10 @@ class PayoutMethodDetailsXOFBank
89
93
  if attributes.key?(:'bank_code')
90
94
  self.bank_code = attributes[:'bank_code']
91
95
  end
96
+
97
+ if attributes.key?(:'transfer_reason')
98
+ self.transfer_reason = attributes[:'transfer_reason']
99
+ end
92
100
  end
93
101
 
94
102
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -129,7 +137,8 @@ class PayoutMethodDetailsXOFBank
129
137
  iban == o.iban &&
130
138
  bank_name == o.bank_name &&
131
139
  bank_country == o.bank_country &&
132
- bank_code == o.bank_code
140
+ bank_code == o.bank_code &&
141
+ transfer_reason == o.transfer_reason
133
142
  end
134
143
 
135
144
  # @see the `==` method
@@ -141,7 +150,7 @@ class PayoutMethodDetailsXOFBank
141
150
  # Calculates hash code according to all attributes.
142
151
  # @return [Integer] Hash code
143
152
  def hash
144
- [first_name, last_name, iban, bank_name, bank_country, bank_code].hash
153
+ [first_name, last_name, iban, bank_name, bank_country, bank_code, transfer_reason].hash
145
154
  end
146
155
 
147
156
  require 'active_support/core_ext/hash'
@@ -13,7 +13,7 @@ OpenAPI Generator version: 4.0.0-beta3
13
13
  require 'date'
14
14
 
15
15
  module TransferZero
16
- # ```JSON \"details\": { \"first_name\": \"First\", \"last_name\": \"Last\", \"phone_number\": \"221774044436\", // local or international format \"cash_provider\": \"wizall\" // Optional; Values: \"wizall\"; Default value is \"wizall\"; \"country\": \"SN\" // Optional; Values: \"CI\", \"ML\" or \"SN\"; Default value is \"SN\"; } ``` Please note all senders trying to create Wizall cash pickup requests must have `identity_type` and `identity_number` present. The fields above are generally considered optional for senders for other payment corridors. If you wish to use an existing sender who has some of these fields missing you can provide them alongside the `id` or `external_id` field in the sender details. For example - ```JSON { \"transaction\": { \"sender\": { \"external_id\": \"<id of sender>\", \"identity_type\": \"ID\", \"identity_number\": \"AB12345678\", (...) }, (...) } } ```
16
+ # ```JSON \"details\": { \"first_name\": \"First\", \"last_name\": \"Last\", \"phone_number\": \"221774044436\", // local or international format \"cash_provider\": \"wizall\" // Mandatory; Values: \"wizall\"; \"country\": \"SN\" // Optional; Values: \"CI\", \"ML\" or \"SN\"; Default value is \"SN\"; } ``` Please note all senders trying to create Wizall cash pickup requests must have `identity_type` and `identity_number` present. The fields above are generally considered optional for senders for other payment corridors. If you wish to use an existing sender who has some of these fields missing you can provide them alongside the `id` or `external_id` field in the sender details. For example - ```JSON { \"transaction\": { \"sender\": { \"external_id\": \"<id of sender>\", \"identity_type\": \"ID\", \"identity_number\": \"AB12345678\", (...) }, (...) } } ```
17
17
  class PayoutMethodDetailsXOFCash
18
18
  attr_accessor :first_name
19
19
 
@@ -99,6 +99,10 @@ class PayoutMethodDetailsXOFCash
99
99
  invalid_properties.push('invalid value for "phone_number", phone_number cannot be nil.')
100
100
  end
101
101
 
102
+ if @cash_provider.nil?
103
+ invalid_properties.push('invalid value for "cash_provider", cash_provider cannot be nil.')
104
+ end
105
+
102
106
  invalid_properties
103
107
  end
104
108
 
@@ -108,6 +112,7 @@ class PayoutMethodDetailsXOFCash
108
112
  return false if @first_name.nil?
109
113
  return false if @last_name.nil?
110
114
  return false if @phone_number.nil?
115
+ return false if @cash_provider.nil?
111
116
  true
112
117
  end
113
118
 
@@ -13,7 +13,7 @@ OpenAPI Generator version: 4.0.0-beta3
13
13
  require 'date'
14
14
 
15
15
  module TransferZero
16
- # ```JSON \"details\": { \"first_name\": \"First\", \"last_name\": \"Last\", \"phone_number\": \"774044436\", # local or international Senegalese or Ivory Coast format \"mobile_provider\": \"orange\", # \"orange\" or \"tigo\" for Senegal; \"orange\", \"mtn\" or \"moov\" for Ivory Coast \"country\" # Optional; Values: \"SN\" for Senegal or \"CI\" for Ivory Coast; Default value is \"SN\" } ```
16
+ # ```JSON \"details\": { \"first_name\": \"First\", \"last_name\": \"Last\", \"phone_number\": \"774044436\", // local or international Senegalese or Ivory Coast format \"mobile_provider\": \"orange\", // \"orange\" or \"tigo\" for Senegal; \"orange\", \"mtn\" or \"moov\" for Ivory Coast; \"orange\" or \"mobicash\" for Burkina Faso and Mali \"country\" // Optional; Values: \"SN\" for Senegal; \"CI\" for Ivory Coast; \"ML\" for Mali; \"BF\" for Burkina Faso; Default value is \"SN\" \"transfer_reason\": \"personal_account\" // mandatory for Mali payouts, optional otherwise } ```
17
17
  class PayoutMethodDetailsXOFMobile
18
18
  attr_accessor :first_name
19
19
 
@@ -25,6 +25,8 @@ class PayoutMethodDetailsXOFMobile
25
25
 
26
26
  attr_accessor :country
27
27
 
28
+ attr_accessor :transfer_reason
29
+
28
30
  # Attribute mapping from ruby-style variable name to JSON key.
29
31
  def self.attribute_map
30
32
  {
@@ -32,7 +34,8 @@ class PayoutMethodDetailsXOFMobile
32
34
  :'last_name' => :'last_name',
33
35
  :'phone_number' => :'phone_number',
34
36
  :'mobile_provider' => :'mobile_provider',
35
- :'country' => :'country'
37
+ :'country' => :'country',
38
+ :'transfer_reason' => :'transfer_reason'
36
39
  }
37
40
  end
38
41
 
@@ -43,7 +46,8 @@ class PayoutMethodDetailsXOFMobile
43
46
  :'last_name' => :'String',
44
47
  :'phone_number' => :'String',
45
48
  :'mobile_provider' => :'PayoutMethodMobileProviderEnum',
46
- :'country' => :'PayoutMethodCountryEnum'
49
+ :'country' => :'PayoutMethodCountryEnum',
50
+ :'transfer_reason' => :'PayoutMethodTransferReasonEnum'
47
51
  }
48
52
  end
49
53
 
@@ -81,6 +85,10 @@ class PayoutMethodDetailsXOFMobile
81
85
  if attributes.key?(:'country')
82
86
  self.country = attributes[:'country']
83
87
  end
88
+
89
+ if attributes.key?(:'transfer_reason')
90
+ self.transfer_reason = attributes[:'transfer_reason']
91
+ end
84
92
  end
85
93
 
86
94
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -125,7 +133,8 @@ class PayoutMethodDetailsXOFMobile
125
133
  last_name == o.last_name &&
126
134
  phone_number == o.phone_number &&
127
135
  mobile_provider == o.mobile_provider &&
128
- country == o.country
136
+ country == o.country &&
137
+ transfer_reason == o.transfer_reason
129
138
  end
130
139
 
131
140
  # @see the `==` method
@@ -137,7 +146,7 @@ class PayoutMethodDetailsXOFMobile
137
146
  # Calculates hash code according to all attributes.
138
147
  # @return [Integer] Hash code
139
148
  def hash
140
- [first_name, last_name, phone_number, mobile_provider, country].hash
149
+ [first_name, last_name, phone_number, mobile_provider, country, transfer_reason].hash
141
150
  end
142
151
 
143
152
  require 'active_support/core_ext/hash'
@@ -13,7 +13,7 @@ OpenAPI Generator version: 4.0.0-beta3
13
13
  require 'date'
14
14
 
15
15
  module TransferZero
16
- # ```JSON \"details\": { \"first_name\": \"First\", // Mandatory for personal payouts; \"last_name\": \"Last\", // Mandatory for personal payouts; \"name\" \"First Ltd\", // Mandatory for business payouts; \"contact_first_name\" \"Business\", // Mandatory for business payouts; \"contact_last_name\" \"Contact\", // Mandatory for business payouts; \"street\": \"Main Street\", \"postal_code\": \"AB0001\", \"city\": \"Cape Town\", \"email\": \"recipient@email.com\", \"bank_name\" 'Bank Zero', // Optional \"bank_code\": \"334810\", \"bank_account\": \"12345678\", \"phone_number\": \"+27119785313\", \"transfer_reason_code\": \"185\", \"legal_entity_type\": \"sole_proprietorship\", // Optional; Default value is \"person\"; Mandatory for business payouts; \"nature_of_business\": \"mining\", // Optional for business payouts; \"registration_number\": \"17364BGC\" // Optional for business payouts; } ``` See [ZAR Bank](https://docs.transferzero.com/docs/payout-details/#zarbank) documentation for the bank_code and transfer_reason_code lists
16
+ # ```JSON \"details\": { \"first_name\": \"First\", // Mandatory for personal payouts; \"last_name\": \"Last\", // Mandatory for personal payouts; \"name\" \"First Ltd\", // Mandatory for business payouts; \"contact_first_name\" \"Business\", // Mandatory for business payouts; \"contact_last_name\" \"Contact\", // Mandatory for business payouts; \"street\": \"Main Street\", \"postal_code\": \"AB0001\", \"city\": \"Cape Town\", \"email\": \"recipient@email.com\", \"bank_name\" 'Bank Zero', // Optional \"bank_code\": \"334810\", \"bank_account\": \"12345678\", \"phone_number\": \"+27119785313\", \"transfer_reason\": \"personal_account\", // New transfer reason field \"legal_entity_type\": \"sole_proprietorship\", // Optional; Default value is \"person\"; Mandatory for business payouts; \"nature_of_business\": \"mining\", // Optional for business payouts; \"registration_number\": \"17364BGC\" // Optional for business payouts; } ``` See [ZAR Bank](https://docs.transferzero.com/docs/payout-details/#zarbank) documentation for the bank_code and transfer_reason lists
17
17
  class PayoutMethodDetailsZARBank
18
18
  attr_accessor :first_name
19
19
 
@@ -35,6 +35,8 @@ class PayoutMethodDetailsZARBank
35
35
 
36
36
  attr_accessor :transfer_reason_code
37
37
 
38
+ attr_accessor :transfer_reason
39
+
38
40
  attr_accessor :name
39
41
 
40
42
  attr_accessor :contact_first_name
@@ -60,6 +62,7 @@ class PayoutMethodDetailsZARBank
60
62
  :'bank_account' => :'bank_account',
61
63
  :'phone_number' => :'phone_number',
62
64
  :'transfer_reason_code' => :'transfer_reason_code',
65
+ :'transfer_reason' => :'transfer_reason',
63
66
  :'name' => :'name',
64
67
  :'contact_first_name' => :'contact_first_name',
65
68
  :'contact_last_name' => :'contact_last_name',
@@ -82,6 +85,7 @@ class PayoutMethodDetailsZARBank
82
85
  :'bank_account' => :'String',
83
86
  :'phone_number' => :'String',
84
87
  :'transfer_reason_code' => :'String',
88
+ :'transfer_reason' => :'PayoutMethodTransferReasonEnum',
85
89
  :'name' => :'String',
86
90
  :'contact_first_name' => :'String',
87
91
  :'contact_last_name' => :'String',
@@ -146,6 +150,10 @@ class PayoutMethodDetailsZARBank
146
150
  self.transfer_reason_code = attributes[:'transfer_reason_code']
147
151
  end
148
152
 
153
+ if attributes.key?(:'transfer_reason')
154
+ self.transfer_reason = attributes[:'transfer_reason']
155
+ end
156
+
149
157
  if attributes.key?(:'name')
150
158
  self.name = attributes[:'name']
151
159
  end
@@ -239,6 +247,7 @@ class PayoutMethodDetailsZARBank
239
247
  bank_account == o.bank_account &&
240
248
  phone_number == o.phone_number &&
241
249
  transfer_reason_code == o.transfer_reason_code &&
250
+ transfer_reason == o.transfer_reason &&
242
251
  name == o.name &&
243
252
  contact_first_name == o.contact_first_name &&
244
253
  contact_last_name == o.contact_last_name &&
@@ -256,7 +265,7 @@ class PayoutMethodDetailsZARBank
256
265
  # Calculates hash code according to all attributes.
257
266
  # @return [Integer] Hash code
258
267
  def hash
259
- [first_name, last_name, street, postal_code, city, email, bank_code, bank_account, phone_number, transfer_reason_code, name, contact_first_name, contact_last_name, registration_number, nature_of_business, legal_entity_type].hash
268
+ [first_name, last_name, street, postal_code, city, email, bank_code, bank_account, phone_number, transfer_reason_code, transfer_reason, name, contact_first_name, contact_last_name, registration_number, nature_of_business, legal_entity_type].hash
260
269
  end
261
270
 
262
271
  require 'active_support/core_ext/hash'
@@ -24,6 +24,7 @@ class PayoutMethodMobileProviderEnum
24
24
  MPESA = "mpesa".freeze
25
25
  AFRICELL = "africell".freeze
26
26
  TELECOM = "telecom".freeze
27
+ MOBICASH = "mobicash".freeze
27
28
 
28
29
  # Builds the enum from string
29
30
  # @param [String] The enum value in the form of the string
@@ -0,0 +1,137 @@
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 PayoutMethodTransferReasonEnum
17
+
18
+ PERSONAL_ACCOUNT = "personal_account".freeze
19
+ DONATIONS_AND_GIFTS = "donations_and_gifts".freeze
20
+ THIRD_PARTY_PERSON_ACCOUNT = "third_party_person_account".freeze
21
+ MORTGAGE_REPAYMENTS = "mortgage_repayments".freeze
22
+ BUSINESS_TRAVEL_PAYMENTS = "business_travel_payments".freeze
23
+ PERSONAL_TRAVEL_PAYMENTS = "personal_travel_payments".freeze
24
+ TUITION_FEES = "tuition_fees".freeze
25
+ FINANCIAL_COMMISSION_FEES = "financial_commission_fees".freeze
26
+ FINANCIAL_SERVICES_PROCEEDS = "financial_services_proceeds".freeze
27
+ INDIVIDUAL_PROPERTY_INVESTMENTS = "individual_property_investments".freeze
28
+ OTHER_INVESTMENTS = "other_investments".freeze
29
+ CORPORATE_PROPERTY_INVESTMENTS = "corporate_property_investments".freeze
30
+ IMMIGRANTS_CAPITAL_PAYMENTS = "immigrants_capital_payments".freeze
31
+ LEGAL_SERVICES = "legal_services".freeze
32
+ ACCOUNTING_SERVICES = "accounting_services".freeze
33
+ CONSULTING_SERVICES = "consulting_services".freeze
34
+ PUBLIC_RELATION_SERVICES = "public_relation_services".freeze
35
+ ADS_AND_MARKET_RESEARCH_SERVICES = "ads_and_market_research_services".freeze
36
+ MANAGERIAL_SERVICES = "managerial_services".freeze
37
+ MEDICAL_AND_DENTAL_SERVICES = "medical_and_dental_services".freeze
38
+ EDUCATIONAL_SERVICES = "educational_services".freeze
39
+ OPERATIONAL_LEASING = "operational_leasing".freeze
40
+ CULTURAL_AND_RECREATIONAL_SERVICES = "cultural_and_recreational_services".freeze
41
+ SALARY_RESIDENT_OUT_COUNTRY = "salary_resident_out_country".freeze
42
+ SALARY_NON_RESIDENT_IN_COUNTRY = "salary_non_resident_in_country".freeze
43
+ SALARY_CONTRACT_WORKER_IN_COUNTRY = "salary_contract_worker_in_country".freeze
44
+ SOCIAL_SECURITY_SCHEMES = "social_security_schemes".freeze
45
+ CHARITIES_AND_RELIGIOUS_BODIES = "charities_and_religious_bodies".freeze
46
+ DONATIONS_AND_AID_TO_GOVERNMENT = "donations_and_aid_to_government".freeze
47
+ DONATIONS_AND_AID_TO_PRIVATE = "donations_and_aid_to_private".freeze
48
+ PENSIONS = "pensions".freeze
49
+ ANNUITIES = "annuities".freeze
50
+ INHERITANCES = "inheritances".freeze
51
+ ALIMONY = "alimony".freeze
52
+ TAX_INCOME = "tax_income".freeze
53
+ TAX_VAT_REFUNDS = "tax_vat_refunds".freeze
54
+ TAX_OTHER = "tax_other".freeze
55
+ NON_LIFE_INSURANCE_PREMIUMS = "non_life_insurance_premiums".freeze
56
+ LIFE_INSURANCE_PREMIUMS = "life_insurance_premiums".freeze
57
+ DIVIDENDS = "dividends".freeze
58
+ BRANCH_PROFITS = "branch_profits".freeze
59
+ COMMISION_OR_BROKERAGE = "commision_or_brokerage".freeze
60
+ RENTAL = "rental".freeze
61
+ INDIVIDUAL_INVESTMENT_INCOME_FROM_ABROAD = "individual_investment_income_from_abroad".freeze
62
+ SHARES_SALE = "shares_sale".freeze
63
+ BONDS_SALE = "bonds_sale".freeze
64
+ MONEY_MARKET_INSTRUMENTS_SALE = "money_market_instruments_sale".freeze
65
+ FUNDS_REPATRIATION_OF_FOREIGN_BANK_ACCOUNT = "funds_repatriation_of_foreign_bank_account".freeze
66
+ MUTUAL_FUNDS_SALE_OR_COLLECTIVE_INVESTMENT = "mutual_funds_sale_or_collective_investment".freeze
67
+ OVERSEAS_PROPERTY_SALE = "overseas_property_sale".freeze
68
+ SALE_AND_REPATRIATION_OF_OTHER_INVESTMENT = "sale_and_repatriation_of_other_investment".freeze
69
+ REPATRIATION_SOUTH_AFRICAN_RESERVE_BANK_INSTRUCTION = "repatriation_south_african_reserve_bank_instruction".freeze
70
+ RESIDENT_LOAN_FROM_NON_RESIDENT_SHARE_HOLDER = "resident_loan_from_non_resident_share_holder".freeze
71
+ RESIDENT_LOAN_FROM_NON_RESIDENT_THIRD_PARTY = "resident_loan_from_non_resident_third_party".freeze
72
+ RESIDENT_LOAN_REPAYMENT_FROM_OVERSEAS_LIVING_SOUTH_AFRICAN = "resident_loan_repayment_from_overseas_living_south_african".freeze
73
+ STUDY_LOAN_REPAYMENT = "study_loan_repayment".freeze
74
+ SHAREHOLDERS_LOAN_REPAYMENT = "shareholders_loan_repayment".freeze
75
+ THIRD_PARTY_LOAN_REPAYMENT = "third_party_loan_repayment".freeze
76
+ TRADE_FINANCE_LOAN_REPAYMENT = "trade_finance_loan_repayment".freeze
77
+ RESEARCH_AND_DEVELOPMENT_PROCEEDS = "research_and_development_proceeds".freeze
78
+ RESEARCH_AND_DEVELOPMENT_FUNDING = "research_and_development_funding".freeze
79
+ MACHINARY_AND_EQUIPMENT_REPAIRS = "machinary_and_equipment_repairs".freeze
80
+ ARCHITECTURAL_ENGINEERING_TECHNICAL_SERVICES = "architectural_engineering_technical_services".freeze
81
+ AGRIGULTURAL_MINING_WASTE_DEPOLLUTION_SERVICES = "agrigultural_mining_waste_depollution_services".freeze
82
+ CONSTRUCTION_SERVICES = "construction_services".freeze
83
+ TELECOMMUNICATION_SERVICES = "telecommunication_services".freeze
84
+ DATA_NEWS_AGENCY_FEES = "data_news_agency_fees".freeze
85
+ ROAD_PASSENGER_SERVICES = "road_passenger_services".freeze
86
+ RAIL_PASSENGER_SERVICES = "rail_passenger_services".freeze
87
+ SEA_PASSENGER_SERVICES = "sea_passenger_services".freeze
88
+ AIR_PASSENGER_SERVICES = "air_passenger_services".freeze
89
+ ROAD_FREIGHT_SERVICES = "road_freight_services".freeze
90
+ RAIL_FREIGHT_SERVICES = "rail_freight_services".freeze
91
+ SEA_FREIGHT_SERVICES = "sea_freight_services".freeze
92
+ AIR_FREIGHT_SERVICES = "air_freight_services".freeze
93
+ ROAD_POSTAL_AND_COURIER_SERVICES = "road_postal_and_courier_services".freeze
94
+ RAIL_POSTAL_AND_COURIER_SERVICES = "rail_postal_and_courier_services".freeze
95
+ SEA_POSTAL_AND_COURIER_SERVICES = "sea_postal_and_courier_services".freeze
96
+ AIR_POSTAL_AND_COURIER_SERVICES = "air_postal_and_courier_services".freeze
97
+ LISTED_SHARES_INVESTMENT = "listed_shares_investment".freeze
98
+ NON_LISTED_SHARES_INVESTMENT = "non_listed_shares_investment".freeze
99
+ MONEY_MARKET_INSTRUMENTS_INVESTMENT = "money_market_instruments_investment".freeze
100
+ LISTED_BONDS_INVESTMENT = "listed_bonds_investment".freeze
101
+ NON_LISTED_BONDS_INVESTMENT = "non_listed_bonds_investment".freeze
102
+ REPRODUCE_DISTRIBUTE_RIGHTS_LICENSE = "reproduce_distribute_rights_license".freeze
103
+ PATENTS_AND_INVESTIONS_RIGHTS_LICENSE = "patents_and_investions_rights_license".freeze
104
+ PATTERNS_AND_DESIGNS_RIGHTS = "patterns_and_designs_rights".freeze
105
+ COPYRIGHTS_RIGHTS = "copyrights_rights".freeze
106
+ FRANCHISES_AND_TRADEMARKS_RIGHTS = "franchises_and_trademarks_rights".freeze
107
+ PATENTS_AND_INVENTIONS_DISPOSAL = "patents_and_inventions_disposal".freeze
108
+ PATTERNS_AND_DESIGNS_DISPOSAL = "patterns_and_designs_disposal".freeze
109
+ COPYRIGHTS_DISPOSAL = "copyrights_disposal".freeze
110
+ FRANCHISES_AND_TRADEMARKS_DISPOSAL = "franchises_and_trademarks_disposal".freeze
111
+ SALES_OF_MANUSCRIPTS_SOUND_RECORDINGS_FILMS = "sales_of_manuscripts_sound_recordings_films".freeze
112
+ FUNDS_RELATED_TO_RECORDING_PRODUCTIONS = "funds_related_to_recording_productions".freeze
113
+ SOFTWARE_OWNERSHIP_RIGHTS_SALE = "software_ownership_rights_sale".freeze
114
+ COMPUTER_SERVICES = "computer_services".freeze
115
+ CUSTOMISED_SOFTWARE_SALES = "customised_software_sales".freeze
116
+ NON_CUSTOMISED_SOFTWARE_ON_PHYSICAL_MEDIA_PERIODIC_LICENCE_SALE = "non_customised_software_on_physical_media_periodic_licence_sale".freeze
117
+ NON_CUSTOMISED_SOFTWARE_ON_PYISICAL_MEDIA_PERPETUAL_USE_SALE = "non_customised_software_on_pyisical_media_perpetual_use_sale".freeze
118
+ NON_CUSTOMISED_SOFTWARE_FOR_DOWNLOADING_ELECTRONICALLY_MADE_PERIODIC_LICENCE_SALE = "non_customised_software_for_downloading_electronically_made_periodic_licence_sale".freeze
119
+ NON_CUSTOMISED_SOFTWARE_FOR_DOWNLOADING_ELECTRONICALLY_MADE_SINGLE_PAYMENT_SALE = "non_customised_software_for_downloading_electronically_made_single_payment_sale".freeze
120
+ FIXED_ASSETS_DONATIONS_TO_SA_GOVERNMENT = "fixed_assets_donations_to_sa_government".freeze
121
+ FIXED_ASSETS_DONATIONS_TO_CORPORATE_ENTITIES = "fixed_assets_donations_to_corporate_entities".freeze
122
+ PROPERTY_DISINVESTMENT_BY_CORPORATE_ENTITY_RESIDENT = "property_disinvestment_by_corporate_entity_resident".freeze
123
+ OTHER_BUSINESS_SERVICES = "other_business_services".freeze
124
+ INSTITUTIONAL_INVESTOR_DISINVESTMENT = "institutional_investor_disinvestment".freeze
125
+ GOVERNMENT_SERVICES = "government_services".freeze
126
+
127
+ # Builds the enum from string
128
+ # @param [String] The enum value in the form of the string
129
+ # @return [String] The enum value
130
+ def build_from_hash(value)
131
+ constantValues = PayoutMethodTransferReasonEnum.constants.select { |c| PayoutMethodTransferReasonEnum::const_get(c) == value }
132
+ raise "Invalid ENUM value #{value} for class #PayoutMethodTransferReasonEnum" if constantValues.empty? && !value.empty?
133
+ value
134
+ end
135
+ end
136
+
137
+ end
@@ -14,10 +14,10 @@ require 'date'
14
14
 
15
15
  module TransferZero
16
16
  class RecipientStateReasonDetails
17
- # Status code of failed transaction
17
+ # Status code of transaction
18
18
  attr_accessor :code
19
19
 
20
- # Main category of error, it could be paid, unknown, pickupable, temporary_error, recipient_error, sender_error
20
+ # Main category of status code, it could be paid, unknown, pickupable, temporary_error, recipient_error, sender_error, sender_action_required
21
21
  attr_accessor :category
22
22
 
23
23
  # Tiered messages
@@ -46,6 +46,13 @@ class RecipientStateReasonDetails
46
46
  }
47
47
  end
48
48
 
49
+ # List of class defined in anyOf (OpenAPI v3)
50
+ def self.openapi_any_of
51
+ [
52
+ :'StateReasonDetails'
53
+ ]
54
+ end
55
+
49
56
  # Initializes the object
50
57
  # @param [Hash] attributes Model attributes in the form of hash
51
58
  def initialize(attributes = {})
@@ -90,6 +97,18 @@ class RecipientStateReasonDetails
90
97
  # Check to see if the all the properties in the model are valid
91
98
  # @return true if the model is valid
92
99
  def valid?
100
+ _any_of_found = false
101
+ openapi_any_of.each do |_class|
102
+ _any_of = TransferZero.const_get(_class).build_from_hash(self.to_hash)
103
+ if _any_of.valid?
104
+ _any_of_found = true
105
+ end
106
+ end
107
+
108
+ if !_any_of_found?
109
+ return false
110
+ end
111
+
93
112
  true
94
113
  end
95
114
 
@@ -124,6 +124,9 @@ class Sender
124
124
  # The Business trading address (used only with a Business sender)
125
125
  attr_accessor :trading_address
126
126
 
127
+ # The Business trading name (used only with a Business sender)
128
+ attr_accessor :trading_name
129
+
127
130
  # The estimated number of monthly transactions (used only with a Business sender)
128
131
  attr_accessor :number_monthly_transactions
129
132
 
@@ -157,6 +160,9 @@ class Sender
157
160
  # The gender of the sender: - `M`: Male - `F`: Female - `O`: Other
158
161
  attr_accessor :gender
159
162
 
163
+ # Sales Lead ID for tracking (optional)
164
+ attr_accessor :sales_lead_id
165
+
160
166
  # Date and time of sender was created
161
167
  attr_accessor :created_at
162
168
 
@@ -222,6 +228,7 @@ class Sender
222
228
  :'contact_person_email' => :'contact_person_email',
223
229
  :'trading_country' => :'trading_country',
224
230
  :'trading_address' => :'trading_address',
231
+ :'trading_name' => :'trading_name',
225
232
  :'number_monthly_transactions' => :'number_monthly_transactions',
226
233
  :'amount_monthly_transactions' => :'amount_monthly_transactions',
227
234
  :'documents' => :'documents',
@@ -233,6 +240,7 @@ class Sender
233
240
  :'city_of_birth' => :'city_of_birth',
234
241
  :'country_of_birth' => :'country_of_birth',
235
242
  :'gender' => :'gender',
243
+ :'sales_lead_id' => :'sales_lead_id',
236
244
  :'created_at' => :'created_at'
237
245
  }
238
246
  end
@@ -277,6 +285,7 @@ class Sender
277
285
  :'contact_person_email' => :'String',
278
286
  :'trading_country' => :'String',
279
287
  :'trading_address' => :'String',
288
+ :'trading_name' => :'String',
280
289
  :'number_monthly_transactions' => :'String',
281
290
  :'amount_monthly_transactions' => :'String',
282
291
  :'documents' => :'Array<Document>',
@@ -288,6 +297,7 @@ class Sender
288
297
  :'city_of_birth' => :'String',
289
298
  :'country_of_birth' => :'String',
290
299
  :'gender' => :'String',
300
+ :'sales_lead_id' => :'String',
291
301
  :'created_at' => :'String'
292
302
  }
293
303
  end
@@ -455,6 +465,10 @@ class Sender
455
465
  self.trading_address = attributes[:'trading_address']
456
466
  end
457
467
 
468
+ if attributes.key?(:'trading_name')
469
+ self.trading_name = attributes[:'trading_name']
470
+ end
471
+
458
472
  if attributes.key?(:'number_monthly_transactions')
459
473
  self.number_monthly_transactions = attributes[:'number_monthly_transactions']
460
474
  end
@@ -505,6 +519,10 @@ class Sender
505
519
  self.gender = attributes[:'gender']
506
520
  end
507
521
 
522
+ if attributes.key?(:'sales_lead_id')
523
+ self.sales_lead_id = attributes[:'sales_lead_id']
524
+ end
525
+
508
526
  if attributes.key?(:'created_at')
509
527
  self.created_at = attributes[:'created_at']
510
528
  end
@@ -665,6 +683,7 @@ class Sender
665
683
  contact_person_email == o.contact_person_email &&
666
684
  trading_country == o.trading_country &&
667
685
  trading_address == o.trading_address &&
686
+ trading_name == o.trading_name &&
668
687
  number_monthly_transactions == o.number_monthly_transactions &&
669
688
  amount_monthly_transactions == o.amount_monthly_transactions &&
670
689
  documents == o.documents &&
@@ -676,6 +695,7 @@ class Sender
676
695
  city_of_birth == o.city_of_birth &&
677
696
  country_of_birth == o.country_of_birth &&
678
697
  gender == o.gender &&
698
+ sales_lead_id == o.sales_lead_id &&
679
699
  created_at == o.created_at
680
700
  end
681
701
 
@@ -688,7 +708,7 @@ class Sender
688
708
  # Calculates hash code according to all attributes.
689
709
  # @return [Integer] Hash code
690
710
  def hash
691
- [id, type, state, country, street, postal_code, city, phone_country, phone_number, email, ip, address_description, identification_number, identification_type, lang, name, first_name, middle_name, last_name, birth_date, occupation, nationality, legal_entity_type, registration_date, registration_number, nature_of_business, source_of_funds, custom_source_of_funds, core_business_activity, purpose_of_opening_account, office_phone, vat_registration_number, financial_regulator, regulatory_licence_number, contact_person_email, trading_country, trading_address, number_monthly_transactions, amount_monthly_transactions, documents, metadata, errors, onboarding_status, politically_exposed_people, external_id, city_of_birth, country_of_birth, gender, created_at].hash
711
+ [id, type, state, country, street, postal_code, city, phone_country, phone_number, email, ip, address_description, identification_number, identification_type, lang, name, first_name, middle_name, last_name, birth_date, occupation, nationality, legal_entity_type, registration_date, registration_number, nature_of_business, source_of_funds, custom_source_of_funds, core_business_activity, purpose_of_opening_account, office_phone, vat_registration_number, financial_regulator, regulatory_licence_number, contact_person_email, trading_country, trading_address, trading_name, number_monthly_transactions, amount_monthly_transactions, documents, metadata, errors, onboarding_status, politically_exposed_people, external_id, city_of_birth, country_of_birth, gender, sales_lead_id, created_at].hash
692
712
  end
693
713
 
694
714
  require 'active_support/core_ext/hash'