transferzero-sdk 1.6.0 → 1.10.0

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -0,0 +1,23 @@
1
+ # TransferZero::ProofOfPayment
2
+
3
+ ## Properties
4
+
5
+ Name | Type | Description | Notes
6
+ ------------ | ------------- | ------------- | -------------
7
+ **id** | **String** | UUID of the uploaded document | [optional]
8
+ **file_name** | **String** | Name of the uploaded file | [optional]
9
+ **thumbnail** | **String** | URL to thumbnail image of the uploaded file | [optional]
10
+ **url** | **String** | URL to uploaded file | [optional]
11
+
12
+ ## Code Sample
13
+
14
+ ```ruby
15
+ require 'TransferZero'
16
+
17
+ instance = TransferZero::ProofOfPayment.new(id: null,
18
+ file_name: my_file.jpg,
19
+ thumbnail: https://bitpesa-development.s3.eu-west-1.amazonaws.com/my_file_thumb.jpg,
20
+ url: https://bitpesa-development.s3.eu-west-1.amazonaws.com/my_file.jpg)
21
+ ```
22
+
23
+
@@ -0,0 +1,17 @@
1
+ # TransferZero::ProofOfPaymentListResponse
2
+
3
+ ## Properties
4
+
5
+ Name | Type | Description | Notes
6
+ ------------ | ------------- | ------------- | -------------
7
+ **object** | [**Array<ProofOfPayment>**](ProofOfPayment.md) | | [optional]
8
+
9
+ ## Code Sample
10
+
11
+ ```ruby
12
+ require 'TransferZero'
13
+
14
+ instance = TransferZero::ProofOfPaymentListResponse.new(object: null)
15
+ ```
16
+
17
+
@@ -12,8 +12,9 @@ Name | Type | Description | Notes
12
12
  **editable** | **Boolean** | Shows whether the recipient can be edited using the PATCH /v1/recipients/{id} endpoint or not | [optional]
13
13
  **retriable** | **Boolean** | Shows whether the transaction made to the recipient can be retried or not | [optional]
14
14
  **input_usd_amount** | **Float** | Shows how much this payment is worth in USD | [optional]
15
- **may_cancel** | **Boolean** | Shows whether the payment can be cancelled using the DELETE /v1/recipients/{id} endpoint or not. The payment can not be cancelled if the payout is pending. | [optional]
15
+ **may_cancel** | **Boolean** | If true it shows that the payment can be cancelled immediately using the DELETE /v1/recipients/{id} endpoint. If false you can still try to cancel it, however it will only gets cancelled once we have confirmation from our partner that the payment has failed. | [optional]
16
16
  **state_reason** | **String** | In case the payment is unsuccessful it holds the error message associated with the last unsuccessful payout. | [optional]
17
+ **state_reason_details** | [**RecipientStateReasonDetails**](RecipientStateReasonDetails.md) | | [optional]
17
18
  **state** | [**RecipientState**](RecipientState.md) | | [optional]
18
19
  **transaction_id** | **String** | The ID of the transaction that is related to this recipient | [optional]
19
20
  **transaction_state** | [**TransactionState**](TransactionState.md) | | [optional]
@@ -41,6 +42,7 @@ instance = TransferZero::Recipient.new(requested_amount: 750.0,
41
42
  input_usd_amount: 10,
42
43
  may_cancel: true,
43
44
  state_reason: null,
45
+ state_reason_details: null,
44
46
  state: null,
45
47
  transaction_id: 97e79719-06e4-4794-aeeb-d2d9415d983a,
46
48
  transaction_state: null,
@@ -0,0 +1,23 @@
1
+ # TransferZero::RecipientStateReasonDetails
2
+
3
+ ## Properties
4
+
5
+ Name | Type | Description | Notes
6
+ ------------ | ------------- | ------------- | -------------
7
+ **code** | **String** | Status code of failed transaction | [optional]
8
+ **category** | **String** | Main category of error, it could be paid, unknown, pickupable, temporary_error, recipient_error, sender_error | [optional]
9
+ **messages** | **Array<String>** | Tiered messages | [optional]
10
+ **description** | **String** | Public, human readable, detailed error message | [optional]
11
+
12
+ ## Code Sample
13
+
14
+ ```ruby
15
+ require 'TransferZero'
16
+
17
+ instance = TransferZero::RecipientStateReasonDetails.new(code: 311,
18
+ category: temporary_error,
19
+ messages: ["Temporary error","Switch Error","Issuer/Switch inoperative"],
20
+ description: The central switch is not accepting transfers at the moment. We will retry the transaction. You can also edit or cancel this transaction.)
21
+ ```
22
+
23
+
@@ -7,6 +7,7 @@ Method | HTTP request | Description
7
7
  [**delete_recipient**](RecipientsApi.md#delete_recipient) | **DELETE** /recipients/{Recipient ID} | Cancelling a recipient
8
8
  [**get_recipients**](RecipientsApi.md#get_recipients) | **GET** /recipients | Getting a list of recipients with filtering
9
9
  [**patch_recipient**](RecipientsApi.md#patch_recipient) | **PATCH** /recipients/{Recipient ID} | Updating a recipient
10
+ [**proof_of_payments**](RecipientsApi.md#proof_of_payments) | **GET** /recipients/{Recipient ID}/proof_of_payments | Returns list of proof of payments
10
11
 
11
12
 
12
13
  # **delete_recipient**
@@ -14,7 +15,7 @@ Method | HTTP request | Description
14
15
 
15
16
  Cancelling a recipient
16
17
 
17
- Cancels the payment to the recipient specified in the URL path. Please note only recipients where the `may_cancel` attribute is true can be cancelled.
18
+ Cancels the payment to the recipient specified in the URL path. Please note recipients where the `may_cancel` attribute is true will be cancelled immediately. If the `may_cancel` attribute is false you can still try to cancel the recipient, however it will only gets cancelled if we will receive a confirmation from our partner that the payment has failed
18
19
 
19
20
  ### Example
20
21
  ```ruby
@@ -210,3 +211,64 @@ end
210
211
 
211
212
 
212
213
 
214
+ # **proof_of_payments**
215
+ > ProofOfPaymentListResponse proof_of_payments(recipient_id)
216
+
217
+ Returns list of proof of payments
218
+
219
+ Returns a list of uploaded proof of payment files for a transaction recipient
220
+
221
+ ### Example
222
+ ```ruby
223
+ # load the gem
224
+ require 'transferzero-sdk'
225
+
226
+ api_instance = TransferZero::RecipientsApi.new
227
+
228
+
229
+ begin
230
+ #Returns list of proof of payments
231
+ result = api_instance.proof_of_payments(recipient_id)
232
+ p result
233
+ rescue TransferZero::ApiError => e
234
+ if e.validation_error
235
+ puts "WARN: Validation error occured when calling the endpoint"
236
+ result = e.response_object("ProofOfPaymentListResponse")
237
+ p result
238
+ else
239
+ puts "Exception when calling RecipientsApi->proof_of_payments: #{e}"
240
+ end
241
+ end
242
+ ```
243
+
244
+ ### Parameters
245
+
246
+ Name | Type | Description | Notes
247
+ ------------- | ------------- | ------------- | -------------
248
+ **recipient_id** | [**String**](.md)| ID of the recipient for whom the proof of payments will be returned. Example: `/v1/recipients/9d4d7b73-a94c-4979-ab57-09074fd55d33/proof_of_payments` |
249
+
250
+ ### Return type
251
+
252
+ [**ProofOfPaymentListResponse**](ProofOfPaymentListResponse.md)
253
+
254
+ ### Authorization
255
+
256
+ You can set the API Key and Secret on the TransferZero object when setting it up:
257
+
258
+ ```ruby
259
+
260
+ TransferZero.configure do |config|
261
+ config.api_key = '<key'
262
+ config.api_secret = '<secret>'
263
+ config.host = 'https://api-sandbox.transferzero.com/v1'
264
+ end
265
+
266
+ ```
267
+
268
+ ### HTTP request headers
269
+
270
+ - **Content-Type**: Not defined
271
+ - **Accept**: application/json
272
+
273
+
274
+
@@ -7,7 +7,7 @@ Name | Type | Description | Notes
7
7
  **id** | **String** | | [optional]
8
8
  **type** | **String** | Type of sender to create - either person or business (defaults to person) | [optional]
9
9
  **state** | [**SenderState**](SenderState.md) | | [optional]
10
- **country** | **String** | Country of sender in 2-character alpha ISO 3166-2 country format |
10
+ **country** | **String** | Country of sender in 2-character alpha ISO 3166-2 country format. This is the residential country for personal senders and the country of incorporation for business senders. |
11
11
  **street** | **String** | Sender&#39;s street |
12
12
  **postal_code** | **String** | Zip code of sender |
13
13
  **city** | **String** | Sender&#39;s city |
@@ -18,6 +18,7 @@ Name | Type | Description | Notes
18
18
  **address_description** | **String** | Description of address | [optional]
19
19
  **identification_number** | **String** | Identification number of document used | [optional]
20
20
  **identification_type** | **String** | Document to be identified. The identification type can be one of the following: - &#x60;DL&#x60;: Driving License - &#x60;PP&#x60;: International Passport - &#x60;ID&#x60;: National ID - &#x60;OT&#x60;: Other | [optional]
21
+ **lang** | **String** | Determines language of the served content. Defaults to English | [optional]
21
22
  **name** | **String** | Name of sender (used only with a Business sender) | [optional]
22
23
  **first_name** | **String** | First name of sender (used only with a Personal sender) | [optional]
23
24
  **middle_name** | **String** | Middle name of sender (used only with a Personal sender) | [optional]
@@ -25,12 +26,13 @@ Name | Type | Description | Notes
25
26
  **birth_date** | **Date** | Date of birth of sender (used only with a Personal sender) | [optional]
26
27
  **occupation** | **String** | Occupation of sender (used only with a Personal sender) | [optional]
27
28
  **nationality** | **String** | The nationality of the sender (used only with a Personal sender) | [optional]
28
- **legal_entity_type** | **String** | Legal entity type (used only with a Business sender) | [optional]
29
- **registration_date** | **String** | The registration date (used only with a Business sender) | [optional]
29
+ **legal_entity_type** | **String** | Legal entity type (used only with a Business sender) Available values: - sole_proprietorship: Sole Proprietorship - partnership: Partnership - privately_owned_company: Privately Owned Company (Limited Company) - publicly_owned_company: Publicly Listed Company (PLC) - government_owned_entity: Government Owned Entity Trusts - trust: Foundations &amp; Similar Entities - ngo: Non-Government Organisations / Charities inc Religious bodies and place of worship - club_and_society: Clubs and Societies - go: GO (Majority Owned Subsidiary of State-Owned Company) - financial_institution: Financial Institution Please note not all values are acceptable for some our corridors. Please reach out to our sales teams for more information. Note that if you select &#x60;financial_institution&#x60; then the fields &#x60;vat_registration_number&#x60;, &#x60;financial_regulator&#x60; and &#x60;regulatory_licence_number&#x60; will be mandatory as well. | [optional]
30
+ **registration_date** | **Date** | The registration date (used only with a Business sender) | [optional]
30
31
  **registration_number** | **String** | The registration number (used only with a Business sender) | [optional]
31
- **nature_of_business** | **String** | Nature of business options (used only with a Business sender) | [optional]
32
+ **nature_of_business** | **String** | Nature of business options (used only with a Business sender) Available values: - personal: Personal - agriculture_and_hunting: Agriculture and Hunting - forestry: Forestry - fishing: Fishing - agricultural_by_products: Agricultural By-Products - coal_mining: Coal Mining - oil_mining: Oil Mining - iron_ore_mining: Iron Ore Mining - other_metal_and_diamond_mining: Other Metal and Diamond Mining - other_mineral_mining: Other Mineral Mining - manufacturing_of_food_drink_tobacco: Manufacture of Food/Drink/Tobacco - manufacturing_of_textiles_leather_fur_furniture: Manufacture of Textiles/Leather/Fur/Furniture - manufacture_of_wooden_products_furniture: Manufacture of Wooden Products/Furniture - manufacture_of_paper_pulp_allied_products: Manufacture of Paper/Pulp/Allied Products - manufacture_of_chemicals_medical_petroleum_rubber_plastic_products: Manufacture Of Chemicals Medical Petroleum Rubber Plastic Products - manufacture_of_pottery_china_glass_stone: Manufacture Of Pottery China Glass Stone - manufacture_of_iron_steel_non_ferrous_metals_basic_industries: Manufacture Of Iron Steel Non-Ferrous Metals Basic Industries - manufacture_of_metal_products_electrical_and_scientific_engineering: Manufacture Of Metal Products Electrical And Scientific Engineering - manufacture_of_jewelry_musical_instruments_toys: Manufacture Of Jewelry Musical Instruments Toys - electricity_gas_and_water: Electricity, Gas And Water - construction: Construction - wholesale_trade: Wholesale Trade - retail_trade: Retail Trade - catering_incl_hotels: Catering Incl. Hotels - transport_storage: Transport Storage - communications: Communications - finance_and_holding_companies: Finance And Holding Companies - insurance: Insurance - business_services: Business Services - real_estate_development_investment: Real Estate Development Investment - central_state_governments: Central State Governments - community_services_defence_police_prisons_etc: Community Services Defence Police Prisons Etc - social_services_education_health_care: Social Services Education Health Care - personal_services_leisure_services: Personal Services - Leisure Services - personal_services_domestic_laundry_repairs: Personal Services - Domestic Laundry Repairs - personal_services_embassies_international_organisations: Personal Services - Embassies | [optional]
32
33
  **source_of_funds** | **String** | The source of funds | [optional]
33
- **core_business_activities** | **String** | The core activities (used only with a Business sender) | [optional]
34
+ **custom_source_of_funds** | **String** | Custom source of funds | [optional]
35
+ **core_business_activity** | **String** | The core activity (used only with a Business sender) | [optional]
34
36
  **purpose_of_opening_account** | **String** | The purpose for opening their account (used only with a Business sender) | [optional]
35
37
  **office_phone** | **String** | The official phone number (used only with a Business sender) | [optional]
36
38
  **vat_registration_number** | **String** | The VAT registration number (used only with a Business sender) | [optional]
@@ -47,6 +49,10 @@ Name | Type | Description | Notes
47
49
  **onboarding_status** | **String** | The onboarding status of the sender | [optional]
48
50
  **politically_exposed_people** | [**Array&lt;PoliticallyExposedPerson&gt;**](PoliticallyExposedPerson.md) | An optional list of politically exposed people, individuals who are or have been entrusted with prominent public functions by a country, for example heads of state or heads of government, senior politicians, senior government, judicial or military officials, senior executives of state owned corporations, important political party officials. There is a limit of three (3) politically exposed people per Sender. Politically exposed person example: &#x60;&#x60;&#x60;json { \&quot;politically_exposed_person\&quot;: { \&quot;name\&quot;: \&quot;Ronald Reagan\&quot;, \&quot;position\&quot;: \&quot;President of the United States\&quot;, \&quot;started_date\&quot;: \&quot;1981-01-20T00:00:00.000Z\&quot;, \&quot;ended_date\&quot;: \&quot;1989-01-20T00:00:00.000Z\&quot;, \&quot;sender_id\&quot;: \&quot;344fb668-196d-43db-9d94-b34b7e6c7e0b\&quot; } } &#x60;&#x60;&#x60; | [optional]
49
51
  **external_id** | **String** | Optional ID that is supplied by partner linking it to the partner&#39;s own Sender ID. Note: if present we will validate whether the sent ID is a duplicate in our system or not. | [optional]
52
+ **city_of_birth** | **String** | City of birth of sender | [optional]
53
+ **country_of_birth** | **String** | Country of birth of sender in 2-character alpha ISO 3166-2 country format | [optional]
54
+ **gender** | **String** | The gender of the sender: - &#x60;M&#x60;: Male - &#x60;F&#x60;: Female - &#x60;O&#x60;: Other | [optional]
55
+ **created_at** | **String** | Date and time of sender was created | [optional]
50
56
 
51
57
  ## Code Sample
52
58
 
@@ -67,6 +73,7 @@ instance = TransferZero::Sender.new(id: bf9ff782-e182-45ac-abea-5bce83ad6670,
67
73
  address_description: null,
68
74
  identification_number: AB123456,
69
75
  identification_type: ID,
76
+ lang: en,
70
77
  name: null,
71
78
  first_name: Johnny,
72
79
  middle_name: Johnny,
@@ -74,12 +81,13 @@ instance = TransferZero::Sender.new(id: bf9ff782-e182-45ac-abea-5bce83ad6670,
74
81
  birth_date: null,
75
82
  occupation: Accountant,
76
83
  nationality: NG,
77
- legal_entity_type: sole_proprietorship,
84
+ legal_entity_type: privately_owned_company,
78
85
  registration_date: null,
79
86
  registration_number: null,
80
87
  nature_of_business: null,
81
88
  source_of_funds: null,
82
- core_business_activities: null,
89
+ custom_source_of_funds: null,
90
+ core_business_activity: null,
83
91
  purpose_of_opening_account: null,
84
92
  office_phone: null,
85
93
  vat_registration_number: null,
@@ -95,7 +103,11 @@ instance = TransferZero::Sender.new(id: bf9ff782-e182-45ac-abea-5bce83ad6670,
95
103
  errors: {&quot;phone_number&quot;:[{&quot;error&quot;:&quot;invalid&quot;}],&quot;documents&quot;:[{&quot;error&quot;:&quot;blank&quot;}]},
96
104
  onboarding_status: null,
97
105
  politically_exposed_people: [{&quot;id&quot;:&quot;40&quot;,&quot;name&quot;:&quot;Ronald Reagan&quot;,&quot;position&quot;:&quot;President of the United States&quot;,&quot;started_date&quot;:&quot;1981-01-20T00:00:00.000Z&quot;,&quot;ended_date&quot;:&quot;1989-01-20T00:00:00.000Z&quot;,&quot;sender_id&quot;:&quot;f9dc79ca-0c39-4add-9f4d-5ad7e6f187fb&quot;}],
98
- external_id: 806ec63a-a5a7-43cc-9d75-1ee74fbcc026)
106
+ external_id: 806ec63a-a5a7-43cc-9d75-1ee74fbcc026,
107
+ city_of_birth: London,
108
+ country_of_birth: GB,
109
+ gender: M,
110
+ created_at: 2019-01-11T00:00:00.001+0000)
99
111
  ```
100
112
 
101
113
 
@@ -61,16 +61,20 @@ require 'transferzero-sdk/models/payment_method_list_response'
61
61
  require 'transferzero-sdk/models/payment_method_opposite'
62
62
  require 'transferzero-sdk/models/payout_method'
63
63
  require 'transferzero-sdk/models/payout_method_bank_account_type_enum'
64
+ require 'transferzero-sdk/models/payout_method_cash_provider_enum'
64
65
  require 'transferzero-sdk/models/payout_method_details'
65
66
  require 'transferzero-sdk/models/payout_method_details_btc'
66
67
  require 'transferzero-sdk/models/payout_method_details_balance'
68
+ require 'transferzero-sdk/models/payout_method_details_gbp_bank'
67
69
  require 'transferzero-sdk/models/payout_method_details_ghs_bank'
68
70
  require 'transferzero-sdk/models/payout_method_details_iban'
69
71
  require 'transferzero-sdk/models/payout_method_details_mad_cash'
70
72
  require 'transferzero-sdk/models/payout_method_details_mobile'
71
73
  require 'transferzero-sdk/models/payout_method_details_ngn_bank'
72
74
  require 'transferzero-sdk/models/payout_method_details_xof_bank'
75
+ require 'transferzero-sdk/models/payout_method_details_xof_cash'
73
76
  require 'transferzero-sdk/models/payout_method_details_xof_mobile'
77
+ require 'transferzero-sdk/models/payout_method_details_zar_bank'
74
78
  require 'transferzero-sdk/models/payout_method_gender_enum'
75
79
  require 'transferzero-sdk/models/payout_method_identity_card_type_enum'
76
80
  require 'transferzero-sdk/models/payout_method_list_response'
@@ -79,11 +83,14 @@ require 'transferzero-sdk/models/payout_method_request'
79
83
  require 'transferzero-sdk/models/payout_method_response'
80
84
  require 'transferzero-sdk/models/payout_method_webhook'
81
85
  require 'transferzero-sdk/models/politically_exposed_person'
86
+ require 'transferzero-sdk/models/proof_of_payment'
87
+ require 'transferzero-sdk/models/proof_of_payment_list_response'
82
88
  require 'transferzero-sdk/models/recipient'
83
89
  require 'transferzero-sdk/models/recipient_list_response'
84
90
  require 'transferzero-sdk/models/recipient_request'
85
91
  require 'transferzero-sdk/models/recipient_response'
86
92
  require 'transferzero-sdk/models/recipient_state'
93
+ require 'transferzero-sdk/models/recipient_state_reason_details'
87
94
  require 'transferzero-sdk/models/recipient_webhook'
88
95
  require 'transferzero-sdk/models/sender'
89
96
  require 'transferzero-sdk/models/sender_list_response'
@@ -22,7 +22,7 @@ module TransferZero
22
22
 
23
23
 
24
24
  # Cancelling a recipient
25
- # Cancels the payment to the recipient specified in the URL path. Please note only recipients where the `may_cancel` attribute is true can be cancelled.
25
+ # Cancels the payment to the recipient specified in the URL path. Please note recipients where the `may_cancel` attribute is true will be cancelled immediately. If the `may_cancel` attribute is false you can still try to cancel the recipient, however it will only gets cancelled if we will receive a confirmation from our partner that the payment has failed
26
26
  # @param recipient_id ID of recipient to cancel. Example: &#x60;/v1/recipients/9d4d7b73-a94c-4979-ab57-09074fd55d33&#x60;
27
27
  # @param [Hash] opts the optional parameters
28
28
  # @return [RecipientResponse]
@@ -32,7 +32,7 @@ module TransferZero
32
32
  end
33
33
 
34
34
  # Cancelling a recipient
35
- # Cancels the payment to the recipient specified in the URL path. Please note only recipients where the &#x60;may_cancel&#x60; attribute is true can be cancelled.
35
+ # Cancels the payment to the recipient specified in the URL path. Please note recipients where the &#x60;may_cancel&#x60; attribute is true will be cancelled immediately. If the &#x60;may_cancel&#x60; attribute is false you can still try to cancel the recipient, however it will only gets cancelled if we will receive a confirmation from our partner that the payment has failed
36
36
  # @param recipient_id ID of recipient to cancel. Example: &#x60;/v1/recipients/9d4d7b73-a94c-4979-ab57-09074fd55d33&#x60;
37
37
  # @param [Hash] opts the optional parameters
38
38
  # @return [Array<(RecipientResponse, Fixnum, Hash)>] RecipientResponse data, response status code and response headers
@@ -217,5 +217,59 @@ module TransferZero
217
217
  end
218
218
  return data, status_code, headers
219
219
  end
220
+
221
+
222
+ # Returns list of proof of payments
223
+ # Returns a list of uploaded proof of payment files for a transaction recipient
224
+ # @param recipient_id ID of the recipient for whom the proof of payments will be returned. Example: &#x60;/v1/recipients/9d4d7b73-a94c-4979-ab57-09074fd55d33/proof_of_payments&#x60;
225
+ # @param [Hash] opts the optional parameters
226
+ # @return [ProofOfPaymentListResponse]
227
+ def proof_of_payments(recipient_id, opts = {})
228
+ data, _status_code, _headers = proof_of_payments_with_http_info(recipient_id, opts)
229
+ data
230
+ end
231
+
232
+ # Returns list of proof of payments
233
+ # Returns a list of uploaded proof of payment files for a transaction recipient
234
+ # @param recipient_id ID of the recipient for whom the proof of payments will be returned. Example: &#x60;/v1/recipients/9d4d7b73-a94c-4979-ab57-09074fd55d33/proof_of_payments&#x60;
235
+ # @param [Hash] opts the optional parameters
236
+ # @return [Array<(ProofOfPaymentListResponse, Fixnum, Hash)>] ProofOfPaymentListResponse data, response status code and response headers
237
+ def proof_of_payments_with_http_info(recipient_id, opts = {})
238
+ if @api_client.config.debugging
239
+ @api_client.config.logger.debug 'Calling API: RecipientsApi.proof_of_payments ...'
240
+ end
241
+ # verify the required parameter 'recipient_id' is set
242
+ if @api_client.config.client_side_validation && recipient_id.nil?
243
+ fail ArgumentError, "Missing the required parameter 'recipient_id' when calling RecipientsApi.proof_of_payments"
244
+ end
245
+ # resource path
246
+ local_var_path = '/recipients/{Recipient ID}/proof_of_payments'.sub('{' + 'Recipient ID' + '}', recipient_id.to_s)
247
+
248
+ # query parameters
249
+ query_params = {}
250
+
251
+ # header parameters
252
+ header_params = {}
253
+ # HTTP header 'Accept' (if needed)
254
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
255
+
256
+ # form parameters
257
+ form_params = {}
258
+
259
+ # http body (model)
260
+ post_body = nil
261
+ auth_names = ['AuthorizationKey', 'AuthorizationNonce', 'AuthorizationSecret', 'AuthorizationSignature']
262
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
263
+ :header_params => header_params,
264
+ :query_params => query_params,
265
+ :form_params => form_params,
266
+ :body => post_body,
267
+ :auth_names => auth_names,
268
+ :return_type => 'ProofOfPaymentListResponse')
269
+ if @api_client.config.debugging
270
+ @api_client.config.logger.debug "API called: RecipientsApi#proof_of_payments\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
271
+ end
272
+ return data, status_code, headers
273
+ end
220
274
  end
221
275
  end
@@ -35,7 +35,7 @@ module TransferZero
35
35
  # @option config [Configuration] Configuration for initializing the object, default to Configuration.default
36
36
  def initialize(config = Configuration.default)
37
37
  @config = config
38
- @user_agent = "TransferZero-SDK/Ruby/1.6.0"
38
+ @user_agent = "TransferZero-SDK/Ruby/1.10.0"
39
39
  @default_headers = {
40
40
  'Content-Type' => 'application/json',
41
41
  'User-Agent' => @user_agent
@@ -106,12 +106,14 @@ module TransferZero
106
106
  url_with_params = add_query(url, query_params)
107
107
  form_params = opts[:form_params] || {}
108
108
 
109
+ request_body = opts[:body].to_s.gsub(/[[:space:]]+/, ' ').strip
110
+
109
111
  request_nonce = SecureRandom.uuid
110
112
  request_signature = sign_request([
111
113
  request_nonce,
112
114
  http_method.to_s.upcase,
113
115
  url_with_params,
114
- DIGEST.hexdigest(opts[:body].to_s.gsub(/[[:space:]]+/, ' ').strip)
116
+ DIGEST.hexdigest(request_body)
115
117
  ])
116
118
 
117
119
  header_params['Authorization-Nonce'] = request_nonce
@@ -138,7 +140,7 @@ module TransferZero
138
140
  req_opts[:cainfo] = @config.ssl_ca_cert if @config.ssl_ca_cert
139
141
 
140
142
  if [:post, :patch, :put, :delete].include?(http_method)
141
- req_body = build_request_body(header_params, form_params, opts[:body])
143
+ req_body = build_request_body(header_params, form_params, request_body)
142
144
  req_opts.update :body => req_body
143
145
  if @config.debugging
144
146
  @config.logger.debug "HTTP request body param ~BEGIN~\n#{req_body}\n~END~\n"
@@ -13,86 +13,86 @@ OpenAPI Generator version: 4.0.0-beta3
13
13
  require 'date'
14
14
 
15
15
  module TransferZero
16
- class Account
17
- # The account balance for the given currency
18
- attr_accessor :amount
19
-
20
- # The currency of this balance
21
- attr_accessor :currency
22
-
23
- # Attribute mapping from ruby-style variable name to JSON key.
24
- def self.attribute_map
25
- {
26
- :'amount' => :'amount',
27
- :'currency' => :'currency'
28
- }
29
- end
30
-
31
- # Attribute type mapping.
32
- def self.openapi_types
33
- {
34
- :'amount' => :'Float',
35
- :'currency' => :'String'
36
- }
37
- end
16
+ class Account
17
+ # The account balance for the given currency
18
+ attr_accessor :amount
19
+
20
+ # The currency of this balance
21
+ attr_accessor :currency
22
+
23
+ # Attribute mapping from ruby-style variable name to JSON key.
24
+ def self.attribute_map
25
+ {
26
+ :'amount' => :'amount',
27
+ :'currency' => :'currency'
28
+ }
29
+ end
38
30
 
39
- # Initializes the object
40
- # @param [Hash] attributes Model attributes in the form of hash
41
- def initialize(attributes = {})
42
- if (!attributes.is_a?(Hash))
43
- fail ArgumentError, "The input argument (attributes) must be a hash in `TransferZero::Account` initialize method"
44
- end
31
+ # Attribute type mapping.
32
+ def self.openapi_types
33
+ {
34
+ :'amount' => :'Float',
35
+ :'currency' => :'String'
36
+ }
37
+ end
45
38
 
46
- # check to see if the attribute exists and convert string to symbol for hash key
47
- attributes = attributes.each_with_object({}) { |(k, v), h|
48
- if (!self.class.attribute_map.key?(k.to_sym))
49
- fail ArgumentError, "`#{k}` is not a valid attribute in `TransferZero::Account`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
50
- end
51
- h[k.to_sym] = v
52
- }
39
+ # Initializes the object
40
+ # @param [Hash] attributes Model attributes in the form of hash
41
+ def initialize(attributes = {})
42
+ if (!attributes.is_a?(Hash))
43
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TransferZero::Account` initialize method"
44
+ end
53
45
 
54
- if attributes.key?(:'amount')
55
- self.amount = attributes[:'amount']
46
+ # check to see if the attribute exists and convert string to symbol for hash key
47
+ attributes = attributes.each_with_object({}) { |(k, v), h|
48
+ if (!self.class.attribute_map.key?(k.to_sym))
49
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TransferZero::Account`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
56
50
  end
51
+ h[k.to_sym] = v
52
+ }
57
53
 
58
- if attributes.key?(:'currency')
59
- self.currency = attributes[:'currency']
60
- end
54
+ if attributes.key?(:'amount')
55
+ self.amount = attributes[:'amount']
61
56
  end
62
57
 
63
- # Show invalid properties with the reasons. Usually used together with valid?
64
- # @return Array for valid properties with the reasons
65
- def list_invalid_properties
66
- invalid_properties = Array.new
67
- invalid_properties
58
+ if attributes.key?(:'currency')
59
+ self.currency = attributes[:'currency']
68
60
  end
61
+ end
69
62
 
70
- # Check to see if the all the properties in the model are valid
71
- # @return true if the model is valid
72
- def valid?
73
- true
74
- end
63
+ # Show invalid properties with the reasons. Usually used together with valid?
64
+ # @return Array for valid properties with the reasons
65
+ def list_invalid_properties
66
+ invalid_properties = Array.new
67
+ invalid_properties
68
+ end
75
69
 
76
- # Checks equality by comparing each attribute.
77
- # @param [Object] Object to be compared
78
- def ==(o)
79
- return true if self.equal?(o)
80
- self.class == o.class &&
81
- amount == o.amount &&
82
- currency == o.currency
83
- end
70
+ # Check to see if the all the properties in the model are valid
71
+ # @return true if the model is valid
72
+ def valid?
73
+ true
74
+ end
84
75
 
85
- # @see the `==` method
86
- # @param [Object] Object to be compared
87
- def eql?(o)
88
- self == o
89
- end
76
+ # Checks equality by comparing each attribute.
77
+ # @param [Object] Object to be compared
78
+ def ==(o)
79
+ return true if self.equal?(o)
80
+ self.class == o.class &&
81
+ amount == o.amount &&
82
+ currency == o.currency
83
+ end
90
84
 
91
- # Calculates hash code according to all attributes.
92
- # @return [Integer] Hash code
93
- def hash
94
- [amount, currency].hash
95
- end
85
+ # @see the `==` method
86
+ # @param [Object] Object to be compared
87
+ def eql?(o)
88
+ self == o
89
+ end
90
+
91
+ # Calculates hash code according to all attributes.
92
+ # @return [Integer] Hash code
93
+ def hash
94
+ [amount, currency].hash
95
+ end
96
96
 
97
97
  require 'active_support/core_ext/hash'
98
98
  require 'active_support/hash_with_indifferent_access.rb'
@@ -208,5 +208,6 @@ def _to_hash(value)
208
208
  end
209
209
  end
210
210
 
211
- end
211
+ end
212
+
212
213
  end