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,116 +13,116 @@ OpenAPI Generator version: 4.0.0-beta3
13
13
  require 'date'
14
14
 
15
15
  module TransferZero
16
- # This describes the specific details on how the funds should be collected from the sender.
17
- class PayinMethod
18
- # Describes how the payment should be requested from the user. Possible values: - `NGN::Bank`: NGN bank and card collection requests - `NGN::Mobile`: NGN mobile collections - `GHS::Mobile`: GHS mobile collections - `TZS::Mobile`: TZS mobile collections - `UGX::Mobile`: UGX mobile collections - `EUR::Bank`: EUR IBAN collections - `GBP::Bank`: GBP IBAN collections
19
- attr_accessor :type
20
-
21
- attr_accessor :in_details
22
-
23
- # This will contain the description on where to pay the funds. Please see the [Collections Details](https://docs.transferzero.com/docs/collection-details) in the API documentation on what to expect here.
24
- attr_accessor :out_details
25
-
26
- # This will contain the instructions on how to pay the funds. Please see the [Collections Details](https://docs.transferzero.com/docs/collection-details) in the API documentation on what to expect here.
27
- attr_accessor :instructions
28
-
29
- # Describes which provider to use for collection. Please see the [Collections Details](https://docs.transferzero.com/docs/collection-details) in the API documentation on the valid values
30
- attr_accessor :provider
31
-
32
- # Attribute mapping from ruby-style variable name to JSON key.
33
- def self.attribute_map
34
- {
35
- :'type' => :'type',
36
- :'in_details' => :'in_details',
37
- :'out_details' => :'out_details',
38
- :'instructions' => :'instructions',
39
- :'provider' => :'provider'
40
- }
41
- end
42
-
43
- # Attribute type mapping.
44
- def self.openapi_types
45
- {
46
- :'type' => :'String',
47
- :'in_details' => :'PayinMethodDetails',
48
- :'out_details' => :'Object',
49
- :'instructions' => :'Object',
50
- :'provider' => :'String'
51
- }
52
- end
53
-
54
- # Initializes the object
55
- # @param [Hash] attributes Model attributes in the form of hash
56
- def initialize(attributes = {})
57
- if (!attributes.is_a?(Hash))
58
- fail ArgumentError, "The input argument (attributes) must be a hash in `TransferZero::PayinMethod` initialize method"
59
- end
60
-
61
- # check to see if the attribute exists and convert string to symbol for hash key
62
- attributes = attributes.each_with_object({}) { |(k, v), h|
63
- if (!self.class.attribute_map.key?(k.to_sym))
64
- fail ArgumentError, "`#{k}` is not a valid attribute in `TransferZero::PayinMethod`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
65
- end
66
- h[k.to_sym] = v
67
- }
68
-
69
- if attributes.key?(:'type')
70
- self.type = attributes[:'type']
71
- end
16
+ # This describes the specific details on how the funds should be collected from the sender.
17
+ class PayinMethod
18
+ # Describes how the payment should be requested from the user. Possible values: - `NGN::Bank`: NGN bank and card collection requests - `NGN::Mobile`: NGN mobile collections - `GHS::Mobile`: GHS mobile collections - `TZS::Mobile`: TZS mobile collections - `UGX::Mobile`: UGX mobile collections - `EUR::Bank`: EUR IBAN collections - `GBP::Bank`: GBP IBAN collections
19
+ attr_accessor :type
20
+
21
+ attr_accessor :in_details
22
+
23
+ # This will contain the description on where to pay the funds. Please see the [Collections Details](https://docs.transferzero.com/docs/collection-details) in the API documentation on what to expect here.
24
+ attr_accessor :out_details
25
+
26
+ # This will contain the instructions on how to pay the funds. Please see the [Collections Details](https://docs.transferzero.com/docs/collection-details) in the API documentation on what to expect here.
27
+ attr_accessor :instructions
28
+
29
+ # Describes which provider to use for collection. Please see the [Collections Details](https://docs.transferzero.com/docs/collection-details) in the API documentation on the valid values
30
+ attr_accessor :provider
31
+
32
+ # Attribute mapping from ruby-style variable name to JSON key.
33
+ def self.attribute_map
34
+ {
35
+ :'type' => :'type',
36
+ :'in_details' => :'in_details',
37
+ :'out_details' => :'out_details',
38
+ :'instructions' => :'instructions',
39
+ :'provider' => :'provider'
40
+ }
41
+ end
72
42
 
73
- if attributes.key?(:'in_details')
74
- self.in_details = attributes[:'in_details']
75
- end
43
+ # Attribute type mapping.
44
+ def self.openapi_types
45
+ {
46
+ :'type' => :'String',
47
+ :'in_details' => :'PayinMethodDetails',
48
+ :'out_details' => :'Object',
49
+ :'instructions' => :'Object',
50
+ :'provider' => :'String'
51
+ }
52
+ end
76
53
 
77
- if attributes.key?(:'out_details')
78
- self.out_details = attributes[:'out_details']
79
- end
54
+ # Initializes the object
55
+ # @param [Hash] attributes Model attributes in the form of hash
56
+ def initialize(attributes = {})
57
+ if (!attributes.is_a?(Hash))
58
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TransferZero::PayinMethod` initialize method"
59
+ end
80
60
 
81
- if attributes.key?(:'instructions')
82
- self.instructions = attributes[:'instructions']
61
+ # check to see if the attribute exists and convert string to symbol for hash key
62
+ attributes = attributes.each_with_object({}) { |(k, v), h|
63
+ if (!self.class.attribute_map.key?(k.to_sym))
64
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TransferZero::PayinMethod`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
83
65
  end
66
+ h[k.to_sym] = v
67
+ }
84
68
 
85
- if attributes.key?(:'provider')
86
- self.provider = attributes[:'provider']
87
- end
69
+ if attributes.key?(:'type')
70
+ self.type = attributes[:'type']
88
71
  end
89
72
 
90
- # Show invalid properties with the reasons. Usually used together with valid?
91
- # @return Array for valid properties with the reasons
92
- def list_invalid_properties
93
- invalid_properties = Array.new
94
- invalid_properties
73
+ if attributes.key?(:'in_details')
74
+ self.in_details = attributes[:'in_details']
95
75
  end
96
76
 
97
- # Check to see if the all the properties in the model are valid
98
- # @return true if the model is valid
99
- def valid?
100
- true
77
+ if attributes.key?(:'out_details')
78
+ self.out_details = attributes[:'out_details']
101
79
  end
102
80
 
103
- # Checks equality by comparing each attribute.
104
- # @param [Object] Object to be compared
105
- def ==(o)
106
- return true if self.equal?(o)
107
- self.class == o.class &&
108
- type == o.type &&
109
- in_details == o.in_details &&
110
- out_details == o.out_details &&
111
- instructions == o.instructions &&
112
- provider == o.provider
81
+ if attributes.key?(:'instructions')
82
+ self.instructions = attributes[:'instructions']
113
83
  end
114
84
 
115
- # @see the `==` method
116
- # @param [Object] Object to be compared
117
- def eql?(o)
118
- self == o
85
+ if attributes.key?(:'provider')
86
+ self.provider = attributes[:'provider']
119
87
  end
88
+ end
120
89
 
121
- # Calculates hash code according to all attributes.
122
- # @return [Integer] Hash code
123
- def hash
124
- [type, in_details, out_details, instructions, provider].hash
125
- end
90
+ # Show invalid properties with the reasons. Usually used together with valid?
91
+ # @return Array for valid properties with the reasons
92
+ def list_invalid_properties
93
+ invalid_properties = Array.new
94
+ invalid_properties
95
+ end
96
+
97
+ # Check to see if the all the properties in the model are valid
98
+ # @return true if the model is valid
99
+ def valid?
100
+ true
101
+ end
102
+
103
+ # Checks equality by comparing each attribute.
104
+ # @param [Object] Object to be compared
105
+ def ==(o)
106
+ return true if self.equal?(o)
107
+ self.class == o.class &&
108
+ type == o.type &&
109
+ in_details == o.in_details &&
110
+ out_details == o.out_details &&
111
+ instructions == o.instructions &&
112
+ provider == o.provider
113
+ end
114
+
115
+ # @see the `==` method
116
+ # @param [Object] Object to be compared
117
+ def eql?(o)
118
+ self == o
119
+ end
120
+
121
+ # Calculates hash code according to all attributes.
122
+ # @return [Integer] Hash code
123
+ def hash
124
+ [type, in_details, out_details, instructions, provider].hash
125
+ end
126
126
 
127
127
  require 'active_support/core_ext/hash'
128
128
  require 'active_support/hash_with_indifferent_access.rb'
@@ -238,5 +238,6 @@ def _to_hash(value)
238
238
  end
239
239
  end
240
240
 
241
- end
241
+ end
242
+
242
243
  end
@@ -13,147 +13,147 @@ OpenAPI Generator version: 4.0.0-beta3
13
13
  require 'date'
14
14
 
15
15
  module TransferZero
16
- # Fields needed by the payment processor. Depends on the chose payin type. See the appropriate model details for more info: - `NGN::Bank`: see [`PayinMethodDetailsNGNBank`](#model-PayinMethodDetailsNGNBank) - `GHS::Mobile`: see [`PayinMethodDetailsMobile`](#model-PayinMethodDetailsMobile) - `UGX::Mobile`: see [`PayinMethodDetailsMobile`](#model-PayinMethodDetailsMobile) - `TZS::Mobile`: see [`PayinMethodDetailsMobile`](#model-PayinMethodDetailsMobile) Note that some payin processors don't require additional input, these include `paga` through `NGN::Mobile`, `lhv` through `EUR::Bank` and `GBP::Bank`. Some providers like `providus` also have all of their fields set as optional, so you might not want to set any values. To use these providers please set this value to `{}` (an empty hash)
17
- class PayinMethodDetails
18
- # The payment method which the user will use to make the payments. Options are `bank`, `card` or you can leave empty to support both.
19
- attr_accessor :payment_method
20
-
21
- # This is where the user should be redirected back when the payment has been finished
22
- attr_accessor :redirect_url
23
-
24
- # The phone number where the funds should be collected from
25
- attr_accessor :phone_number
26
-
27
- # States whether to send out the instructions to the phone number on how to pay the funds or not. This shuold always be set to true, otherwise the sender might not receive a prompt for payment.
28
- attr_accessor :send_instructions
29
-
30
- # Please make sure the refund_address is a valid BTC address belonging to the sender, as that is going to be used in case the transaction has to be refunded.
31
- attr_accessor :refund_address
32
-
33
- # Attribute mapping from ruby-style variable name to JSON key.
34
- def self.attribute_map
35
- {
36
- :'payment_method' => :'payment_method',
37
- :'redirect_url' => :'redirect_url',
38
- :'phone_number' => :'phone_number',
39
- :'send_instructions' => :'send_instructions',
40
- :'refund_address' => :'refund_address'
41
- }
42
- end
43
-
44
- # Attribute type mapping.
45
- def self.openapi_types
46
- {
47
- :'payment_method' => :'String',
48
- :'redirect_url' => :'String',
49
- :'phone_number' => :'String',
50
- :'send_instructions' => :'Boolean',
51
- :'refund_address' => :'String'
52
- }
53
- end
16
+ # Fields needed by the payment processor. Depends on the chose payin type. See the appropriate model details for more info: - `NGN::Bank`: see [`PayinMethodDetailsNGNBank`](#model-PayinMethodDetailsNGNBank) - `GHS::Mobile`: see [`PayinMethodDetailsMobile`](#model-PayinMethodDetailsMobile) - `UGX::Mobile`: see [`PayinMethodDetailsMobile`](#model-PayinMethodDetailsMobile) - `TZS::Mobile`: see [`PayinMethodDetailsMobile`](#model-PayinMethodDetailsMobile) Note that some payin processors don't require additional input, these include `paga` through `NGN::Mobile`, `lhv` through `EUR::Bank` and `GBP::Bank`. Some providers like `providus` also have all of their fields set as optional, so you might not want to set any values. To use these providers please set this value to `{}` (an empty hash)
17
+ class PayinMethodDetails
18
+ # The payment method which the user will use to make the payments. Options are `bank`, `card` or you can leave empty to support both.
19
+ attr_accessor :payment_method
20
+
21
+ # This is where the user should be redirected back when the payment has been finished
22
+ attr_accessor :redirect_url
23
+
24
+ # The phone number where the funds should be collected from
25
+ attr_accessor :phone_number
26
+
27
+ # States whether to send out the instructions to the phone number on how to pay the funds or not. This shuold always be set to true, otherwise the sender might not receive a prompt for payment.
28
+ attr_accessor :send_instructions
29
+
30
+ # Please make sure the refund_address is a valid BTC address belonging to the sender, as that is going to be used in case the transaction has to be refunded.
31
+ attr_accessor :refund_address
32
+
33
+ # Attribute mapping from ruby-style variable name to JSON key.
34
+ def self.attribute_map
35
+ {
36
+ :'payment_method' => :'payment_method',
37
+ :'redirect_url' => :'redirect_url',
38
+ :'phone_number' => :'phone_number',
39
+ :'send_instructions' => :'send_instructions',
40
+ :'refund_address' => :'refund_address'
41
+ }
42
+ end
54
43
 
55
- # List of class defined in oneOf (OpenAPI v3)
56
- def self.openapi_one_of
57
- [
58
- :'PayinMethodDetailsBTC',
59
- :'PayinMethodDetailsMobile',
60
- :'PayinMethodDetailsNGNBank'
61
- ]
62
- end
44
+ # Attribute type mapping.
45
+ def self.openapi_types
46
+ {
47
+ :'payment_method' => :'String',
48
+ :'redirect_url' => :'String',
49
+ :'phone_number' => :'String',
50
+ :'send_instructions' => :'Boolean',
51
+ :'refund_address' => :'String'
52
+ }
53
+ end
63
54
 
64
- # Initializes the object
65
- # @param [Hash] attributes Model attributes in the form of hash
66
- def initialize(attributes = {})
67
- if (!attributes.is_a?(Hash))
68
- fail ArgumentError, "The input argument (attributes) must be a hash in `TransferZero::PayinMethodDetails` initialize method"
69
- end
55
+ # List of class defined in oneOf (OpenAPI v3)
56
+ def self.openapi_one_of
57
+ [
58
+ :'PayinMethodDetailsBTC',
59
+ :'PayinMethodDetailsMobile',
60
+ :'PayinMethodDetailsNGNBank'
61
+ ]
62
+ end
70
63
 
71
- # check to see if the attribute exists and convert string to symbol for hash key
72
- attributes = attributes.each_with_object({}) { |(k, v), h|
73
- if (!self.class.attribute_map.key?(k.to_sym))
74
- fail ArgumentError, "`#{k}` is not a valid attribute in `TransferZero::PayinMethodDetails`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
75
- end
76
- h[k.to_sym] = v
77
- }
64
+ # Initializes the object
65
+ # @param [Hash] attributes Model attributes in the form of hash
66
+ def initialize(attributes = {})
67
+ if (!attributes.is_a?(Hash))
68
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TransferZero::PayinMethodDetails` initialize method"
69
+ end
78
70
 
79
- if attributes.key?(:'payment_method')
80
- self.payment_method = attributes[:'payment_method']
71
+ # check to see if the attribute exists and convert string to symbol for hash key
72
+ attributes = attributes.each_with_object({}) { |(k, v), h|
73
+ if (!self.class.attribute_map.key?(k.to_sym))
74
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TransferZero::PayinMethodDetails`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
81
75
  end
76
+ h[k.to_sym] = v
77
+ }
82
78
 
83
- if attributes.key?(:'redirect_url')
84
- self.redirect_url = attributes[:'redirect_url']
85
- end
79
+ if attributes.key?(:'payment_method')
80
+ self.payment_method = attributes[:'payment_method']
81
+ end
86
82
 
87
- if attributes.key?(:'phone_number')
88
- self.phone_number = attributes[:'phone_number']
89
- end
83
+ if attributes.key?(:'redirect_url')
84
+ self.redirect_url = attributes[:'redirect_url']
85
+ end
90
86
 
91
- if attributes.key?(:'send_instructions')
92
- self.send_instructions = attributes[:'send_instructions']
93
- end
87
+ if attributes.key?(:'phone_number')
88
+ self.phone_number = attributes[:'phone_number']
89
+ end
94
90
 
95
- if attributes.key?(:'refund_address')
96
- self.refund_address = attributes[:'refund_address']
97
- end
91
+ if attributes.key?(:'send_instructions')
92
+ self.send_instructions = attributes[:'send_instructions']
98
93
  end
99
94
 
100
- # Show invalid properties with the reasons. Usually used together with valid?
101
- # @return Array for valid properties with the reasons
102
- def list_invalid_properties
103
- invalid_properties = Array.new
104
- if @phone_number.nil?
105
- invalid_properties.push('invalid value for "phone_number", phone_number cannot be nil.')
106
- end
95
+ if attributes.key?(:'refund_address')
96
+ self.refund_address = attributes[:'refund_address']
97
+ end
98
+ end
107
99
 
108
- invalid_properties
100
+ # Show invalid properties with the reasons. Usually used together with valid?
101
+ # @return Array for valid properties with the reasons
102
+ def list_invalid_properties
103
+ invalid_properties = Array.new
104
+ if @phone_number.nil?
105
+ invalid_properties.push('invalid value for "phone_number", phone_number cannot be nil.')
109
106
  end
110
107
 
111
- # Check to see if the all the properties in the model are valid
112
- # @return true if the model is valid
113
- def valid?
114
- return false if @phone_number.nil?
115
- _one_of_found = false
116
- openapi_one_of.each do |_class|
117
- _one_of = TransferZero.const_get(_class).build_from_hash(self.to_hash)
118
- if _one_of.valid?
119
- if _one_of_found?
120
- return false
121
- else
122
- _one_of_found = true
123
- end
124
- end
125
- end
108
+ invalid_properties
109
+ end
126
110
 
127
- if !_one_of_found?
128
- return false
111
+ # Check to see if the all the properties in the model are valid
112
+ # @return true if the model is valid
113
+ def valid?
114
+ return false if @phone_number.nil?
115
+ _one_of_found = false
116
+ openapi_one_of.each do |_class|
117
+ _one_of = TransferZero.const_get(_class).build_from_hash(self.to_hash)
118
+ if _one_of.valid?
119
+ if _one_of_found?
120
+ return false
121
+ else
122
+ _one_of_found = true
123
+ end
129
124
  end
130
-
131
- true
132
125
  end
133
126
 
134
- # Checks equality by comparing each attribute.
135
- # @param [Object] Object to be compared
136
- def ==(o)
137
- return true if self.equal?(o)
138
- self.class == o.class &&
139
- payment_method == o.payment_method &&
140
- redirect_url == o.redirect_url &&
141
- phone_number == o.phone_number &&
142
- send_instructions == o.send_instructions &&
143
- refund_address == o.refund_address
127
+ if !_one_of_found?
128
+ return false
144
129
  end
145
130
 
146
- # @see the `==` method
147
- # @param [Object] Object to be compared
148
- def eql?(o)
149
- self == o
150
- end
131
+ true
132
+ end
151
133
 
152
- # Calculates hash code according to all attributes.
153
- # @return [Integer] Hash code
154
- def hash
155
- [payment_method, redirect_url, phone_number, send_instructions, refund_address].hash
156
- end
134
+ # Checks equality by comparing each attribute.
135
+ # @param [Object] Object to be compared
136
+ def ==(o)
137
+ return true if self.equal?(o)
138
+ self.class == o.class &&
139
+ payment_method == o.payment_method &&
140
+ redirect_url == o.redirect_url &&
141
+ phone_number == o.phone_number &&
142
+ send_instructions == o.send_instructions &&
143
+ refund_address == o.refund_address
144
+ end
145
+
146
+ # @see the `==` method
147
+ # @param [Object] Object to be compared
148
+ def eql?(o)
149
+ self == o
150
+ end
151
+
152
+ # Calculates hash code according to all attributes.
153
+ # @return [Integer] Hash code
154
+ def hash
155
+ [payment_method, redirect_url, phone_number, send_instructions, refund_address].hash
156
+ end
157
157
 
158
158
  require 'active_support/core_ext/hash'
159
159
  require 'active_support/hash_with_indifferent_access.rb'
@@ -269,5 +269,6 @@ def _to_hash(value)
269
269
  end
270
270
  end
271
271
 
272
- end
272
+ end
273
+
273
274
  end