currency_cloud 0.9.0 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +31 -0
  3. data/.rubocop.yml +6 -0
  4. data/.travis.yml +2 -4
  5. data/Gemfile +0 -3
  6. data/LICENSE.md +16 -17
  7. data/README.md +5 -3
  8. data/Rakefile +12 -12
  9. data/currency_cloud.gemspec +9 -9
  10. data/examples/server.rb +7 -7
  11. data/lib/currency_cloud/client.rb +5 -1
  12. data/lib/currency_cloud/conversion.rb +15 -0
  13. data/lib/currency_cloud/conversion_cancel_result.rb +5 -0
  14. data/lib/currency_cloud/conversion_date_change_result.rb +5 -0
  15. data/lib/currency_cloud/conversion_split_result.rb +5 -0
  16. data/lib/currency_cloud/errors/api_error.rb +2 -2
  17. data/lib/currency_cloud/errors/error_utils.rb +4 -4
  18. data/lib/currency_cloud/errors/unexpected_error.rb +3 -3
  19. data/lib/currency_cloud/iban.rb +22 -0
  20. data/lib/currency_cloud/ibans.rb +6 -0
  21. data/lib/currency_cloud/payer_required_details.rb +5 -0
  22. data/lib/currency_cloud/payment.rb +10 -0
  23. data/lib/currency_cloud/payment_authorisation_result.rb +5 -0
  24. data/lib/currency_cloud/payment_dates.rb +5 -0
  25. data/lib/currency_cloud/payment_submission.rb +5 -0
  26. data/lib/currency_cloud/purpose_code.rb +5 -0
  27. data/lib/currency_cloud/reference.rb +20 -5
  28. data/lib/currency_cloud/request_handler.rb +1 -3
  29. data/lib/currency_cloud/response_handler.rb +7 -7
  30. data/lib/currency_cloud/session.rb +2 -3
  31. data/lib/currency_cloud/transfer.rb +8 -0
  32. data/lib/currency_cloud/version.rb +1 -1
  33. data/lib/currency_cloud/virtual_account.rb +22 -0
  34. data/lib/currency_cloud/virtual_accounts.rb +6 -0
  35. data/spec/currency_cloud_spec.rb +9 -9
  36. data/spec/integration/authentication_spec.rb +2 -2
  37. data/spec/integration/conversions_spec.rb +94 -0
  38. data/spec/integration/error_utils_spec.rb +12 -12
  39. data/spec/integration/errors_spec.rb +84 -102
  40. data/spec/integration/ibans_spec.rb +42 -0
  41. data/spec/integration/payment_spec.rb +31 -0
  42. data/spec/integration/payments_spec.rb +67 -0
  43. data/spec/integration/reference_spec.rb +37 -14
  44. data/spec/integration/transfers_spec.rb +39 -0
  45. data/spec/integration/virtual_accounts_spec.rb +37 -0
  46. data/spec/spec_helper.rb +9 -1
  47. data/spec/support/vcr_cassettes/Authentication/can_be_closed.yml +1 -1
  48. data/spec/support/vcr_cassettes/Authentication/handles_session_timeout_error.yml +1 -1
  49. data/spec/support/vcr_cassettes/Authentication/happens_lazily.yml +1 -1
  50. data/spec/support/vcr_cassettes/Conversions/can_cancel_conversion/with_notes/has_a_non-empty_notes_attribute.yml +158 -0
  51. data/spec/support/vcr_cassettes/Conversions/can_cancel_conversion/without_notes/has_a_empty_notes_attribute.yml +157 -0
  52. data/spec/support/vcr_cassettes/Conversions/can_date_change_conversion.yml +157 -0
  53. data/spec/support/vcr_cassettes/Conversions/can_split_conversion.yml +157 -0
  54. data/spec/support/vcr_cassettes/Error/contains_full_details_for_api_error.yml +1 -1
  55. data/spec/support/vcr_cassettes/Error/is_raised_on_a_bad_request.yml +1 -1
  56. data/spec/support/vcr_cassettes/Error/is_raised_on_a_forbidden_request.yml +1 -1
  57. data/spec/support/vcr_cassettes/Error/is_raised_on_an_internal_server_error.yml +1 -1
  58. data/spec/support/vcr_cassettes/Error/is_raised_on_incorrect_authentication_details.yml +1 -1
  59. data/spec/support/vcr_cassettes/Error/is_raised_when_too_many_requests_have_been_issued.yml +1 -1
  60. data/spec/support/vcr_cassettes/IBANs/can_IBANs_for_a_specific_subaccount.yml +109 -0
  61. data/spec/support/vcr_cassettes/IBANs/can_IBANs_for_subaccounts.yml +108 -0
  62. data/spec/support/vcr_cassettes/IBANs/can_find.yml +114 -0
  63. data/spec/support/vcr_cassettes/Payments/can_authorise/when_payment_ids_are_valid.yml +263 -0
  64. data/spec/support/vcr_cassettes/Payments/can_create.yml +155 -0
  65. data/spec/support/vcr_cassettes/Payments/can_get_the_submission.yml +205 -0
  66. data/spec/support/vcr_cassettes/Reference/can_retrieve_beneficiary_required_details.yml +77 -12
  67. data/spec/support/vcr_cassettes/Reference/can_retrieve_conversion_dates.yml +183 -22
  68. data/spec/support/vcr_cassettes/Reference/can_retrieve_currencies.yml +110 -22
  69. data/spec/support/vcr_cassettes/Reference/can_retrieve_payer_required_details.yml +103 -0
  70. data/spec/support/vcr_cassettes/Reference/can_retrieve_payment_dates.yml +110 -0
  71. data/spec/support/vcr_cassettes/Reference/can_retrieve_payment_purpose_codes.yml +128 -0
  72. data/spec/support/vcr_cassettes/Reference/can_retrieve_settlement_accounts.yml +76 -11
  73. data/spec/support/vcr_cassettes/Settlements/can_add_conversion.yml +56 -6
  74. data/spec/support/vcr_cassettes/Settlements/can_release.yml +55 -5
  75. data/spec/support/vcr_cassettes/Settlements/can_remove_conversion.yml +55 -5
  76. data/spec/support/vcr_cassettes/Settlements/can_unrelease.yml +55 -5
  77. data/spec/support/vcr_cassettes/Transfers/can_create.yml +101 -0
  78. data/spec/support/vcr_cassettes/Transfers/can_find.yml +151 -0
  79. data/spec/support/vcr_cassettes/Transfers/can_retrieve.yml +151 -0
  80. data/spec/support/vcr_cassettes/VirtualAccounts/can_find.yml +108 -0
  81. data/spec/support/vcr_cassettes/VirtualAccounts/can_find_VANs_for_a_specific_subaccount.yml +108 -0
  82. data/spec/support/vcr_cassettes/VirtualAccounts/can_find_VANs_for_subaccounts.yml +108 -0
  83. metadata +82 -20
  84. data/Guardfile +0 -14
@@ -0,0 +1,110 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://devapi.currencycloud.com/v2/authenticate/api
6
+ body:
7
+ encoding: US-ASCII
8
+ string: login_id=development%40currencycloud.com&api_key=deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef
9
+ headers:
10
+ User-Agent:
11
+ - CurrencyCloudSDK/2.0 Ruby/0.9.0
12
+ response:
13
+ status:
14
+ code: 200
15
+ message: OK
16
+ headers:
17
+ Date:
18
+ - Mon, 16 Jul 2018 08:20:24 GMT
19
+ Content-Type:
20
+ - application/json;charset=utf-8
21
+ Transfer-Encoding:
22
+ - chunked
23
+ Connection:
24
+ - keep-alive
25
+ Set-Cookie:
26
+ - AWSALB=XsVmC24jOQDLOMhpbJyZ65ntr5xRyYp2g7Mraf2OnFRWbE3jiKr/Izh5wgdDPN7MLlfO9UUPCeDFwThUtDRpVQ9eHpaMe30OnYes6G/+gwbuY+tlSt3Ax0CZjuOi; Expires=Mon, 23 Jul 2018 08:20:22 GMT; Path=/
27
+ - __cfduid=d16be9ee25e4493f5e422e8a2fc07d6471531729222; expires=Tue, 16-Jul-19 08:20:22 GMT; path=/; domain=.currencycloud.com; HttpOnly
28
+ Access-Control-Allow-Origin:
29
+ - "*"
30
+ X-Request-Id:
31
+ - f29248d2-e005-453a-8533-47f6329f8de2
32
+ Access-Control-Allow-Methods:
33
+ - POST
34
+ X-Content-Type-Options:
35
+ - nosniff
36
+ Vary:
37
+ - Origin
38
+ Access-Control-Allow-Headers:
39
+ - authorization,Access-Control-Allow-Origin,Content-Type,SOAPAction,X-Auth-Token,Origin,Authority
40
+ Expect-Ct:
41
+ - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
42
+ Server:
43
+ - cloudflare
44
+ Cf-Ray:
45
+ - 43b30c984eea06c4-LHR
46
+ body:
47
+ encoding: US-ASCII
48
+ string: '{"auth_token":"deadbeefdeadbeefdeadbeefdeadbeef"}'
49
+ http_version:
50
+ recorded_at: Mon, 16 Jul 2018 08:20:24 GMT
51
+ - request:
52
+ method: get
53
+ uri: https://devapi.currencycloud.com/v2/reference/payment_dates?currency=GBP
54
+ body:
55
+ encoding: US-ASCII
56
+ string: ''
57
+ headers:
58
+ X-Auth-Token:
59
+ - deadbeefdeadbeefdeadbeefdeadbeef
60
+ User-Agent:
61
+ - CurrencyCloudSDK/2.0 Ruby/0.9.0
62
+ response:
63
+ status:
64
+ code: 200
65
+ message: OK
66
+ headers:
67
+ Date:
68
+ - Mon, 16 Jul 2018 08:20:24 GMT
69
+ Content-Type:
70
+ - application/json;charset=utf-8
71
+ Transfer-Encoding:
72
+ - chunked
73
+ Connection:
74
+ - keep-alive
75
+ Set-Cookie:
76
+ - AWSALB=Ro7f+MsP3nnuPjHcnl7lZejyKY45GVVAbkDD5kYpjUA7G42f6ksslUVr5dSQiL9jpVNzhnCuqcVKHh7PPY66TmuoU4uLN6BiZk5sWlFdICcHi5NCbWbXeva2qqTB; Expires=Mon, 23 Jul 2018 08:20:24 GMT; Path=/
77
+ - __cfduid=dfe9d8ad8c5819eee1986ff70557088031531729224; expires=Tue, 16-Jul-19 08:20:24 GMT; path=/; domain=.currencycloud.com; HttpOnly
78
+ Access-Control-Allow-Origin:
79
+ - "*"
80
+ X-Request-Id:
81
+ - a92ff948-f900-46fa-853a-c29e9df46f27
82
+ Access-Control-Allow-Methods:
83
+ - GET
84
+ X-Content-Type-Options:
85
+ - nosniff
86
+ Vary:
87
+ - Origin
88
+ Access-Control-Allow-Headers:
89
+ - authorization,Access-Control-Allow-Origin,Content-Type,SOAPAction,X-Auth-Token,Origin,Authority
90
+ Expect-Ct:
91
+ - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
92
+ Server:
93
+ - cloudflare
94
+ Cf-Ray:
95
+ - 43b30ca38e400a84-LHR
96
+ body:
97
+ encoding: US-ASCII
98
+ string: '{"invalid_payment_dates":{"2018-07-21":"No trading on Saturday","2018-07-22":"No
99
+ trading on Sunday","2018-07-28":"No trading on Saturday","2018-07-29":"No
100
+ trading on Sunday","2018-08-04":"No trading on Saturday","2018-08-05":"No
101
+ trading on Sunday","2018-08-11":"No trading on Saturday","2018-08-12":"No
102
+ trading on Sunday","2018-08-18":"No trading on Saturday","2018-08-19":"No
103
+ trading on Sunday","2018-08-25":"No trading on Saturday","2018-08-26":"No
104
+ trading on Sunday","2018-08-27":"","2018-09-01":"No trading on Saturday","2018-09-02":"No
105
+ trading on Sunday","2018-09-08":"No trading on Saturday","2018-09-09":"No
106
+ trading on Sunday","2018-09-15":"No trading on Saturday","2018-09-16":"No
107
+ trading on Sunday"},"first_payment_date":"2018-07-16"}'
108
+ http_version:
109
+ recorded_at: Mon, 16 Jul 2018 08:20:24 GMT
110
+ recorded_with: VCR 4.0.0
@@ -0,0 +1,128 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://devapi.currencycloud.com/v2/authenticate/api
6
+ body:
7
+ encoding: US-ASCII
8
+ string: login_id=development%40currencycloud.com&api_key=deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef
9
+ headers:
10
+ User-Agent:
11
+ - CurrencyCloudSDK/2.0 Ruby/0.9.0
12
+ response:
13
+ status:
14
+ code: 200
15
+ message: OK
16
+ headers:
17
+ Date:
18
+ - Mon, 16 Jul 2018 08:21:41 GMT
19
+ Content-Type:
20
+ - application/json;charset=utf-8
21
+ Content-Length:
22
+ - '49'
23
+ Connection:
24
+ - keep-alive
25
+ Server:
26
+ - nginx
27
+ X-Request-Id:
28
+ - 1c3aa2cb-bfc4-4cd3-a6dd-889681f69e0f
29
+ X-Content-Type-Options:
30
+ - nosniff
31
+ Vary:
32
+ - Origin
33
+ body:
34
+ encoding: US-ASCII
35
+ string: '{"auth_token":"deadbeefdeadbeefdeadbeefdeadbeef"}'
36
+ http_version:
37
+ recorded_at: Mon, 16 Jul 2018 08:21:41 GMT
38
+ - request:
39
+ method: get
40
+ uri: https://devapi.currencycloud.com/v2/reference/payment_purpose_codes?currency=INR
41
+ body:
42
+ encoding: US-ASCII
43
+ string: ''
44
+ headers:
45
+ X-Auth-Token:
46
+ - deadbeefdeadbeefdeadbeefdeadbeef
47
+ User-Agent:
48
+ - CurrencyCloudSDK/2.0 Ruby/0.9.0
49
+ response:
50
+ status:
51
+ code: 200
52
+ message: OK
53
+ headers:
54
+ Date:
55
+ - Mon, 16 Jul 2018 08:21:41 GMT
56
+ Content-Type:
57
+ - application/json;charset=utf-8
58
+ Content-Length:
59
+ - '6987'
60
+ Connection:
61
+ - keep-alive
62
+ Server:
63
+ - nginx
64
+ X-Request-Id:
65
+ - 89eff13b-eddb-4b23-b459-561c81a84829
66
+ X-Content-Type-Options:
67
+ - nosniff
68
+ Vary:
69
+ - Origin
70
+ body:
71
+ encoding: US-ASCII
72
+ string: '{"purpose_codes":[{"currency":"INR","entity_type":"company","purpose_code":"property_purchase","purpose_description":"Purchase
73
+ of residential property"},{"currency":"INR","entity_type":"company","purpose_code":"construction","purpose_description":"Construction
74
+ costs/expenses"},{"currency":"INR","entity_type":"company","purpose_code":"travel","purpose_description":"Travel"},{"currency":"INR","entity_type":"company","purpose_code":"office","purpose_description":"Representative
75
+ office expenses"},{"currency":"INR","entity_type":"company","purpose_code":"exports","purpose_description":"Payments
76
+ for exported goods"},{"currency":"INR","entity_type":"individual","purpose_code":"travel","purpose_description":"Travel"},{"currency":"INR","entity_type":"individual","purpose_code":"services","purpose_description":"Information
77
+ service charges"},{"currency":"INR","entity_type":"individual","purpose_code":"education","purpose_description":"Education-related
78
+ student expenses"},{"currency":"INR","entity_type":"company","purpose_code":"transfer","purpose_description":"Transfer
79
+ to own account"},{"currency":"INR","entity_type":"individual","purpose_code":"office","purpose_description":"Representative
80
+ office expenses"},{"currency":"INR","entity_type":"individual","purpose_code":"delivery","purpose_description":"Delivery
81
+ fees for goods"},{"currency":"INR","entity_type":"individual","purpose_code":"goods","purpose_description":"Trade
82
+ settlement for goods and general goods trades"},{"currency":"INR","entity_type":"company","purpose_code":"services","purpose_description":"Information
83
+ service charges"},{"currency":"INR","entity_type":"individual","purpose_code":"medical","purpose_description":"Medical
84
+ treatment and expenses"},{"currency":"INR","entity_type":"company","purpose_code":"royalties","purpose_description":"Royalty,
85
+ trademark, patent and copyright fees"},{"currency":"INR","entity_type":"individual","purpose_code":"advisor_fees","purpose_description":"Fees
86
+ for advisory, technical, academic or specialist asssitance"},{"currency":"INR","entity_type":"individual","purpose_code":"loan_repayment","purpose_description":"Repayment
87
+ of loans"},{"currency":"INR","entity_type":"company","purpose_code":"insurance_claims","purpose_description":"Insurance
88
+ claims payment"},{"currency":"INR","entity_type":"company","purpose_code":"advertising","purpose_description":"Advertising
89
+ and public relations-related expenses"},{"currency":"INR","entity_type":"individual","purpose_code":"insurance_claims","purpose_description":"Insurance
90
+ claims payment"},{"currency":"INR","entity_type":"individual","purpose_code":"construction","purpose_description":"Construction
91
+ costs/expenses"},{"currency":"INR","entity_type":"company","purpose_code":"other_fees","purpose_description":"Broker,
92
+ front end, commitment, guarantee and custodian fees"},{"currency":"INR","entity_type":"individual","purpose_code":"transfer","purpose_description":"Transfer
93
+ to own account"},{"currency":"INR","entity_type":"company","purpose_code":"family","purpose_description":"Family
94
+ maintenance"},{"currency":"INR","entity_type":"individual","purpose_code":"advertising","purpose_description":"Advertising
95
+ and public relations-related expenses"},{"currency":"INR","entity_type":"company","purpose_code":"business_insurance","purpose_description":"Product
96
+ indemnity insurance"},{"currency":"INR","entity_type":"individual","purpose_code":"property_purchase","purpose_description":"Purchase
97
+ of residential property"},{"currency":"INR","entity_type":"individual","purpose_code":"exports","purpose_description":"Payments
98
+ for exported goods"},{"currency":"INR","entity_type":"company","purpose_code":"goods","purpose_description":"Trade
99
+ settlement for goods and general goods trades"},{"currency":"INR","entity_type":"company","purpose_code":"advisor_fees","purpose_description":"Fees
100
+ for advisory, technical, academic or specialist asssitance"},{"currency":"INR","entity_type":"individual","purpose_code":"insurance_premium","purpose_description":"Insurance
101
+ premium"},{"currency":"INR","entity_type":"individual","purpose_code":"donations","purpose_description":"Donations
102
+ and charitable donations"},{"currency":"INR","entity_type":"individual","purpose_code":"share_investment","purpose_description":"Investment
103
+ in shares"},{"currency":"INR","entity_type":"individual","purpose_code":"hotel","purpose_description":"Hotel
104
+ accommodation"},{"currency":"INR","entity_type":"company","purpose_code":"insurance_premium","purpose_description":"Insurance
105
+ premium"},{"currency":"INR","entity_type":"company","purpose_code":"share_investment","purpose_description":"Investment
106
+ in shares"},{"currency":"INR","entity_type":"individual","purpose_code":"other_fees","purpose_description":"Broker,
107
+ front end, commitment, guarantee and custodian fees"},{"currency":"INR","entity_type":"company","purpose_code":"education","purpose_description":"Education-related
108
+ student expenses"},{"currency":"INR","entity_type":"individual","purpose_code":"utilities","purpose_description":"Utility
109
+ bills"},{"currency":"INR","entity_type":"company","purpose_code":"transportation","purpose_description":"Transportation
110
+ fees for goods"},{"currency":"INR","entity_type":"individual","purpose_code":"property_rental","purpose_description":"Property
111
+ rental payment"},{"currency":"INR","entity_type":"company","purpose_code":"delivery","purpose_description":"Delivery
112
+ fees for goods"},{"currency":"INR","entity_type":"individual","purpose_code":"family","purpose_description":"Family
113
+ maintenance"},{"currency":"INR","entity_type":"individual","purpose_code":"tax","purpose_description":"Tax
114
+ payment"},{"currency":"INR","entity_type":"company","purpose_code":"medical","purpose_description":"Medical
115
+ treatment and expenses"},{"currency":"INR","entity_type":"individual","purpose_code":"transportation","purpose_description":"Transportation
116
+ fees for goods"},{"currency":"INR","entity_type":"company","purpose_code":"property_rental","purpose_description":"Property
117
+ rental payment"},{"currency":"INR","entity_type":"individual","purpose_code":"fund_investment","purpose_description":"Mutual
118
+ fund investment"},{"currency":"INR","entity_type":"company","purpose_code":"utilities","purpose_description":"Utility
119
+ bills"},{"currency":"INR","entity_type":"company","purpose_code":"fund_investment","purpose_description":"Mutual
120
+ fund investment"},{"currency":"INR","entity_type":"individual","purpose_code":"business_insurance","purpose_description":"Product
121
+ indemnity insurance"},{"currency":"INR","entity_type":"company","purpose_code":"hotel","purpose_description":"Hotel
122
+ accommodation"},{"currency":"INR","entity_type":"individual","purpose_code":"royalties","purpose_description":"Royalty,
123
+ trademark, patent and copyright fees"},{"currency":"INR","entity_type":"company","purpose_code":"tax","purpose_description":"Tax
124
+ payment"},{"currency":"INR","entity_type":"company","purpose_code":"donations","purpose_description":"Donations
125
+ and charitable donations"}]}'
126
+ http_version:
127
+ recorded_at: Mon, 16 Jul 2018 08:21:41 GMT
128
+ recorded_with: VCR 4.0.0
@@ -1,5 +1,53 @@
1
1
  ---
2
2
  http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://devapi.currencycloud.com/v2/authenticate/api
6
+ body:
7
+ encoding: US-ASCII
8
+ string: login_id=development%40currencycloud.com&api_key=deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef
9
+ headers:
10
+ User-Agent:
11
+ - CurrencyCloudSDK/2.0 Ruby/0.9.0
12
+ response:
13
+ status:
14
+ code: 200
15
+ message: OK
16
+ headers:
17
+ Date:
18
+ - Mon, 16 Jul 2018 08:20:28 GMT
19
+ Content-Type:
20
+ - application/json;charset=utf-8
21
+ Transfer-Encoding:
22
+ - chunked
23
+ Connection:
24
+ - keep-alive
25
+ Set-Cookie:
26
+ - AWSALB=MqWBkqqalRVyiA3SLwg2ZVfI/RPODFvZdiAHgnaqMNO/G7f/N4HAMYUgO0uNNkTiWQTB7fD0YvxVJpXyTOPVjFmo6sepvoxxXa+d5zt4H1I4//LWQ8lfZI9cLvfz; Expires=Mon, 23 Jul 2018 08:20:26 GMT; Path=/
27
+ - __cfduid=d2c4fe40f90dd210cb5c74e07fa431acf1531729226; expires=Tue, 16-Jul-19 08:20:26 GMT; path=/; domain=.currencycloud.com; HttpOnly
28
+ Access-Control-Allow-Origin:
29
+ - "*"
30
+ X-Request-Id:
31
+ - bd4d44e6-76ce-4ff5-82c8-1120c693c5dc
32
+ Access-Control-Allow-Methods:
33
+ - POST
34
+ X-Content-Type-Options:
35
+ - nosniff
36
+ Vary:
37
+ - Origin
38
+ Access-Control-Allow-Headers:
39
+ - authorization,Access-Control-Allow-Origin,Content-Type,SOAPAction,X-Auth-Token,Origin,Authority
40
+ Expect-Ct:
41
+ - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
42
+ Server:
43
+ - cloudflare
44
+ Cf-Ray:
45
+ - 43b30cb3deb60a66-LHR
46
+ body:
47
+ encoding: US-ASCII
48
+ string: '{"auth_token":"deadbeefdeadbeefdeadbeefdeadbeef"}'
49
+ http_version:
50
+ recorded_at: Mon, 16 Jul 2018 08:20:28 GMT
3
51
  - request:
4
52
  method: get
5
53
  uri: https://devapi.currencycloud.com/v2/reference/settlement_accounts?currency=GBP
@@ -8,32 +56,49 @@ http_interactions:
8
56
  string: ''
9
57
  headers:
10
58
  X-Auth-Token:
11
- - 1c9da5726314246acfb09ec5651307a5
59
+ - deadbeefdeadbeefdeadbeefdeadbeef
60
+ User-Agent:
61
+ - CurrencyCloudSDK/2.0 Ruby/0.9.0
12
62
  response:
13
63
  status:
14
64
  code: 200
15
65
  message: OK
16
66
  headers:
17
- Server:
18
- - nginx
19
67
  Date:
20
- - Wed, 29 Apr 2015 21:04:10 GMT
68
+ - Mon, 16 Jul 2018 08:20:29 GMT
21
69
  Content-Type:
22
70
  - application/json;charset=utf-8
23
- Content-Length:
24
- - '438'
71
+ Transfer-Encoding:
72
+ - chunked
25
73
  Connection:
26
74
  - keep-alive
75
+ Set-Cookie:
76
+ - AWSALB=hMVXh0wCWtJ9Tw9Qm/QHOzSiknz4ftqOJdn7LUgywEoFn0LhnYcepsb7xoKMCbe7J7CaCP2T9Su05ot6DWayawXCvEFHlRdqkwhN+z5e7F3GC/HjlsQX81ORS5qB; Expires=Mon, 23 Jul 2018 08:20:28 GMT; Path=/
77
+ - __cfduid=d2d849517c981c03f7f073bc3c0fea4a31531729228; expires=Tue, 16-Jul-19 08:20:28 GMT; path=/; domain=.currencycloud.com; HttpOnly
78
+ Access-Control-Allow-Origin:
79
+ - "*"
27
80
  X-Request-Id:
28
- - '2775201697959995218'
81
+ - 299af103-bd38-4cc8-886a-60f8b1ba7ac3
82
+ Access-Control-Allow-Methods:
83
+ - GET
29
84
  X-Content-Type-Options:
30
85
  - nosniff
86
+ Vary:
87
+ - Origin
88
+ Access-Control-Allow-Headers:
89
+ - authorization,Access-Control-Allow-Origin,Content-Type,SOAPAction,X-Auth-Token,Origin,Authority
90
+ Expect-Ct:
91
+ - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
92
+ Server:
93
+ - cloudflare
94
+ Cf-Ray:
95
+ - 43b30cbf2d6f0a72-LHR
31
96
  body:
32
- encoding: UTF-8
97
+ encoding: US-ASCII
33
98
  string: '{"settlement_accounts":[{"bank_account_holder_name":"The Currency Cloud
34
99
  GBP - Client Seg A/C","beneficiary_address":"","beneficiary_country":"","bank_name":"Barclays
35
100
  Bank plc","bank_address":[],"bank_country":"","currency":"GBP","bic_swift":"BARCGB22","iban":"GB06
36
101
  BARC 2006 0513 0714 72","account_number":"13071472","routing_code_type_1":"sort_code","routing_code_value_1":"200605","routing_code_type_2":"","routing_code_value_2":""}]}'
37
- http_version:
38
- recorded_at: Wed, 29 Apr 2015 21:04:10 GMT
39
- recorded_with: VCR 2.9.3
102
+ http_version:
103
+ recorded_at: Mon, 16 Jul 2018 08:20:29 GMT
104
+ recorded_with: VCR 4.0.0
@@ -1,5 +1,55 @@
1
1
  ---
2
2
  http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://devapi.currencycloud.com/v2/authenticate/api
6
+ body:
7
+ encoding: UTF-8
8
+ string: login_id=development%40currencycloud.com&api_key=deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef
9
+ headers:
10
+ User-Agent:
11
+ - CurrencyCloudSDK/2.0 Ruby/0.9.0
12
+ response:
13
+ status:
14
+ code: 200
15
+ message: OK
16
+ headers:
17
+ Date:
18
+ - Mon, 16 Jul 2018 10:54:45 GMT
19
+ Content-Type:
20
+ - application/json;charset=utf-8
21
+ Transfer-Encoding:
22
+ - chunked
23
+ Connection:
24
+ - keep-alive
25
+ Set-Cookie:
26
+ - AWSALB=Zh+t/oSWavtYb7qJamC/2EHIzmUymRr6x/0IWy+j2l9FHJldhSpfDz3aCksiYUQMmwM+jdQJZYeudrnPk/zoSjWS6enr0eQ5A6kL56MefO9/vWf3OGB4RvvcdtIP;
27
+ Expires=Mon, 23 Jul 2018 10:54:44 GMT; Path=/
28
+ - __cfduid=dd7a74226221a50b10a53281124c436681531738484; expires=Tue, 16-Jul-19
29
+ 10:54:44 GMT; path=/; domain=.currencycloud.com; HttpOnly
30
+ Access-Control-Allow-Origin:
31
+ - "*"
32
+ X-Request-Id:
33
+ - 12f15e80-b4e5-4a6a-a2a5-fabd31791a25
34
+ Access-Control-Allow-Methods:
35
+ - POST
36
+ X-Content-Type-Options:
37
+ - nosniff
38
+ Vary:
39
+ - Origin
40
+ Access-Control-Allow-Headers:
41
+ - authorization,Access-Control-Allow-Origin,Content-Type,SOAPAction,X-Auth-Token,Origin,Authority
42
+ Expect-Ct:
43
+ - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
44
+ Server:
45
+ - cloudflare
46
+ Cf-Ray:
47
+ - 43b3eeb6f88106be-LHR
48
+ body:
49
+ encoding: UTF-8
50
+ string: '{"auth_token":"deadbeefdeadbeefdeadbeefdeadbeef"}'
51
+ http_version:
52
+ recorded_at: Mon, 16 Jul 2018 10:54:45 GMT
3
53
  - request:
4
54
  method: post
5
55
  uri: https://devapi.currencycloud.com/v2/conversions/create
@@ -8,7 +58,7 @@ http_interactions:
8
58
  string: buy_currency=GBP&sell_currency=USD&fixed_side=buy&amount=1000&reason=mortgage%20payment&term_agreement=true
9
59
  headers:
10
60
  X-Auth-Token:
11
- - 6f5f99d1b860fc47e8a186e3dce0d3f9
61
+ - deadbeefdeadbeefdeadbeefdeadbeef
12
62
  response:
13
63
  status:
14
64
  code: 200
@@ -31,7 +81,7 @@ http_interactions:
31
81
  body:
32
82
  encoding: UTF-8
33
83
  string: '{"id":"24d2ee7f-c7a3-4181-979e-9c58dbace992","settlement_date":"2015-05-06T14:00:00+00:00","conversion_date":"2015-05-06T00:00:00+00:00","short_reference":"20150504-PGRNVJ","creator_contact_id":"c4d838e8-1625-44c6-a9fb-39bcb1fe353d","account_id":"8ec3a69b-02d1-4f09-9a6b-6bd54a61b3a8","currency_pair":"GBPUSD","status":"awaiting_funds","buy_currency":"GBP","sell_currency":"USD","client_buy_amount":"1000.00","client_sell_amount":"1511.70","fixed_side":"buy","mid_market_rate":"1.5118","core_rate":"1.5117","partner_rate":"","partner_status":"funds_arrived","partner_buy_amount":"0.00","partner_sell_amount":"0.00","client_rate":"1.5117","deposit_required":false,"deposit_amount":"0.00","deposit_currency":"","deposit_status":"not_required","deposit_required_at":"","payment_ids":[],"created_at":"2015-05-04T20:28:29+00:00","updated_at":"2015-05-04T20:28:29+00:00"}'
34
- http_version:
84
+ http_version:
35
85
  recorded_at: Mon, 04 May 2015 20:28:29 GMT
36
86
  - request:
37
87
  method: post
@@ -41,7 +91,7 @@ http_interactions:
41
91
  string: ''
42
92
  headers:
43
93
  X-Auth-Token:
44
- - 6f5f99d1b860fc47e8a186e3dce0d3f9
94
+ - deadbeefdeadbeefdeadbeefdeadbeef
45
95
  response:
46
96
  status:
47
97
  code: 200
@@ -64,7 +114,7 @@ http_interactions:
64
114
  body:
65
115
  encoding: UTF-8
66
116
  string: '{"id":"63eeef54-3531-4e65-827a-7d0f37503fcc","status":"open","short_reference":"20150504-RKNNBH","type":"bulk","conversion_ids":[],"entries":[],"created_at":"2015-05-04T20:29:16+00:00","updated_at":"2015-05-04T20:29:16+00:00","released_at":""}'
67
- http_version:
117
+ http_version:
68
118
  recorded_at: Mon, 04 May 2015 20:29:16 GMT
69
119
  - request:
70
120
  method: post
@@ -97,6 +147,6 @@ http_interactions:
97
147
  body:
98
148
  encoding: UTF-8
99
149
  string: '{"id":"63eeef54-3531-4e65-827a-7d0f37503fcc","status":"open","short_reference":"20150504-RKNNBH","type":"bulk","conversion_ids":["24d2ee7f-c7a3-4181-979e-9c58dbace992"],"entries":[{"GBP":{"receive_amount":"1000.00","send_amount":"0.00"}},{"USD":{"receive_amount":"0.00","send_amount":"1511.70"}}],"created_at":"2015-05-04T20:29:16+00:00","updated_at":"2015-05-04T20:40:56+00:00","released_at":""}'
100
- http_version:
150
+ http_version:
101
151
  recorded_at: Mon, 04 May 2015 20:40:57 GMT
102
- recorded_with: VCR 2.9.3
152
+ recorded_with: VCR 3.0.3