currency_cloud 1.0.3 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +3 -8
  3. data/README.md +3 -12
  4. data/currency_cloud.gemspec +4 -9
  5. data/lib/currency_cloud/actions/cancel.rb +14 -0
  6. data/lib/currency_cloud/actions/find.rb +2 -2
  7. data/lib/currency_cloud/actions.rb +1 -0
  8. data/lib/currency_cloud/errors/api_error.rb +6 -2
  9. data/lib/currency_cloud/transfer.rb +1 -1
  10. data/lib/currency_cloud/version.rb +1 -1
  11. data/spec/integration/actions_spec.rb +12 -0
  12. data/spec/integration/funding_account_spec.rb +29 -0
  13. data/spec/integration/payments_spec.rb +14 -0
  14. data/spec/integration/transfers_spec.rb +9 -0
  15. data/spec/support/vcr_cassettes/Accounts/can_retrieve_account_payment_charges_settings.yml +2 -2
  16. data/spec/support/vcr_cassettes/Accounts/can_update_account_payment_charges_settings.yml +2 -2
  17. data/spec/support/vcr_cassettes/Actions/can_find_when_a_top-level_module_that_matches_a_CC_resourceful_collection_already_exists.yml +38 -0
  18. data/spec/support/vcr_cassettes/Conversions/can_cancel_conversion/with_notes/has_a_non-empty_notes_attribute.yml +4 -4
  19. data/spec/support/vcr_cassettes/Conversions/can_cancel_conversion/without_notes/has_a_empty_notes_attribute.yml +4 -4
  20. data/spec/support/vcr_cassettes/Conversions/can_cancellation_quote.yml +3 -3
  21. data/spec/support/vcr_cassettes/Conversions/can_date_change_conversion.yml +4 -4
  22. data/spec/support/vcr_cassettes/Conversions/can_retrieve_cancellation_quote.yml +4 -4
  23. data/spec/support/vcr_cassettes/Conversions/can_retrieve_date_change_quote.yml +4 -4
  24. data/spec/support/vcr_cassettes/Conversions/can_retrieve_profit_and_loss.yml +2 -2
  25. data/spec/support/vcr_cassettes/Conversions/can_split_conversion.yml +4 -4
  26. data/spec/support/vcr_cassettes/Conversions/can_split_history.yml +4 -4
  27. data/spec/support/vcr_cassettes/Conversions/can_split_preview.yml +4 -4
  28. data/spec/support/vcr_cassettes/FundingAccounts/can_find.yml +2 -2
  29. data/spec/support/vcr_cassettes/FundingAccounts/can_find_bad_request.yml +142 -0
  30. data/spec/support/vcr_cassettes/FundingAccounts/can_find_missing_currency.yml +122 -0
  31. data/spec/support/vcr_cassettes/FundingAccounts/can_find_unauthorized.yml +62 -0
  32. data/spec/support/vcr_cassettes/IBANs/can_IBANs_for_a_specific_subaccount.yml +2 -2
  33. data/spec/support/vcr_cassettes/IBANs/can_IBANs_for_subaccounts.yml +2 -2
  34. data/spec/support/vcr_cassettes/IBANs/can_find.yml +1 -1
  35. data/spec/support/vcr_cassettes/Payments/can_authorise/when_payment_ids_are_valid.yml +5 -5
  36. data/spec/support/vcr_cassettes/Payments/can_create.yml +3 -3
  37. data/spec/support/vcr_cassettes/Payments/can_create_bad_request.yml +191 -0
  38. data/spec/support/vcr_cassettes/Payments/can_get_the_submission.yml +4 -4
  39. data/spec/support/vcr_cassettes/Payments/can_retrieve_confirmation.yml +3 -3
  40. data/spec/support/vcr_cassettes/Payments/can_retrieve_payment_delivery_date.yml +2 -2
  41. data/spec/support/vcr_cassettes/Payments/can_retrieve_payment_tracking_info.yml +2 -2
  42. data/spec/support/vcr_cassettes/Payments/can_retrieve_quote_payment_fee.yml +2 -2
  43. data/spec/support/vcr_cassettes/Rates/can_provided_detailed_rate_with_conversion_date_preference.yml +1 -1
  44. data/spec/support/vcr_cassettes/Reference/can_retrieve_bank_details.yml +2 -2
  45. data/spec/support/vcr_cassettes/Reference/can_retrieve_conversion_dates.yml +2 -2
  46. data/spec/support/vcr_cassettes/Reference/can_retrieve_currencies.yml +2 -2
  47. data/spec/support/vcr_cassettes/Reference/can_retrieve_payer_required_details.yml +2 -2
  48. data/spec/support/vcr_cassettes/Reference/can_retrieve_payment_dates.yml +2 -2
  49. data/spec/support/vcr_cassettes/Reference/can_retrieve_payment_fee_rules.yml +1 -1
  50. data/spec/support/vcr_cassettes/Reference/can_retrieve_payment_purpose_codes.yml +2 -2
  51. data/spec/support/vcr_cassettes/Reference/can_retrieve_settlement_accounts.yml +2 -2
  52. data/spec/support/vcr_cassettes/Reports/can_create_payments_report.yml +2 -2
  53. data/spec/support/vcr_cassettes/Reports/can_find_report_requests.yml +2 -2
  54. data/spec/support/vcr_cassettes/Reports/can_retrieve_report_request.yml +2 -2
  55. data/spec/support/vcr_cassettes/Transactions/can_retrieve_sender_details.yml +2 -2
  56. data/spec/support/vcr_cassettes/Transfers/can_cancel.yml +199 -0
  57. data/spec/support/vcr_cassettes/Transfers/can_create.yml +2 -2
  58. data/spec/support/vcr_cassettes/Transfers/can_find.yml +3 -3
  59. data/spec/support/vcr_cassettes/Transfers/can_retrieve.yml +3 -3
  60. data/spec/support/vcr_cassettes/VirtualAccounts/can_find.yml +2 -2
  61. data/spec/support/vcr_cassettes/VirtualAccounts/can_find_VANs_for_a_specific_subaccount.yml +2 -2
  62. data/spec/support/vcr_cassettes/VirtualAccounts/can_find_VANs_for_subaccounts.yml +2 -2
  63. data/spec/support/vcr_cassettes/WithdrawalAccounts/can_find_withdrawal_accounts.yml +3 -3
  64. data/spec/support/vcr_cassettes/WithdrawalAccounts/can_find_withdrawal_accounts2.yml +3 -3
  65. data/spec/support/vcr_cassettes/WithdrawalAccounts/can_pull_funds.yml +3 -3
  66. metadata +23 -10
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6efa7b769f16b04b941b9f3b1990c78f4273cbf8cdd54b19b9851f85f1d76357
4
- data.tar.gz: 6dfb96ea6e380647ec3eb5083dfa4d174dda50ad0bfb2619d28e7e7878f47a4e
3
+ metadata.gz: f4a19b578862f18ff16713108bc871a1452939aad1c5aab1de31c55d86ac01c6
4
+ data.tar.gz: 5f1a38f0af6d4d7be623395175ec5b196feafffd14097b8613cb4cb5e0206c2e
5
5
  SHA512:
6
- metadata.gz: 98d4f5311d45853d0e3fec905c6030af279f187032db13943f0ddd9be45301556c78189e87dce869408f0eecfbf067da3e6b4ebf9240ee3ebcabb0062983936f
7
- data.tar.gz: 0ff09b593d7f81ca3c11f2bd00c0f6386584ab07fa0e93f6069a4759400a2ea65155301e715f4276436269ef9b766ad5e25e55ba16ea2cd99313c5d2fac20382
6
+ metadata.gz: e98a69cf981757e5b4732074c355e93213943b5d52af666a0173282668e14b4df47c8e9ae403360d1c501479a2dfd12eb8308b71cdb29ee4c8e4b698080e31d7
7
+ data.tar.gz: a88c42394875663593a92b0aa1e3c5bed5b3b4eb8e3da630c23894553282ca3e00cad36669fdc8e30e8c407a74d7a6f6d339a370fcdf12e48791580da9fc58d4
data/.travis.yml CHANGED
@@ -4,12 +4,7 @@ script: bundle exec rspec
4
4
  cache: bundler
5
5
 
6
6
  rvm:
7
- - 1.9.3
8
- - 2.2
9
- - 2.3.4
10
- - 2.4.1
11
- - 2.5.3
12
- - 2.6.3
13
- - jruby-19mode
14
- - jruby-9.1.17.0
7
+ - 2.5.8
8
+ - 2.6.6
9
+ - 2.7.2
15
10
  - jruby-9.2.0.0
data/README.md CHANGED
@@ -17,24 +17,15 @@ If you want to build the gem from source:
17
17
 
18
18
  `gem build currency_cloud.gemspec`
19
19
 
20
- ## Deprecation Announcement
21
-
22
- October 2020: Please be aware that __Ruby 1.9__ is now deprecated, it will not be supported from January 2021.
23
- Please upgrade to a supported, secure version of Ruby, listed below.
24
-
25
20
 
26
21
  ## Supported Ruby versions
27
22
 
28
23
  This library aims to support and is [tested against][travis] the following Ruby
29
24
  implementations:
30
25
 
31
- * MRI 2.0.0
32
- * MRI 2.1.0
33
- * MRI 2.2.0
34
- * MRI 2.3.4
35
- * MRI 2.4.1
36
- * MRI 2.5.3
37
- * MRI 2.6.3
26
+ * MRI 2.5
27
+ * MRI 2.6
28
+ * MRI 2.7
38
29
  * [JRuby][jruby]
39
30
  * [Rubinius][rubinius]
40
31
 
@@ -11,19 +11,14 @@ Gem::Specification.new do |s|
11
11
  s.email = ['liam.mcandrew@currencycloud.com', 'richard.nienaber@currencycloud.com']
12
12
  s.homepage = 'https://github.com/Currencycloud/currencycloud-ruby/'
13
13
  s.licenses = ['MIT']
14
- s.required_ruby_version = '>= 1.9'
14
+ s.required_ruby_version = '>= 2.5'
15
15
 
16
16
  s.add_dependency('httparty', '~> 0.14')
17
17
 
18
- if RUBY_VERSION == '1.9.3'
19
- s.add_dependency('json', '>= 1.8', '<= 2.2')
20
- s.add_development_dependency('rake', '~> 10.3')
21
- else
22
- s.add_dependency('json', '~> 2.3')
23
- s.add_development_dependency('rake', '~> 12.3.3')
24
- end
18
+ s.add_dependency('json', '~> 2.3.0')
19
+ s.add_development_dependency('rake', '~> 12.3.3')
25
20
 
26
- s.add_development_dependency('addressable', '<= 2.4.0')
21
+ s.add_development_dependency('addressable', '<= 2.8.0')
27
22
  s.add_development_dependency('rspec', '~> 3.1')
28
23
  s.add_development_dependency('vcr', '~> 3.0.3')
29
24
  s.add_development_dependency('webmock', '~> 2.3.2')
@@ -0,0 +1,14 @@
1
+ module CurrencyCloud
2
+ module Actions
3
+ module Cancel
4
+ def self.extended(base)
5
+ base.send(:include, InstanceDelete)
6
+ end
7
+
8
+ def cancel(id)
9
+ attrs = client.post("#{id}/cancel")
10
+ new(attrs)
11
+ end
12
+ end
13
+ end
14
+ end
@@ -14,10 +14,10 @@ module CurrencyCloud
14
14
  private
15
15
 
16
16
  def mixin_class
17
- unless CurrencyCloud.const_defined?(resource.capitalize)
17
+ unless CurrencyCloud.const_defined?(resource.capitalize, false)
18
18
  CurrencyCloud.const_set(resource.capitalize, Class.new(CurrencyCloud::ResourcefulCollection))
19
19
  end
20
- CurrencyCloud.const_get(resource.capitalize)
20
+ CurrencyCloud.const_get(resource.capitalize, false)
21
21
  end
22
22
  end
23
23
  end
@@ -6,6 +6,7 @@ require_relative 'actions/instance_delete'
6
6
  require_relative 'actions/retrieve'
7
7
  require_relative 'actions/save'
8
8
  require_relative 'actions/update'
9
+ require_relative 'actions/cancel'
9
10
 
10
11
  module CurrencyCloud
11
12
  module Actions
@@ -37,8 +37,12 @@ module CurrencyCloud
37
37
  return unless errors['error_messages']
38
38
 
39
39
  errors['error_messages'].each do |field, messages|
40
- messages.each do |message|
41
- @messages << ApiErrorMessage.new(field, message)
40
+ if messages.is_a?(Array)
41
+ messages.each do |message|
42
+ @messages << ApiErrorMessage.new(field, message)
43
+ end
44
+ else
45
+ @messages << ApiErrorMessage.new(field, messages)
42
46
  end
43
47
  end
44
48
  end
@@ -3,6 +3,6 @@ module CurrencyCloud
3
3
  include CurrencyCloud::Resource
4
4
 
5
5
  resource :transfers
6
- actions :create, :retrieve, :find
6
+ actions :create, :retrieve, :find, :cancel
7
7
  end
8
8
  end
@@ -2,5 +2,5 @@
2
2
 
3
3
  module CurrencyCloud
4
4
  API_VERSION = "v2".freeze # API Version
5
- VERSION = "1.0.3".freeze # Gem Version
5
+ VERSION = "1.3.0".freeze # Gem Version
6
6
  end
@@ -72,6 +72,18 @@ describe 'Actions', vcr: true do
72
72
  expect(pagination.order_asc_desc).to eq('asc')
73
73
  end
74
74
 
75
+ it 'can #find when a top-level module that matches a CC resourceful collection already exists' do
76
+ # Unset the CurrencyCloud::Beneficiaries method to get it to a state
77
+ # before any other test attempted to call #find
78
+ CurrencyCloud.send(:remove_const, :Beneficiaries)
79
+
80
+ # Define a Beneficiaries method anywhere above
81
+ # CurrencyCloud in the resolution chain.
82
+ Object.const_set(:Beneficiaries, Module.new)
83
+
84
+ expect { CurrencyCloud::Beneficiary.find }.not_to raise_exception
85
+ end
86
+
75
87
  it 'can #update' do
76
88
  beneficiary = CurrencyCloud::Beneficiary.update('081596c9-02de-483e-9f2a-4cf55dcdf98c', bank_account_holder_name: 'Test User 2')
77
89
  expect(beneficiary).to be_a_kind_of(CurrencyCloud::Beneficiary)
@@ -30,4 +30,33 @@ describe "FundingAccounts", vcr: true do
30
30
  expect(account.updated_at).to eq "2018-05-14T14:19:30+00:00"
31
31
  end
32
32
 
33
+ it "can find #missing_currency" do
34
+ begin
35
+ accounts = CurrencyCloud::FundingAccount.find()
36
+ rescue CurrencyCloud::BadRequestError => error
37
+ # All Good. Expected
38
+ expect(error.messages.length).to eq 1
39
+ expect(error.messages[0].code).to eq "currency_is_required"
40
+ end
41
+ end
42
+
43
+ it "can find #bad_request" do
44
+ begin
45
+ accounts = CurrencyCloud::FundingAccount.find(currency: "a", payment_type: "x", account_id: "x")
46
+ rescue CurrencyCloud::BadRequestError => error
47
+ # All Good. Expected
48
+ expect(error.messages.length).to eq 3
49
+ end
50
+ end
51
+
52
+ it "can find #unauthorized" do
53
+ begin
54
+ accounts = CurrencyCloud::FundingAccount.find(currency: "GBP")
55
+ rescue CurrencyCloud::AuthenticationError => error
56
+ # All Good. Expected
57
+ expect(error.messages.length).to eq 1
58
+ expect(error.messages[0].code).to eq "invalid_supplied_credentials"
59
+ end
60
+ end
61
+
33
62
  end
@@ -122,4 +122,18 @@ describe 'Payments', vcr: true do
122
122
  expect(payment_tracking_info.payment_events[6]["tracker_event_type"]).to eq("customer_credit_transfer_payment")
123
123
  expect(payment_tracking_info.payment_events[6]["instructed_amount"]["amount"]).to eq("745437.57")
124
124
  end
125
+
126
+ it 'can create #bad_request' do
127
+ begin
128
+ payment = CurrencyCloud::Payment.create()
129
+ rescue CurrencyCloud::BadRequestError => error
130
+ #All Good. Expected
131
+ expect(error.messages.length).to eq 10
132
+ expect(error.messages[0].field).to eq "currency"
133
+ expect(error.messages[0].code).to eq "currency_is_required"
134
+ expect(error.messages[2].field).to eq "beneficiary_id"
135
+ expect(error.messages[2].code).to eq "beneficiary_id_is_required"
136
+ end
137
+ end
138
+
125
139
  end
@@ -36,4 +36,13 @@ describe 'Transfers', vcr: true do
36
36
  expect(transfer).to_not be_nil
37
37
  expect(transfer).to be_a(CurrencyCloud::Transfer)
38
38
  end
39
+
40
+ it 'can #cancel' do
41
+ transfer_id = CurrencyCloud::Transfer.create(transfer_details).id
42
+
43
+ transfer = CurrencyCloud::Transfer.cancel(transfer_id)
44
+ expect(transfer).to_not be_nil
45
+ expect(transfer).to be_a(CurrencyCloud::Transfer)
46
+ expect(transfer.status).to eq 'cancelled'
47
+ end
39
48
  end
@@ -8,7 +8,7 @@ http_interactions:
8
8
  string: login_id=development%40currencycloud.com&api_key=deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef
9
9
  headers:
10
10
  User-Agent:
11
- - CurrencyCloudSDK/2.0 Ruby/1.0.3
11
+ - CurrencyCloudSDK/2.0 Ruby/1.3.0
12
12
  response:
13
13
  status:
14
14
  code: 200
@@ -58,7 +58,7 @@ http_interactions:
58
58
  X-Auth-Token:
59
59
  - deadbeefdeadbeefdeadbeefdeadbeef
60
60
  User-Agent:
61
- - CurrencyCloudSDK/2.0 Ruby/1.0.3
61
+ - CurrencyCloudSDK/2.0 Ruby/1.3.0
62
62
  response:
63
63
  status:
64
64
  code: 200
@@ -8,7 +8,7 @@ http_interactions:
8
8
  string: login_id=development%40currencycloud.com&api_key=deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef
9
9
  headers:
10
10
  User-Agent:
11
- - CurrencyCloudSDK/2.0 Ruby/1.0.3
11
+ - CurrencyCloudSDK/2.0 Ruby/1.3.0
12
12
  response:
13
13
  status:
14
14
  code: 200
@@ -58,7 +58,7 @@ http_interactions:
58
58
  X-Auth-Token:
59
59
  - deadbeefdeadbeefdeadbeefdeadbeef
60
60
  User-Agent:
61
- - CurrencyCloudSDK/2.0 Ruby/1.0.3
61
+ - CurrencyCloudSDK/2.0 Ruby/1.3.0
62
62
  response:
63
63
  status:
64
64
  code: 200
@@ -0,0 +1,38 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://devapi.currencycloud.com/v2/beneficiaries/find
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ X-Auth-Token:
11
+ - e5070d4a16c5ffe4ed9fb268a2a716be
12
+ response:
13
+ status:
14
+ code: 200
15
+ message: OK
16
+ headers:
17
+ Server:
18
+ - nginx
19
+ Date:
20
+ - Sat, 25 Apr 2015 09:24:25 GMT
21
+ Content-Type:
22
+ - application/json;charset=utf-8
23
+ Content-Length:
24
+ - '1197'
25
+ Connection:
26
+ - keep-alive
27
+ X-Request-Id:
28
+ - '2771950395117221003'
29
+ X-Content-Type-Options:
30
+ - nosniff
31
+ body:
32
+ encoding: UTF-8
33
+ string: '{"beneficiaries":[{"id":"081596c9-02de-483e-9f2a-4cf55dcdf98c","bank_account_holder_name":"Test+User","name":"Test+User","email":null,"payment_types":["regular"],"beneficiary_address":[],"beneficiary_country":null,"beneficiary_entity_type":null,"beneficiary_company_name":null,"beneficiary_first_name":null,"beneficiary_last_name":null,"beneficiary_city":null,"beneficiary_postcode":null,"beneficiary_state_or_province":null,"beneficiary_date_of_birth":null,"beneficiary_identification_type":null,"beneficiary_identification_value":null,"bank_country":"GB","bank_name":"HSBC
34
+ BANK PLC","bank_account_type":null,"currency":"GBP","account_number":"12345678","routing_code_type_1":"sort_code","routing_code_value_1":"123456","routing_code_type_2":null,"routing_code_value_2":null,"bic_swift":null,"iban":null,"default_beneficiary":"false","creator_contact_id":"c4d838e8-1625-44c6-a9fb-39bcb1fe353d","bank_address":["5
35
+ Wimbledon Hill Rd","Wimbledon","London"],"created_at":"2015-04-25T09:21:00+00:00","updated_at":"2015-04-25T09:21:00+00:00"}],"pagination":{"total_entries":1,"total_pages":1,"current_page":1,"per_page":25,"previous_page":-1,"next_page":-1,"order":"created_at","order_asc_desc":"asc"}}'
36
+ http_version:
37
+ recorded_at: Sat, 25 Apr 2015 09:24:25 GMT
38
+ recorded_with: VCR 2.9.3
@@ -8,7 +8,7 @@ http_interactions:
8
8
  string: login_id=development%40currencycloud.com&api_key=deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef
9
9
  headers:
10
10
  User-Agent:
11
- - CurrencyCloudSDK/2.0 Ruby/1.0.3
11
+ - CurrencyCloudSDK/2.0 Ruby/1.3.0
12
12
  response:
13
13
  status:
14
14
  code: 200
@@ -60,7 +60,7 @@ http_interactions:
60
60
  X-Auth-Token:
61
61
  - deadbeefdeadbeefdeadbeefdeadbeef
62
62
  User-Agent:
63
- - CurrencyCloudSDK/2.0 Ruby/1.0.3
63
+ - CurrencyCloudSDK/2.0 Ruby/1.3.0
64
64
  response:
65
65
  status:
66
66
  code: 200
@@ -99,7 +99,7 @@ http_interactions:
99
99
  - 43b3dae5d9980a66-LHR
100
100
  body:
101
101
  encoding: UTF-8
102
- string: '{"id":"81b23958-cde7-4882-a4ae-f0da6a95d6cb","settlement_date":"2018-07-18T15:30:00+00:00","conversion_date":"2018-07-18T00:00:00+00:00","short_reference":"20180716-MGHWYQ","creator_contact_id":"04d0c252-7b78-4d72-b408-df78841e3ddc","account_id":"67e1b252-40a7-454d-a097-8f77d385889d","currency_pair":"GBPUSD","status":"awaiting_funds","buy_currency":"USD","sell_currency":"GBP","client_buy_amount":"95000.00","client_sell_amount":"67476.38","fixed_side":"buy","core_rate":"1.4079","partner_rate":"","partner_status":"awaiting_funds","partner_buy_amount":"0.00","partner_sell_amount":"0.00","client_rate":"1.4079","deposit_required":false,"deposit_amount":"0.00","deposit_currency":"","deposit_status":"not_required","deposit_required_at":"","payment_ids":[],"unallocated_funds":"0.00","unique_request_id":null,"created_at":"2018-07-16T10:41:12+00:00","updated_at":"2018-07-16T10:41:13+00:00","mid_market_rate":"1.4080"}'
102
+ string: '{"id":"81b23958-cde7-4882-a4ae-f0da6a95d6cb","settlement_date":"2018-07-18T15:30:00+00:00","conversion_date":"2018-07-18T00:00:00+00:00","short_reference":"20180716-MGHWYQ","creator_contact_id":"04d0c252-7b78-4d72-b408-df78841e3ddc","account_id":"67e1b252-40a7-454d-a097-8f77d385889d","currency_pair":"GBPUSD","status":"awaiting_funds","buy_currency":"USD","sell_currency":"GBP","client_buy_amount":"95000.00","client_sell_amount":"67476.38","fixed_side":"buy","core_rate":"1.4079","partner_rate":"","partner_buy_amount":"0.00","partner_sell_amount":"0.00","client_rate":"1.4079","deposit_required":false,"deposit_amount":"0.00","deposit_currency":"","deposit_status":"not_required","deposit_required_at":"","payment_ids":[],"unallocated_funds":"0.00","unique_request_id":null,"created_at":"2018-07-16T10:41:12+00:00","updated_at":"2018-07-16T10:41:13+00:00","mid_market_rate":"1.4080"}'
103
103
  http_version:
104
104
  recorded_at: Mon, 16 Jul 2018 10:41:13 GMT
105
105
  - request:
@@ -112,7 +112,7 @@ http_interactions:
112
112
  X-Auth-Token:
113
113
  - deadbeefdeadbeefdeadbeefdeadbeef
114
114
  User-Agent:
115
- - CurrencyCloudSDK/2.0 Ruby/1.0.3
115
+ - CurrencyCloudSDK/2.0 Ruby/1.3.0
116
116
  response:
117
117
  status:
118
118
  code: 200
@@ -8,7 +8,7 @@ http_interactions:
8
8
  string: login_id=development%40currencycloud.com&api_key=deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef
9
9
  headers:
10
10
  User-Agent:
11
- - CurrencyCloudSDK/2.0 Ruby/1.0.3
11
+ - CurrencyCloudSDK/2.0 Ruby/1.3.0
12
12
  response:
13
13
  status:
14
14
  code: 200
@@ -60,7 +60,7 @@ http_interactions:
60
60
  X-Auth-Token:
61
61
  - deadbeefdeadbeefdeadbeefdeadbeef
62
62
  User-Agent:
63
- - CurrencyCloudSDK/2.0 Ruby/1.0.3
63
+ - CurrencyCloudSDK/2.0 Ruby/1.3.0
64
64
  response:
65
65
  status:
66
66
  code: 200
@@ -99,7 +99,7 @@ http_interactions:
99
99
  - 43b3dad01b820a66-LHR
100
100
  body:
101
101
  encoding: UTF-8
102
- string: '{"id":"70e15a24-9a4c-4c56-8f68-3816965eb311","settlement_date":"2018-07-18T15:30:00+00:00","conversion_date":"2018-07-18T00:00:00+00:00","short_reference":"20180716-YTCSSY","creator_contact_id":"04d0c252-7b78-4d72-b408-df78841e3ddc","account_id":"67e1b252-40a7-454d-a097-8f77d385889d","currency_pair":"GBPUSD","status":"awaiting_funds","buy_currency":"USD","sell_currency":"GBP","client_buy_amount":"95000.00","client_sell_amount":"67476.38","fixed_side":"buy","core_rate":"1.4079","partner_rate":"","partner_status":"awaiting_funds","partner_buy_amount":"0.00","partner_sell_amount":"0.00","client_rate":"1.4079","deposit_required":false,"deposit_amount":"0.00","deposit_currency":"","deposit_status":"not_required","deposit_required_at":"","payment_ids":[],"unallocated_funds":"0.00","unique_request_id":null,"created_at":"2018-07-16T10:41:09+00:00","updated_at":"2018-07-16T10:41:09+00:00","mid_market_rate":"1.4080"}'
102
+ string: '{"id":"70e15a24-9a4c-4c56-8f68-3816965eb311","settlement_date":"2018-07-18T15:30:00+00:00","conversion_date":"2018-07-18T00:00:00+00:00","short_reference":"20180716-YTCSSY","creator_contact_id":"04d0c252-7b78-4d72-b408-df78841e3ddc","account_id":"67e1b252-40a7-454d-a097-8f77d385889d","currency_pair":"GBPUSD","status":"awaiting_funds","buy_currency":"USD","sell_currency":"GBP","client_buy_amount":"95000.00","client_sell_amount":"67476.38","fixed_side":"buy","core_rate":"1.4079","partner_rate":"","partner_buy_amount":"0.00","partner_sell_amount":"0.00","client_rate":"1.4079","deposit_required":false,"deposit_amount":"0.00","deposit_currency":"","deposit_status":"not_required","deposit_required_at":"","payment_ids":[],"unallocated_funds":"0.00","unique_request_id":null,"created_at":"2018-07-16T10:41:09+00:00","updated_at":"2018-07-16T10:41:09+00:00","mid_market_rate":"1.4080"}'
103
103
  http_version:
104
104
  recorded_at: Mon, 16 Jul 2018 10:41:09 GMT
105
105
  - request:
@@ -112,7 +112,7 @@ http_interactions:
112
112
  X-Auth-Token:
113
113
  - deadbeefdeadbeefdeadbeefdeadbeef
114
114
  User-Agent:
115
- - CurrencyCloudSDK/2.0 Ruby/1.0.3
115
+ - CurrencyCloudSDK/2.0 Ruby/1.3.0
116
116
  response:
117
117
  status:
118
118
  code: 200
@@ -8,7 +8,7 @@ http_interactions:
8
8
  string: login_id=development%40currencycloud.com&api_key=deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef
9
9
  headers:
10
10
  User-Agent:
11
- - CurrencyCloudSDK/2.0 Ruby/1.0.3
11
+ - CurrencyCloudSDK/2.0 Ruby/1.3.0
12
12
  response:
13
13
  status:
14
14
  code: 200
@@ -58,7 +58,7 @@ http_interactions:
58
58
  X-Auth-Token:
59
59
  - deadbeefdeadbeefdeadbeefdeadbeef
60
60
  User-Agent:
61
- - CurrencyCloudSDK/2.0 Ruby/1.0.3
61
+ - CurrencyCloudSDK/2.0 Ruby/1.3.0
62
62
  response:
63
63
  status:
64
64
  code: 200
@@ -89,7 +89,7 @@ http_interactions:
89
89
  - 480d51a338b1b6d4-LHR
90
90
  body:
91
91
  encoding: UTF-8
92
- string: '{"id":"d391e0a1-2643-44ff-b063-bbe39c98a2b5","settlement_date":"2018-11-19T16:30:00+00:00","conversion_date":"2018-11-19T00:00:00+00:00","short_reference":"20181115-GHXVKW","creator_contact_id":"a66ca63f-e668-47af-8bb9-74363240d781","account_id":"72970a7c-7921-431c-b95f-3438724ba16f","currency_pair":"GBPUSD","status":"awaiting_funds","buy_currency":"USD","sell_currency":"GBP","client_buy_amount":"150.00","client_sell_amount":"106.39","fixed_side":"buy","core_rate":"1.4099","partner_rate":"","partner_status":"funds_arrived","partner_buy_amount":"0.00","partner_sell_amount":"0.00","client_rate":"1.4099","deposit_required":false,"deposit_amount":"0.00","deposit_currency":"","deposit_status":"not_required","deposit_required_at":"","payment_ids":[],"unallocated_funds":"150.00","unique_request_id":null,"created_at":"2018-11-15T14:07:58+00:00","updated_at":"2018-11-15T14:07:59+00:00","mid_market_rate":"1.4100"}'
92
+ string: '{"id":"d391e0a1-2643-44ff-b063-bbe39c98a2b5","settlement_date":"2018-11-19T16:30:00+00:00","conversion_date":"2018-11-19T00:00:00+00:00","short_reference":"20181115-GHXVKW","creator_contact_id":"a66ca63f-e668-47af-8bb9-74363240d781","account_id":"72970a7c-7921-431c-b95f-3438724ba16f","currency_pair":"GBPUSD","status":"awaiting_funds","buy_currency":"USD","sell_currency":"GBP","client_buy_amount":"150.00","client_sell_amount":"106.39","fixed_side":"buy","core_rate":"1.4099","partner_rate":"","partner_buy_amount":"0.00","partner_sell_amount":"0.00","client_rate":"1.4099","deposit_required":false,"deposit_amount":"0.00","deposit_currency":"","deposit_status":"not_required","deposit_required_at":"","payment_ids":[],"unallocated_funds":"150.00","unique_request_id":null,"created_at":"2018-11-15T14:07:58+00:00","updated_at":"2018-11-15T14:07:59+00:00","mid_market_rate":"1.4100"}'
93
93
  http_version:
94
94
  recorded_at: Wed, 28 Nov 2018 13:53:07 GMT
95
95
 
@@ -8,7 +8,7 @@ http_interactions:
8
8
  string: login_id=development%40currencycloud.com&api_key=deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef
9
9
  headers:
10
10
  User-Agent:
11
- - CurrencyCloudSDK/2.0 Ruby/1.0.3
11
+ - CurrencyCloudSDK/2.0 Ruby/1.3.0
12
12
  response:
13
13
  status:
14
14
  code: 200
@@ -60,7 +60,7 @@ http_interactions:
60
60
  X-Auth-Token:
61
61
  - deadbeefdeadbeefdeadbeefdeadbeef
62
62
  User-Agent:
63
- - CurrencyCloudSDK/2.0 Ruby/1.0.3
63
+ - CurrencyCloudSDK/2.0 Ruby/1.3.0
64
64
  response:
65
65
  status:
66
66
  code: 200
@@ -99,7 +99,7 @@ http_interactions:
99
99
  - 43b3daa3ec5d0a72-LHR
100
100
  body:
101
101
  encoding: UTF-8
102
- string: '{"id":"f2106374-2084-4827-ad6c-68c47720379e","settlement_date":"2018-07-18T15:30:00+00:00","conversion_date":"2018-07-18T00:00:00+00:00","short_reference":"20180716-LNLSYQ","creator_contact_id":"04d0c252-7b78-4d72-b408-df78841e3ddc","account_id":"67e1b252-40a7-454d-a097-8f77d385889d","currency_pair":"GBPUSD","status":"awaiting_funds","buy_currency":"USD","sell_currency":"GBP","client_buy_amount":"95000.00","client_sell_amount":"67476.38","fixed_side":"buy","core_rate":"1.4079","partner_rate":"","partner_status":"awaiting_funds","partner_buy_amount":"0.00","partner_sell_amount":"0.00","client_rate":"1.4079","deposit_required":false,"deposit_amount":"0.00","deposit_currency":"","deposit_status":"not_required","deposit_required_at":"","payment_ids":[],"unallocated_funds":"0.00","unique_request_id":null,"created_at":"2018-07-16T10:41:02+00:00","updated_at":"2018-07-16T10:41:02+00:00","mid_market_rate":"1.4080"}'
102
+ string: '{"id":"f2106374-2084-4827-ad6c-68c47720379e","settlement_date":"2018-07-18T15:30:00+00:00","conversion_date":"2018-07-18T00:00:00+00:00","short_reference":"20180716-LNLSYQ","creator_contact_id":"04d0c252-7b78-4d72-b408-df78841e3ddc","account_id":"67e1b252-40a7-454d-a097-8f77d385889d","currency_pair":"GBPUSD","status":"awaiting_funds","buy_currency":"USD","sell_currency":"GBP","client_buy_amount":"95000.00","client_sell_amount":"67476.38","fixed_side":"buy","core_rate":"1.4079","partner_rate":"","partner_buy_amount":"0.00","partner_sell_amount":"0.00","client_rate":"1.4079","deposit_required":false,"deposit_amount":"0.00","deposit_currency":"","deposit_status":"not_required","deposit_required_at":"","payment_ids":[],"unallocated_funds":"0.00","unique_request_id":null,"created_at":"2018-07-16T10:41:02+00:00","updated_at":"2018-07-16T10:41:02+00:00","mid_market_rate":"1.4080"}'
103
103
  http_version:
104
104
  recorded_at: Mon, 16 Jul 2018 10:41:03 GMT
105
105
  - request:
@@ -112,7 +112,7 @@ http_interactions:
112
112
  X-Auth-Token:
113
113
  - deadbeefdeadbeefdeadbeefdeadbeef
114
114
  User-Agent:
115
- - CurrencyCloudSDK/2.0 Ruby/1.0.3
115
+ - CurrencyCloudSDK/2.0 Ruby/1.3.0
116
116
  response:
117
117
  status:
118
118
  code: 200
@@ -8,7 +8,7 @@ http_interactions:
8
8
  string: login_id=development%40currencycloud.com&api_key=deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef
9
9
  headers:
10
10
  User-Agent:
11
- - CurrencyCloudSDK/2.0 Ruby/1.0.3
11
+ - CurrencyCloudSDK/2.0 Ruby/1.3.0
12
12
  response:
13
13
  status:
14
14
  code: 200
@@ -37,7 +37,7 @@ http_interactions:
37
37
  X-Auth-Token:
38
38
  - deadbeefdeadbeefdeadbeefdeadbeef
39
39
  User-Agent:
40
- - CurrencyCloudSDK/2.0 Ruby/1.0.3
40
+ - CurrencyCloudSDK/2.0 Ruby/1.3.0
41
41
  response:
42
42
  status:
43
43
  code: 200
@@ -53,7 +53,7 @@ http_interactions:
53
53
  - keep-alive
54
54
  body:
55
55
  encoding: UTF-8
56
- string: '{"id":"d391e0a1-2643-44ff-b063-bbe39c98a2b5","settlement_date":"2018-11-19T16:30:00+00:00","conversion_date":"2018-11-19T00:00:00+00:00","short_reference":"20181115-GHXVKW","creator_contact_id":"a66ca63f-e668-47af-8bb9-74363240d781","account_id":"72970a7c-7921-431c-b95f-3438724ba16f","currency_pair":"GBPUSD","status":"awaiting_funds","buy_currency":"USD","sell_currency":"GBP","client_buy_amount":"150.00","client_sell_amount":"106.39","fixed_side":"buy","core_rate":"1.4099","partner_rate":"","partner_status":"funds_arrived","partner_buy_amount":"0.00","partner_sell_amount":"0.00","client_rate":"1.4099","deposit_required":false,"deposit_amount":"0.00","deposit_currency":"","deposit_status":"not_required","deposit_required_at":"","payment_ids":[],"unallocated_funds":"150.00","unique_request_id":null,"created_at":"2018-11-15T14:07:58+00:00","updated_at":"2018-11-15T14:07:59+00:00","mid_market_rate":"1.4100"}'
56
+ string: '{"id":"d391e0a1-2643-44ff-b063-bbe39c98a2b5","settlement_date":"2018-11-19T16:30:00+00:00","conversion_date":"2018-11-19T00:00:00+00:00","short_reference":"20181115-GHXVKW","creator_contact_id":"a66ca63f-e668-47af-8bb9-74363240d781","account_id":"72970a7c-7921-431c-b95f-3438724ba16f","currency_pair":"GBPUSD","status":"awaiting_funds","buy_currency":"USD","sell_currency":"GBP","client_buy_amount":"150.00","client_sell_amount":"106.39","fixed_side":"buy","core_rate":"1.4099","partner_rate":"","partner_buy_amount":"0.00","partner_sell_amount":"0.00","client_rate":"1.4099","deposit_required":false,"deposit_amount":"0.00","deposit_currency":"","deposit_status":"not_required","deposit_required_at":"","payment_ids":[],"unallocated_funds":"150.00","unique_request_id":null,"created_at":"2018-11-15T14:07:58+00:00","updated_at":"2018-11-15T14:07:59+00:00","mid_market_rate":"1.4100"}'
57
57
  http_version:
58
58
  recorded_at: Wed, 28 Nov 2018 13:53:07 GMT
59
59
  - request:
@@ -66,7 +66,7 @@ http_interactions:
66
66
  X-Auth-Token:
67
67
  - deadbeefdeadbeefdeadbeefdeadbeef
68
68
  User-Agent:
69
- - CurrencyCloudSDK/2.0 Ruby/1.0.3
69
+ - CurrencyCloudSDK/2.0 Ruby/1.3.0
70
70
  response:
71
71
  status:
72
72
  code: 200
@@ -8,7 +8,7 @@ http_interactions:
8
8
  string: login_id=development%40currencycloud.com&api_key=deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef
9
9
  headers:
10
10
  User-Agent:
11
- - CurrencyCloudSDK/2.0 Ruby/1.0.3
11
+ - CurrencyCloudSDK/2.0 Ruby/1.3.0
12
12
  response:
13
13
  status:
14
14
  code: 200
@@ -37,7 +37,7 @@ http_interactions:
37
37
  X-Auth-Token:
38
38
  - deadbeefdeadbeefdeadbeefdeadbeef
39
39
  User-Agent:
40
- - CurrencyCloudSDK/2.0 Ruby/1.0.3
40
+ - CurrencyCloudSDK/2.0 Ruby/1.3.0
41
41
  response:
42
42
  status:
43
43
  code: 200
@@ -66,7 +66,7 @@ http_interactions:
66
66
  X-Auth-Token:
67
67
  - deadbeefdeadbeefdeadbeefdeadbeef
68
68
  User-Agent:
69
- - CurrencyCloudSDK/2.0 Ruby/1.0.3
69
+ - CurrencyCloudSDK/2.0 Ruby/1.3.0
70
70
  response:
71
71
  status:
72
72
  code: 200
@@ -82,7 +82,7 @@ http_interactions:
82
82
  - keep-alive
83
83
  body:
84
84
  encoding: UTF-8
85
- string: '{"id":"d391e0a1-2643-44ff-b063-bbe39c98a2b5","settlement_date":"2018-11-19T16:30:00+00:00","conversion_date":"2018-11-19T00:00:00+00:00","short_reference":"20181115-GHXVKW","creator_contact_id":"a66ca63f-e668-47af-8bb9-74363240d781","account_id":"72970a7c-7921-431c-b95f-3438724ba16f","currency_pair":"GBPUSD","status":"awaiting_funds","buy_currency":"USD","sell_currency":"GBP","client_buy_amount":"150.00","client_sell_amount":"106.39","fixed_side":"buy","core_rate":"1.4099","partner_rate":"","partner_status":"funds_arrived","partner_buy_amount":"0.00","partner_sell_amount":"0.00","client_rate":"1.4099","deposit_required":false,"deposit_amount":"0.00","deposit_currency":"","deposit_status":"not_required","deposit_required_at":"","payment_ids":[],"unallocated_funds":"150.00","unique_request_id":null,"created_at":"2018-11-15T14:07:58+00:00","updated_at":"2018-11-15T14:07:59+00:00","mid_market_rate":"1.4100"}'
85
+ string: '{"id":"d391e0a1-2643-44ff-b063-bbe39c98a2b5","settlement_date":"2018-11-19T16:30:00+00:00","conversion_date":"2018-11-19T00:00:00+00:00","short_reference":"20181115-GHXVKW","creator_contact_id":"a66ca63f-e668-47af-8bb9-74363240d781","account_id":"72970a7c-7921-431c-b95f-3438724ba16f","currency_pair":"GBPUSD","status":"awaiting_funds","buy_currency":"USD","sell_currency":"GBP","client_buy_amount":"150.00","client_sell_amount":"106.39","fixed_side":"buy","core_rate":"1.4099","partner_rate":"","partner_buy_amount":"0.00","partner_sell_amount":"0.00","client_rate":"1.4099","deposit_required":false,"deposit_amount":"0.00","deposit_currency":"","deposit_status":"not_required","deposit_required_at":"","payment_ids":[],"unallocated_funds":"150.00","unique_request_id":null,"created_at":"2018-11-15T14:07:58+00:00","updated_at":"2018-11-15T14:07:59+00:00","mid_market_rate":"1.4100"}'
86
86
  http_version:
87
87
  recorded_at: Wed, 28 Nov 2018 13:53:07 GMT
88
88
  recorded_with: VCR 3.0.3
@@ -8,7 +8,7 @@ http_interactions:
8
8
  string: login_id=development%40currencycloud.com&api_key=deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef
9
9
  headers:
10
10
  User-Agent:
11
- - CurrencyCloudSDK/2.0 Ruby/1.0.3
11
+ - CurrencyCloudSDK/2.0 Ruby/1.3.0
12
12
  response:
13
13
  status:
14
14
  code: 200
@@ -37,7 +37,7 @@ http_interactions:
37
37
  X-Auth-Token:
38
38
  - deadbeefdeadbeefdeadbeefdeadbeef
39
39
  User-Agent:
40
- - CurrencyCloudSDK/2.0 Ruby/1.0.3
40
+ - CurrencyCloudSDK/2.0 Ruby/1.3.0
41
41
  response:
42
42
  status:
43
43
  code: 200
@@ -8,7 +8,7 @@ http_interactions:
8
8
  string: login_id=development%40currencycloud.com&api_key=deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef
9
9
  headers:
10
10
  User-Agent:
11
- - CurrencyCloudSDK/2.0 Ruby/1.0.3
11
+ - CurrencyCloudSDK/2.0 Ruby/1.3.0
12
12
  response:
13
13
  status:
14
14
  code: 200
@@ -60,7 +60,7 @@ http_interactions:
60
60
  X-Auth-Token:
61
61
  - deadbeefdeadbeefdeadbeefdeadbeef
62
62
  User-Agent:
63
- - CurrencyCloudSDK/2.0 Ruby/1.0.3
63
+ - CurrencyCloudSDK/2.0 Ruby/1.3.0
64
64
  response:
65
65
  status:
66
66
  code: 200
@@ -99,7 +99,7 @@ http_interactions:
99
99
  - 43b3dabb0b1e06c4-LHR
100
100
  body:
101
101
  encoding: UTF-8
102
- string: '{"id":"c956f45b-52a5-4aee-a532-7c1c20f6f934","settlement_date":"2018-07-18T15:30:00+00:00","conversion_date":"2018-07-18T00:00:00+00:00","short_reference":"20180716-WRJWLF","creator_contact_id":"04d0c252-7b78-4d72-b408-df78841e3ddc","account_id":"67e1b252-40a7-454d-a097-8f77d385889d","currency_pair":"GBPUSD","status":"awaiting_funds","buy_currency":"USD","sell_currency":"GBP","client_buy_amount":"95000.00","client_sell_amount":"67476.38","fixed_side":"buy","core_rate":"1.4079","partner_rate":"","partner_status":"awaiting_funds","partner_buy_amount":"0.00","partner_sell_amount":"0.00","client_rate":"1.4079","deposit_required":false,"deposit_amount":"0.00","deposit_currency":"","deposit_status":"not_required","deposit_required_at":"","payment_ids":[],"unallocated_funds":"0.00","unique_request_id":null,"created_at":"2018-07-16T10:41:06+00:00","updated_at":"2018-07-16T10:41:06+00:00","mid_market_rate":"1.4080"}'
102
+ string: '{"id":"c956f45b-52a5-4aee-a532-7c1c20f6f934","settlement_date":"2018-07-18T15:30:00+00:00","conversion_date":"2018-07-18T00:00:00+00:00","short_reference":"20180716-WRJWLF","creator_contact_id":"04d0c252-7b78-4d72-b408-df78841e3ddc","account_id":"67e1b252-40a7-454d-a097-8f77d385889d","currency_pair":"GBPUSD","status":"awaiting_funds","buy_currency":"USD","sell_currency":"GBP","client_buy_amount":"95000.00","client_sell_amount":"67476.38","fixed_side":"buy","core_rate":"1.4079","partner_rate":"","partner_buy_amount":"0.00","partner_sell_amount":"0.00","client_rate":"1.4079","deposit_required":false,"deposit_amount":"0.00","deposit_currency":"","deposit_status":"not_required","deposit_required_at":"","payment_ids":[],"unallocated_funds":"0.00","unique_request_id":null,"created_at":"2018-07-16T10:41:06+00:00","updated_at":"2018-07-16T10:41:06+00:00","mid_market_rate":"1.4080"}'
103
103
  http_version:
104
104
  recorded_at: Mon, 16 Jul 2018 10:41:06 GMT
105
105
  - request:
@@ -112,7 +112,7 @@ http_interactions:
112
112
  X-Auth-Token:
113
113
  - deadbeefdeadbeefdeadbeefdeadbeef
114
114
  User-Agent:
115
- - CurrencyCloudSDK/2.0 Ruby/1.0.3
115
+ - CurrencyCloudSDK/2.0 Ruby/1.3.0
116
116
  response:
117
117
  status:
118
118
  code: 200