currency_cloud 1.0.3 → 1.3.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 (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