super_good-solidus_taxjar 0.18.2 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (130) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +48 -6
  3. data/CHANGELOG.md +103 -1
  4. data/Gemfile +26 -10
  5. data/PULL_REQUEST_TEMPLATE.md +0 -1
  6. data/README.md +299 -39
  7. data/Rakefile +3 -0
  8. data/app/controllers/spree/admin/taxjar_settings_controller.rb +86 -1
  9. data/app/controllers/spree/admin/taxjar_transactions_controller.rb +37 -0
  10. data/app/controllers/spree/admin/transaction_sync_batches_controller.rb +18 -0
  11. data/app/jobs/super_good/solidus_taxjar/backfill_transaction_sync_batch_job.rb +23 -0
  12. data/app/jobs/super_good/solidus_taxjar/replace_transaction_job.rb +26 -0
  13. data/app/jobs/super_good/solidus_taxjar/report_transaction_job.rb +22 -0
  14. data/app/models/super_good/solidus_taxjar/configuration.rb +27 -0
  15. data/app/models/super_good/solidus_taxjar/order_transaction.rb +16 -0
  16. data/app/models/super_good/solidus_taxjar/refund_transaction.rb +13 -0
  17. data/app/models/super_good/solidus_taxjar/transaction_sync_batch.rb +11 -0
  18. data/app/models/super_good/solidus_taxjar/transaction_sync_log.rb +8 -0
  19. data/app/overrides/spree/admin/orders_controller_override.rb +12 -0
  20. data/app/overrides/spree/admin/shared/_order_submenu/add_taxjar_sync_history_tab.html.erb.deface +6 -0
  21. data/app/overrides/spree/admin/shared/_order_summary/add_taxjar_reported_at.html.erb.deface +30 -0
  22. data/app/overrides/spree/admin/shared/_taxes_tabs/add_configuration_menu_items.html.erb.deface +5 -0
  23. data/app/overrides/super_good/solidus_taxjar/spree/order_override.rb +21 -0
  24. data/app/views/spree/admin/orders/taxjar_transactions.html.erb +4 -0
  25. data/app/views/spree/admin/shared/_transaction_sync_log_table.html.erb +35 -0
  26. data/app/views/spree/admin/taxjar_settings/_nexus_regions.html.erb +23 -0
  27. data/app/views/spree/admin/taxjar_settings/_tax_categories.html.erb +41 -0
  28. data/app/views/spree/admin/taxjar_settings/edit.html.erb +17 -0
  29. data/app/views/spree/admin/taxjar_settings/edit_no_api_key.html.erb +21 -0
  30. data/app/views/spree/admin/transaction_sync_batches/index.html.erb +50 -0
  31. data/app/views/spree/admin/transaction_sync_batches/show.html.erb +7 -0
  32. data/bin/console +2 -0
  33. data/bin/rails-engine +1 -1
  34. data/bin/sandbox +43 -36
  35. data/bin/setup +3 -3
  36. data/config/routes.rb +13 -1
  37. data/db/migrate/20210908205201_create_taxjar_order_transactions.rb +16 -0
  38. data/db/migrate/20211008175113_create_taxjar_refund_transaction.rb +15 -0
  39. data/db/migrate/20211008183858_add_transaction_date_to_order_transaction.rb +5 -0
  40. data/db/migrate/20211119143354_create_configuration.rb +8 -0
  41. data/db/migrate/20220405213958_create_transaction_sync_batches.rb +7 -0
  42. data/db/migrate/20220405215225_create_transaction_sync_logs.rb +14 -0
  43. data/db/migrate/20220908181655_add_dates_to_transaction_sync_batch.rb +6 -0
  44. data/db/migrate/20220912182210_allow_null_transaction_sync_batches_on_logs.rb +5 -0
  45. data/db/migrate/20230320211309_add_refund_transaction_to_sync_logs.rb +5 -0
  46. data/lib/generators/super_good/solidus_taxjar/install/install_generator.rb +68 -0
  47. data/lib/super_good/solidus_taxjar/api.rb +41 -9
  48. data/lib/super_good/solidus_taxjar/api_params.rb +92 -25
  49. data/lib/super_good/solidus_taxjar/backfill_transactions.rb +11 -0
  50. data/lib/super_good/solidus_taxjar/cached_api.rb +23 -0
  51. data/lib/super_good/solidus_taxjar/calculator_helper.rb +33 -4
  52. data/lib/super_good/solidus_taxjar/discount_calculator.rb +1 -1
  53. data/lib/super_good/solidus_taxjar/overrides/request_override.rb +15 -0
  54. data/lib/super_good/solidus_taxjar/reportable.rb +91 -0
  55. data/lib/super_good/solidus_taxjar/reporting.rb +44 -0
  56. data/lib/super_good/solidus_taxjar/spree/legacy_reporting_subscriber.rb +41 -0
  57. data/lib/super_good/solidus_taxjar/spree/reporting_subscriber.rb +40 -0
  58. data/lib/super_good/solidus_taxjar/tax_calculator.rb +7 -1
  59. data/lib/super_good/solidus_taxjar/testing_support/factories/address_factory.rb +11 -0
  60. data/lib/super_good/solidus_taxjar/testing_support/factories/configuration_factory.rb +11 -0
  61. data/lib/super_good/solidus_taxjar/testing_support/factories/order_transaction_factory.rb +22 -0
  62. data/lib/super_good/solidus_taxjar/testing_support/factories/refund_transaction_factory.rb +7 -0
  63. data/lib/super_good/solidus_taxjar/testing_support/factories/transaction_sync_batch_factory.rb +9 -0
  64. data/lib/super_good/solidus_taxjar/testing_support/factories/transaction_sync_log_factory.rb +18 -0
  65. data/lib/super_good/solidus_taxjar/transaction_id_generator.rb +45 -0
  66. data/lib/super_good/solidus_taxjar/version.rb +1 -1
  67. data/lib/super_good/solidus_taxjar.rb +29 -2
  68. data/spec/features/spree/admin/backfill_transactions_spec.rb +138 -0
  69. data/spec/features/spree/admin/refund_spec.rb +167 -0
  70. data/spec/features/spree/admin/reporting_to_taxjar_spec.rb +156 -0
  71. data/spec/features/spree/admin/taxjar_settings_spec.rb +58 -16
  72. data/spec/features/spree/checkout_spec.rb +58 -0
  73. data/spec/fixtures/cassettes/Admin_TaxJar_Settings/GET_sync_nexus_regions/Taxjar_API_token_is_not_set/doesn_t_make_a_request_for_the_nexus_regions.yml +57 -0
  74. data/spec/fixtures/cassettes/Admin_TaxJar_Settings/GET_sync_tax_categories/Taxjar_API_token_is_not_set/doesn_t_make_a_request_for_the_tax_categories.yml +57 -0
  75. data/spec/fixtures/cassettes/Admin_TaxJar_Settings/Taxjar_settings_tab/Taxjar_API_token_is_set/shows_the_settings_page.yml +2437 -0
  76. data/spec/fixtures/cassettes/Admin_TaxJar_Settings/Taxjar_settings_tab/Taxjar_API_token_isn_t_set/doesn_t_show_any_other_TaxJar_features.yml +57 -0
  77. data/spec/fixtures/cassettes/Admin_TaxJar_Settings/Taxjar_settings_tab/Taxjar_API_token_isn_t_set/shows_a_descriptive_error_message.yml +57 -0
  78. data/spec/fixtures/cassettes/Admin_TaxJar_Settings/Taxjar_settings_tab/Taxjar_reporting_is_enabled/shows_that_reporting_is_enabled.yml +2382 -0
  79. data/spec/fixtures/cassettes/Admin_TaxJar_Settings/Taxjar_settings_tab/order_is_shipped/the_user_backfills_their_transactions.yml +2511 -0
  80. data/spec/fixtures/cassettes/Admin_TaxJar_Settings/Taxjar_settings_tab/the_user_navigates_to_the_TaxJar_Settings.yml +2382 -0
  81. data/spec/fixtures/cassettes/Admin_Transaction_Sync_Batches/user_has_a_shipped_order/starts_a_transaction_backfill.yml +370 -0
  82. data/spec/fixtures/cassettes/Reporting_orders_to_TaxJar/shipping_a_complete_and_paid_order.yml +310 -0
  83. data/spec/fixtures/cassettes/Reporting_orders_to_TaxJar/updating_an_order_which_was_not_reported_due_to_failure/it_reports_the_order_instead_of_trying_to_replace_it.yml +794 -0
  84. data/spec/fixtures/cassettes/Reporting_orders_to_TaxJar/with_an_order_with_invalid_zipcode/retry_of_a_previously_failed_transaction_sync.yml +418 -0
  85. data/spec/fixtures/cassettes/Spree_Admin_TransactionSyncBatchesController/_create/creates_a_batch.yml +250 -0
  86. data/spec/fixtures/cassettes/Spree_Admin_TransactionSyncBatchesController/_create/creates_a_log_in_the_batch_with_an_order.yml +250 -0
  87. data/spec/fixtures/cassettes/Spree_Admin_TransactionSyncBatchesController/_create/user_supplies_a_start_date/creates_a_batch.yml +250 -0
  88. data/spec/fixtures/cassettes/Spree_Admin_TransactionSyncBatchesController/_create/user_supplies_a_start_date/user_supplies_start_and_end_date/creates_a_batch.yml +250 -0
  89. data/spec/fixtures/cassettes/SuperGood_SolidusTaxjar_CalculatorHelper/_taxable_address_/when_taxable_address_check_returns_true/with_US_address/when_the_address_is_not_within_a_nexus_region/1_3_2_2_2_1.yml +58 -0
  90. data/spec/fixtures/cassettes/SuperGood_SolidusTaxjar_CalculatorHelper/_taxable_address_/when_taxable_address_check_returns_true/with_US_address/when_the_address_is_within_a_nexus_region/1_3_2_2_1_1.yml +58 -0
  91. data/spec/fixtures/cassettes/SuperGood_SolidusTaxjar_Reporting/_refund_and_create_transaction/when_Taxjar_cannot_create_a_refund_transaction/doesn_t_create_a_new_transaction.yml +393 -0
  92. data/spec/fixtures/cassettes/SuperGood_SolidusTaxjar_Reporting/_refund_and_create_transaction/when_Taxjar_cannot_create_a_refund_transaction/raises_an_error.yml +393 -0
  93. data/spec/fixtures/cassettes/Taxjar_API_Request/logging_is_disabled/doesn_t_call_the_logger.yml +158 -0
  94. data/spec/fixtures/cassettes/Taxjar_API_Request/logging_is_enabled/calls_the_logger.yml +158 -0
  95. data/spec/fixtures/cassettes/features/spree/admin/checkout.yml +238 -0
  96. data/spec/fixtures/cassettes/features/spree/admin/refund.yml +1162 -0
  97. data/spec/jobs/super_good/solidus_taxjar/backfill_transaction_sync_batch_job_spec.rb +117 -0
  98. data/spec/jobs/super_good/solidus_taxjar/replace_transaction_job_spec.rb +95 -0
  99. data/spec/jobs/super_good/solidus_taxjar/report_transaction_job_spec.rb +76 -0
  100. data/spec/models/super_good/solidus_taxjar/configuration_spec.rb +79 -0
  101. data/spec/models/super_good/solidus_taxjar/order_transaction_spec.rb +36 -0
  102. data/spec/models/super_good/solidus_taxjar/transaction_sync_batch_spec.rb +48 -0
  103. data/spec/requests/spree/admin/order_request_spec.rb +121 -0
  104. data/spec/requests/spree/admin/taxjar_settings_request_spec.rb +198 -0
  105. data/spec/requests/spree/admin/taxjar_transactions_request_spec.rb +62 -0
  106. data/spec/requests/spree/admin/transaction_sync_batches_request_spec.rb +82 -0
  107. data/spec/spec_helper.rb +46 -3
  108. data/spec/subscribers/super_good/solidus_taxjar/spree/reporting_subscriber_spec.rb +278 -0
  109. data/spec/super_good/solidus_taxjar/addresses_spec.rb +0 -14
  110. data/spec/super_good/solidus_taxjar/api_params_spec.rb +261 -89
  111. data/spec/super_good/solidus_taxjar/api_spec.rb +152 -29
  112. data/spec/super_good/solidus_taxjar/backfill_transactions_spec.rb +24 -0
  113. data/spec/super_good/solidus_taxjar/cached_api_spec.rb +58 -0
  114. data/spec/super_good/solidus_taxjar/calculator_helper_spec.rb +131 -0
  115. data/spec/super_good/solidus_taxjar/discount_calculator_spec.rb +19 -2
  116. data/spec/super_good/solidus_taxjar/reportable_spec.rb +194 -0
  117. data/spec/super_good/solidus_taxjar/reporting_spec.rb +243 -0
  118. data/spec/super_good/solidus_taxjar/tax_calculator_spec.rb +19 -19
  119. data/spec/super_good/solidus_taxjar/tax_rate_calculator_spec.rb +8 -3
  120. data/spec/super_good/solidus_taxjar/transaction_id_generator_spec.rb +77 -0
  121. data/spec/super_good/solidus_taxjar_spec.rb +84 -0
  122. data/spec/support/checkoutable_store_shared_context.rb +19 -0
  123. data/spec/support/solidus_events_helper.rb +26 -0
  124. data/spec/taxjar/api/request_spec.rb +52 -0
  125. data/super_good-solidus_taxjar.gemspec +3 -2
  126. metadata +169 -17
  127. data/app/decorators/super_good/solidus_taxjar/spree/order_updater/fire_recalculated_event.rb +0 -18
  128. data/app/overrides/spree/admin/shared/_configuration_menu.rb +0 -11
  129. data/app/views/spree/admin/taxjar_settings/show.html.erb +0 -13
  130. data/spec/models/spree/order_updater_spec.rb +0 -12
@@ -0,0 +1,393 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.taxjar.com/v2/nexus/regions
6
+ body:
7
+ encoding: UTF-8
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - 'TaxJar/Ruby (Darwin agis.local 21.4.0 Darwin Kernel Version 21.4.0: Fri Mar
12
+ 18 00:45:05 PDT 2022; root:xnu-8020.101.4~15/RELEASE_X86_64 x86_64; ruby 2.7.4-p191;
13
+ OpenSSL 1.1.1k 25 Mar 2021) taxjar-ruby/3.0.4'
14
+ Authorization:
15
+ - Bearer <BEARER_TOKEN>
16
+ X-Api-Version:
17
+ - '2020-08-07'
18
+ Plugin:
19
+ - supergoodsolidustaxjar
20
+ Connection:
21
+ - close
22
+ Host:
23
+ - api.taxjar.com
24
+ response:
25
+ status:
26
+ code: 200
27
+ message: OK
28
+ headers:
29
+ Content-Type:
30
+ - application/json; charset=utf-8
31
+ Content-Length:
32
+ - '277'
33
+ Connection:
34
+ - close
35
+ Date:
36
+ - Fri, 13 Jan 2023 21:39:43 GMT
37
+ X-Amzn-Requestid:
38
+ - 38f219bb-6a50-416b-ba28-25200314e54b
39
+ X-Amz-Apigw-Id:
40
+ - es1g_FcUoAMFZkQ=
41
+ X-Amzn-Trace-Id:
42
+ - Root=1-63c1cf9f-0b1cc34e201030db5b90fc45
43
+ X-Cache:
44
+ - Miss from cloudfront
45
+ Via:
46
+ - 1.1 73b60e9a9fd08eae9e034cedba707280.cloudfront.net (CloudFront)
47
+ X-Amz-Cf-Pop:
48
+ - SEA73-P2
49
+ X-Amz-Cf-Id:
50
+ - 3hDtho2MafJ4bGYq67SiOhPzSAKVZOw__1YZQ49CFx0sdVjNdcNjmg==
51
+ body:
52
+ encoding: UTF-8
53
+ string: '{"regions":[{"region_code":"BC","region":"British Columbia","country_code":"CA","country":"Canada"},{"region_code":"CA","region":"California","country_code":"US","country":"United
54
+ States"},{"region_code":"NY","region":"New York","country_code":"US","country":"United
55
+ States"}]}'
56
+ http_version:
57
+ recorded_at: Fri, 13 Jan 2023 21:39:43 GMT
58
+ - request:
59
+ method: post
60
+ uri: https://api.taxjar.com/v2/taxes
61
+ body:
62
+ encoding: UTF-8
63
+ string: '{"customer_id":"1","to_country":"US","to_zip":"11430","to_city":"Herndon","to_state":"NY","to_street":"A
64
+ Different Road","line_items":[{"id":1,"quantity":1,"unit_price":"10.0","discount":0,"product_tax_code":"TaxCode
65
+ - 852173"}],"shipping":"100.0"}'
66
+ headers:
67
+ User-Agent:
68
+ - 'TaxJar/Ruby (Darwin agis.local 21.4.0 Darwin Kernel Version 21.4.0: Fri Mar
69
+ 18 00:45:05 PDT 2022; root:xnu-8020.101.4~15/RELEASE_X86_64 x86_64; ruby 2.7.4-p191;
70
+ OpenSSL 1.1.1k 25 Mar 2021) taxjar-ruby/3.0.4'
71
+ Authorization:
72
+ - Bearer <BEARER_TOKEN>
73
+ X-Api-Version:
74
+ - '2020-08-07'
75
+ Plugin:
76
+ - supergoodsolidustaxjar
77
+ Connection:
78
+ - close
79
+ Content-Type:
80
+ - application/json; charset=UTF-8
81
+ Host:
82
+ - api.taxjar.com
83
+ response:
84
+ status:
85
+ code: 200
86
+ message: OK
87
+ headers:
88
+ Content-Type:
89
+ - application/json; charset=utf-8
90
+ Content-Length:
91
+ - '1487'
92
+ Connection:
93
+ - close
94
+ Date:
95
+ - Fri, 13 Jan 2023 21:39:44 GMT
96
+ X-Amzn-Requestid:
97
+ - 35f339e0-21c8-4bfd-a0aa-20d9048d1bb0
98
+ Access-Control-Allow-Origin:
99
+ - https://developers.taxjar.com
100
+ X-Amz-Apigw-Id:
101
+ - es1hCFTEoAMFmIg=
102
+ X-Amzn-Trace-Id:
103
+ - Root=1-63c1cfa0-15408f753b7daab3491a5426
104
+ X-Cache:
105
+ - Miss from cloudfront
106
+ Via:
107
+ - 1.1 ca66331b52971370c4e54619e8a952cc.cloudfront.net (CloudFront)
108
+ X-Amz-Cf-Pop:
109
+ - SEA73-P2
110
+ X-Amz-Cf-Id:
111
+ - q8IHdKF2Ggtqg7sNhxlKUHyRphJY_yeToNr7CIEoYm04LmdNc7q_eg==
112
+ body:
113
+ encoding: UTF-8
114
+ string: '{"tax":{"amount_to_collect":9.76,"breakdown":{"city_tax_collectable":5.36,"city_tax_rate":0.04875,"city_taxable_amount":110.0,"combined_tax_rate":0.08875,"county_tax_collectable":0.0,"county_tax_rate":0.0,"county_taxable_amount":0.0,"line_items":[{"city_amount":0.49,"city_tax_rate":0.04875,"city_taxable_amount":10.0,"combined_tax_rate":0.08875,"county_amount":0.0,"county_tax_rate":0.0,"county_taxable_amount":0.0,"id":"1","special_district_amount":0.0,"special_district_taxable_amount":0.0,"special_tax_rate":0.0,"state_amount":0.4,"state_sales_tax_rate":0.04,"state_taxable_amount":10.0,"tax_collectable":0.89,"taxable_amount":10.0}],"shipping":{"city_amount":4.88,"city_tax_rate":0.04875,"city_taxable_amount":100.0,"combined_tax_rate":0.08875,"county_amount":0.0,"county_tax_rate":0.0,"county_taxable_amount":0.0,"special_district_amount":0.0,"special_tax_rate":0.0,"special_taxable_amount":0.0,"state_amount":4.0,"state_sales_tax_rate":0.04,"state_taxable_amount":100.0,"tax_collectable":8.88,"taxable_amount":100.0},"special_district_tax_collectable":0.0,"special_district_taxable_amount":0.0,"special_tax_rate":0.0,"state_tax_collectable":4.4,"state_tax_rate":0.04,"state_taxable_amount":110.0,"tax_collectable":9.76,"taxable_amount":110.0},"freight_taxable":true,"has_nexus":true,"jurisdictions":{"city":"NEW
115
+ YORK CITY","country":"US","county":"QUEENS","state":"NY"},"order_total_amount":110.0,"rate":0.08875,"shipping":100.0,"tax_source":"destination","taxable_amount":110.0}}'
116
+ http_version:
117
+ recorded_at: Fri, 13 Jan 2023 21:39:44 GMT
118
+ - request:
119
+ method: get
120
+ uri: https://api.taxjar.com/v2/transactions/orders/R1234-old-transaction
121
+ body:
122
+ encoding: UTF-8
123
+ string: ''
124
+ headers:
125
+ User-Agent:
126
+ - 'TaxJar/Ruby (Darwin agis.local 21.4.0 Darwin Kernel Version 21.4.0: Fri Mar
127
+ 18 00:45:05 PDT 2022; root:xnu-8020.101.4~15/RELEASE_X86_64 x86_64; ruby 2.7.4-p191;
128
+ OpenSSL 1.1.1k 25 Mar 2021) taxjar-ruby/3.0.4'
129
+ Authorization:
130
+ - Bearer <BEARER_TOKEN>
131
+ X-Api-Version:
132
+ - '2020-08-07'
133
+ Plugin:
134
+ - supergoodsolidustaxjar
135
+ Connection:
136
+ - close
137
+ Host:
138
+ - api.taxjar.com
139
+ response:
140
+ status:
141
+ code: 200
142
+ message: OK
143
+ headers:
144
+ Content-Type:
145
+ - application/json; charset=utf-8
146
+ Content-Length:
147
+ - '654'
148
+ Connection:
149
+ - close
150
+ Date:
151
+ - Fri, 13 Jan 2023 21:39:44 GMT
152
+ X-Amzn-Requestid:
153
+ - e3d7789d-d4fe-4fc5-9139-f7f31149e738
154
+ X-Amzn-Remapped-Content-Length:
155
+ - '654'
156
+ X-Amzn-Remapped-Connection:
157
+ - keep-alive
158
+ X-Request-Id:
159
+ - Fzn8J8WqNuDkMGgC6pyC
160
+ X-Api-Version:
161
+ - '2020-08-07'
162
+ X-Amz-Apigw-Id:
163
+ - es1hEEVVIAMF3vA=
164
+ Cache-Control:
165
+ - max-age=0, private, must-revalidate
166
+ X-Amzn-Remapped-Server:
167
+ - Cowboy
168
+ X-Amzn-Remapped-Date:
169
+ - Fri, 13 Jan 2023 21:39:44 GMT
170
+ X-Cache:
171
+ - Miss from cloudfront
172
+ Via:
173
+ - 1.1 e77661e211afe9242e85e573f12d5534.cloudfront.net (CloudFront)
174
+ X-Amz-Cf-Pop:
175
+ - SEA73-P2
176
+ X-Amz-Cf-Id:
177
+ - p3VpilCSahKDsrKWBW2MDXbA_h7-FmrH6pZrPjvSLvNcWAqwPfgtyw==
178
+ body:
179
+ encoding: UTF-8
180
+ string: '{"order":{"user_id":225397,"transaction_reference_id":null,"transaction_id":"R1234-old-transaction","transaction_date":"2022-07-18T00:22:11.000Z","to_zip":"11430","to_street":"A
181
+ Different Road","to_state":"NY","to_country":"US","to_city":"HERNDON","shipping":"100.0","sales_tax":"9.77","provider":"api","line_items":[{"unit_price":"10.0","sales_tax":"0.89","quantity":1,"product_tax_code":"TaxCode
182
+ - 703184","product_identifier":"SKU-1","id":0,"discount":"0.0","description":"Product
183
+ #1 - 3375 - Master"}],"from_zip":null,"from_street":null,"from_state":null,"from_country":"US","from_city":null,"exemption_type":null,"customer_id":"4","amount":"110.0"}}'
184
+ http_version:
185
+ recorded_at: Fri, 13 Jan 2023 21:39:44 GMT
186
+ - request:
187
+ method: get
188
+ uri: https://api.taxjar.com/v2/transactions/refunds/R1234-old-transaction-REFUND
189
+ body:
190
+ encoding: UTF-8
191
+ string: ''
192
+ headers:
193
+ User-Agent:
194
+ - 'TaxJar/Ruby (Darwin agis.local 21.4.0 Darwin Kernel Version 21.4.0: Fri Mar
195
+ 18 00:45:05 PDT 2022; root:xnu-8020.101.4~15/RELEASE_X86_64 x86_64; ruby 2.7.4-p191;
196
+ OpenSSL 1.1.1k 25 Mar 2021) taxjar-ruby/3.0.4'
197
+ Authorization:
198
+ - Bearer <BEARER_TOKEN>
199
+ X-Api-Version:
200
+ - '2020-08-07'
201
+ Plugin:
202
+ - supergoodsolidustaxjar
203
+ Connection:
204
+ - close
205
+ Host:
206
+ - api.taxjar.com
207
+ response:
208
+ status:
209
+ code: 200
210
+ message: OK
211
+ headers:
212
+ Content-Type:
213
+ - application/json; charset=utf-8
214
+ Content-Length:
215
+ - '687'
216
+ Connection:
217
+ - close
218
+ Date:
219
+ - Fri, 13 Jan 2023 21:39:44 GMT
220
+ X-Amzn-Requestid:
221
+ - d3d2075d-d412-4192-a9d4-7ea8e5251e88
222
+ X-Amzn-Remapped-Content-Length:
223
+ - '687'
224
+ X-Amzn-Remapped-Connection:
225
+ - keep-alive
226
+ X-Request-Id:
227
+ - Fzn8J9-BolRi0dkDrtNB
228
+ X-Api-Version:
229
+ - '2020-08-07'
230
+ X-Amz-Apigw-Id:
231
+ - es1hJFrCoAMFhiw=
232
+ Cache-Control:
233
+ - max-age=0, private, must-revalidate
234
+ X-Amzn-Remapped-Server:
235
+ - Cowboy
236
+ X-Amzn-Remapped-Date:
237
+ - Fri, 13 Jan 2023 21:39:44 GMT
238
+ X-Cache:
239
+ - Miss from cloudfront
240
+ Via:
241
+ - 1.1 34c44cb7892e57a3b6c51812bcf68ee4.cloudfront.net (CloudFront)
242
+ X-Amz-Cf-Pop:
243
+ - SEA73-P2
244
+ X-Amz-Cf-Id:
245
+ - ofVkVtGzVHmyRi4MjKspfwtZ5Tr50DLI-GcnVtMnIV6pdE7BowMhww==
246
+ body:
247
+ encoding: UTF-8
248
+ string: '{"refund":{"user_id":225397,"transaction_reference_id":"R1234-old-transaction","transaction_id":"R1234-old-transaction-REFUND","transaction_date":"2022-07-18T00:22:11.000Z","to_zip":"11430","to_street":"A
249
+ Different Road","to_state":"NY","to_country":"US","to_city":"HERNDON","shipping":"-100.0","sales_tax":"-9.77","provider":"api","line_items":[{"unit_price":"-10.0","sales_tax":"-0.89","quantity":1,"product_tax_code":"TaxCode
250
+ - 703184","product_identifier":"SKU-1","id":0,"discount":"0.0","description":"Product
251
+ #1 - 3375 - Master"}],"from_zip":null,"from_street":null,"from_state":null,"from_country":"US","from_city":null,"exemption_type":null,"customer_id":null,"amount":"-110.0"}}'
252
+ http_version:
253
+ recorded_at: Fri, 13 Jan 2023 21:39:44 GMT
254
+ - request:
255
+ method: get
256
+ uri: https://api.taxjar.com/v2/transactions/orders/R1234-old-transaction
257
+ body:
258
+ encoding: UTF-8
259
+ string: ''
260
+ headers:
261
+ User-Agent:
262
+ - 'TaxJar/Ruby (Darwin agis.local 21.4.0 Darwin Kernel Version 21.4.0: Fri Mar
263
+ 18 00:45:05 PDT 2022; root:xnu-8020.101.4~15/RELEASE_X86_64 x86_64; ruby 2.7.4-p191;
264
+ OpenSSL 1.1.1k 25 Mar 2021) taxjar-ruby/3.0.4'
265
+ Authorization:
266
+ - Bearer <BEARER_TOKEN>
267
+ X-Api-Version:
268
+ - '2020-08-07'
269
+ Plugin:
270
+ - supergoodsolidustaxjar
271
+ Connection:
272
+ - close
273
+ Host:
274
+ - api.taxjar.com
275
+ response:
276
+ status:
277
+ code: 200
278
+ message: OK
279
+ headers:
280
+ Content-Type:
281
+ - application/json; charset=utf-8
282
+ Content-Length:
283
+ - '654'
284
+ Connection:
285
+ - close
286
+ Date:
287
+ - Fri, 13 Jan 2023 21:39:45 GMT
288
+ X-Amzn-Requestid:
289
+ - 1589cda3-f226-47fb-a389-ab7620f41873
290
+ X-Amzn-Remapped-Content-Length:
291
+ - '654'
292
+ X-Amzn-Remapped-Connection:
293
+ - keep-alive
294
+ X-Request-Id:
295
+ - Fzn8J_ZQfgZMzvUC0PdC
296
+ X-Api-Version:
297
+ - '2020-08-07'
298
+ X-Amz-Apigw-Id:
299
+ - es1hNFVHoAMFdqw=
300
+ Cache-Control:
301
+ - max-age=0, private, must-revalidate
302
+ X-Amzn-Remapped-Server:
303
+ - Cowboy
304
+ X-Amzn-Remapped-Date:
305
+ - Fri, 13 Jan 2023 21:39:45 GMT
306
+ X-Cache:
307
+ - Miss from cloudfront
308
+ Via:
309
+ - 1.1 76dcc62b68091cc715d50b5017be77fc.cloudfront.net (CloudFront)
310
+ X-Amz-Cf-Pop:
311
+ - SEA73-P2
312
+ X-Amz-Cf-Id:
313
+ - dWdvSbLvkqAHkp6lgQ0sL69up8sCI_kbwdFnccg4J8e3rq9gPc8EJQ==
314
+ body:
315
+ encoding: UTF-8
316
+ string: '{"order":{"user_id":225397,"transaction_reference_id":null,"transaction_id":"R1234-old-transaction","transaction_date":"2022-07-18T00:22:11.000Z","to_zip":"11430","to_street":"A
317
+ Different Road","to_state":"NY","to_country":"US","to_city":"HERNDON","shipping":"100.0","sales_tax":"9.77","provider":"api","line_items":[{"unit_price":"10.0","sales_tax":"0.89","quantity":1,"product_tax_code":"TaxCode
318
+ - 703184","product_identifier":"SKU-1","id":0,"discount":"0.0","description":"Product
319
+ #1 - 3375 - Master"}],"from_zip":null,"from_street":null,"from_state":null,"from_country":"US","from_city":null,"exemption_type":null,"customer_id":"4","amount":"110.0"}}'
320
+ http_version:
321
+ recorded_at: Fri, 13 Jan 2023 21:39:45 GMT
322
+ - request:
323
+ method: post
324
+ uri: https://api.taxjar.com/v2/transactions/refunds
325
+ body:
326
+ encoding: UTF-8
327
+ string: '{"to_country":"US","to_zip":"11430","to_city":"Herndon","to_state":"NY","to_street":"A
328
+ Different Road","transaction_id":"R1234-old-transaction-REFUND","transaction_reference_id":"R1234-old-transaction","transaction_date":"2023-01-13T21:39:44Z","amount":-110.0,"sales_tax":-9.77,"shipping":-100.0,"line_items":[{"unit_price":-10.0,"sales_tax":-0.89,"quantity":1,"product_tax_code":"TaxCode
329
+ - 703184","product_identifier":"SKU-1","id":0,"discount":-0.0,"description":"Product
330
+ #1 - 3375 - Master"}]}'
331
+ headers:
332
+ User-Agent:
333
+ - 'TaxJar/Ruby (Darwin agis.local 21.4.0 Darwin Kernel Version 21.4.0: Fri Mar
334
+ 18 00:45:05 PDT 2022; root:xnu-8020.101.4~15/RELEASE_X86_64 x86_64; ruby 2.7.4-p191;
335
+ OpenSSL 1.1.1k 25 Mar 2021) taxjar-ruby/3.0.4'
336
+ Authorization:
337
+ - Bearer <BEARER_TOKEN>
338
+ X-Api-Version:
339
+ - '2020-08-07'
340
+ Plugin:
341
+ - supergoodsolidustaxjar
342
+ Connection:
343
+ - close
344
+ Content-Type:
345
+ - application/json; charset=UTF-8
346
+ Host:
347
+ - api.taxjar.com
348
+ response:
349
+ status:
350
+ code: 422
351
+ message: Unprocessable Entity
352
+ headers:
353
+ Content-Type:
354
+ - application/json; charset=utf-8
355
+ Content-Length:
356
+ - '110'
357
+ Connection:
358
+ - close
359
+ Date:
360
+ - Fri, 13 Jan 2023 21:39:45 GMT
361
+ X-Amzn-Requestid:
362
+ - 411c988e-99bc-443d-8442-5c8c363a29e6
363
+ X-Amzn-Remapped-Content-Length:
364
+ - '110'
365
+ X-Amzn-Remapped-Connection:
366
+ - keep-alive
367
+ X-Request-Id:
368
+ - Fzn8KAiq7nvaNnADrIkB
369
+ X-Api-Version:
370
+ - '2020-08-07'
371
+ X-Amz-Apigw-Id:
372
+ - es1hQFwaIAMF04Q=
373
+ Cache-Control:
374
+ - max-age=0, private, must-revalidate
375
+ X-Amzn-Remapped-Server:
376
+ - Cowboy
377
+ X-Amzn-Remapped-Date:
378
+ - Fri, 13 Jan 2023 21:39:45 GMT
379
+ X-Cache:
380
+ - Error from cloudfront
381
+ Via:
382
+ - 1.1 d8d9c12d1a621129f4bc739038e7c72e.cloudfront.net (CloudFront)
383
+ X-Amz-Cf-Pop:
384
+ - SEA73-P2
385
+ X-Amz-Cf-Id:
386
+ - Ihr2EvIR1GoqKCDWBTk9JaStFlwsoPG1VsrK5r80E3cMzXmi4911lA==
387
+ body:
388
+ encoding: UTF-8
389
+ string: '{"status":422,"error":"Unprocessable Entity","detail":"Provider tranx
390
+ already imported for your user account"}'
391
+ http_version:
392
+ recorded_at: Fri, 13 Jan 2023 21:39:45 GMT
393
+ recorded_with: VCR 4.0.0