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,310 @@
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 poison-ivy 22.4.0 Darwin Kernel Version 22.4.0: Mon Mar 6
12
+ 21:00:17 PST 2023; root:xnu-8796.101.5~3/RELEASE_X86_64 x86_64; ruby 2.7.5-p203;
13
+ OpenSSL 1.1.1t 7 Feb 2023) 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
+ - Wed, 03 May 2023 23:27:16 GMT
37
+ X-Amzn-Requestid:
38
+ - 6a94a3c4-19ca-45ff-bf12-fe22d27b33b6
39
+ X-Amz-Apigw-Id:
40
+ - EXoZSE0WoAMFZwg=
41
+ X-Amzn-Trace-Id:
42
+ - Root=1-6452edd4-266d7ff250de8a10627f2099
43
+ X-Cache:
44
+ - Miss from cloudfront
45
+ Via:
46
+ - 1.1 7f5c6f79ed16052a7a2f78b6025bcf5e.cloudfront.net (CloudFront)
47
+ X-Amz-Cf-Pop:
48
+ - YVR50-C1
49
+ X-Amz-Cf-Id:
50
+ - yeOhtgpzIJfbT6z4bkCC0BdFknl72z6eWgLNuKn1VWDR76nEkt949Q==
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: Wed, 03 May 2023 23:27:16 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
+ - 493485"}],"shipping":"100.0"}'
66
+ headers:
67
+ User-Agent:
68
+ - 'TaxJar/Ruby (Darwin poison-ivy 22.4.0 Darwin Kernel Version 22.4.0: Mon Mar 6
69
+ 21:00:17 PST 2023; root:xnu-8796.101.5~3/RELEASE_X86_64 x86_64; ruby 2.7.5-p203;
70
+ OpenSSL 1.1.1t 7 Feb 2023) 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
+ - Wed, 03 May 2023 23:27:16 GMT
96
+ X-Amzn-Requestid:
97
+ - d33ddc5a-822b-46ac-966b-81be4e2831a4
98
+ Access-Control-Allow-Origin:
99
+ - https://developers.taxjar.com
100
+ X-Amz-Apigw-Id:
101
+ - EXoZUGbRoAMFoiQ=
102
+ X-Amzn-Trace-Id:
103
+ - Root=1-6452edd4-7ddc4db1507af3da7e0f076c
104
+ X-Cache:
105
+ - Miss from cloudfront
106
+ Via:
107
+ - 1.1 733ae4e17f2a4786e797d3450daabd46.cloudfront.net (CloudFront)
108
+ X-Amz-Cf-Pop:
109
+ - YVR50-C1
110
+ X-Amz-Cf-Id:
111
+ - NmP2-RKx6UmF5_Cw17MwSDMALEUSoIkWegj71p0LhwzOHWHKOf61FA==
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: Wed, 03 May 2023 23:27:16 GMT
118
+ - request:
119
+ method: post
120
+ uri: https://api.taxjar.com/v2/taxes
121
+ body:
122
+ encoding: UTF-8
123
+ string: '{"customer_id":"1","to_country":"US","to_zip":"11430","to_city":"Herndon","to_state":"NY","to_street":"A
124
+ Different Road","line_items":[{"id":1,"quantity":1,"unit_price":"10.0","discount":0,"product_tax_code":"TaxCode
125
+ - 493485"}],"shipping":"100.0"}'
126
+ headers:
127
+ User-Agent:
128
+ - 'TaxJar/Ruby (Darwin poison-ivy 22.4.0 Darwin Kernel Version 22.4.0: Mon Mar 6
129
+ 21:00:17 PST 2023; root:xnu-8796.101.5~3/RELEASE_X86_64 x86_64; ruby 2.7.5-p203;
130
+ OpenSSL 1.1.1t 7 Feb 2023) taxjar-ruby/3.0.4'
131
+ Authorization:
132
+ - Bearer <BEARER_TOKEN>
133
+ X-Api-Version:
134
+ - '2020-08-07'
135
+ Plugin:
136
+ - supergoodsolidustaxjar
137
+ Connection:
138
+ - close
139
+ Content-Type:
140
+ - application/json; charset=UTF-8
141
+ Host:
142
+ - api.taxjar.com
143
+ response:
144
+ status:
145
+ code: 200
146
+ message: OK
147
+ headers:
148
+ Content-Type:
149
+ - application/json; charset=utf-8
150
+ Content-Length:
151
+ - '1487'
152
+ Connection:
153
+ - close
154
+ Date:
155
+ - Wed, 03 May 2023 23:27:17 GMT
156
+ X-Amzn-Requestid:
157
+ - 6bfb3740-d49c-486b-8954-e4d36b749b28
158
+ Access-Control-Allow-Origin:
159
+ - https://developers.taxjar.com
160
+ X-Amz-Apigw-Id:
161
+ - EXoZYEH1IAMFu9g=
162
+ X-Amzn-Trace-Id:
163
+ - Root=1-6452edd5-7c42fc4a15b89ae459e60aa7
164
+ X-Cache:
165
+ - Miss from cloudfront
166
+ Via:
167
+ - 1.1 4f130b04fa4df2503556325c16eee9f2.cloudfront.net (CloudFront)
168
+ X-Amz-Cf-Pop:
169
+ - YVR50-C1
170
+ X-Amz-Cf-Id:
171
+ - 6Oux1Gd25yMW_2NVncdPeKOIWcylRNF6lgdsVH4rVNpt0Q8x7SAiPQ==
172
+ body:
173
+ encoding: UTF-8
174
+ 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
175
+ 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}}'
176
+ http_version:
177
+ recorded_at: Wed, 03 May 2023 23:27:17 GMT
178
+ - request:
179
+ method: post
180
+ uri: https://api.taxjar.com/v2/taxes
181
+ body:
182
+ encoding: UTF-8
183
+ string: '{"customer_id":"1","to_country":"US","to_zip":"11430","to_city":"Herndon","to_state":"NY","to_street":"A
184
+ Different Road","line_items":[{"id":1,"quantity":1,"unit_price":"10.0","discount":0,"product_tax_code":"TaxCode
185
+ - 493485"}],"shipping":"100.0"}'
186
+ headers:
187
+ User-Agent:
188
+ - 'TaxJar/Ruby (Darwin poison-ivy 22.4.0 Darwin Kernel Version 22.4.0: Mon Mar 6
189
+ 21:00:17 PST 2023; root:xnu-8796.101.5~3/RELEASE_X86_64 x86_64; ruby 2.7.5-p203;
190
+ OpenSSL 1.1.1t 7 Feb 2023) taxjar-ruby/3.0.4'
191
+ Authorization:
192
+ - Bearer <BEARER_TOKEN>
193
+ X-Api-Version:
194
+ - '2020-08-07'
195
+ Plugin:
196
+ - supergoodsolidustaxjar
197
+ Connection:
198
+ - close
199
+ Content-Type:
200
+ - application/json; charset=UTF-8
201
+ Host:
202
+ - api.taxjar.com
203
+ response:
204
+ status:
205
+ code: 200
206
+ message: OK
207
+ headers:
208
+ Content-Type:
209
+ - application/json; charset=utf-8
210
+ Content-Length:
211
+ - '1487'
212
+ Connection:
213
+ - close
214
+ Date:
215
+ - Wed, 03 May 2023 23:27:18 GMT
216
+ X-Amzn-Requestid:
217
+ - 62be29ec-eb04-4dd1-bda0-747986345dd0
218
+ Access-Control-Allow-Origin:
219
+ - https://developers.taxjar.com
220
+ X-Amz-Apigw-Id:
221
+ - EXoZmGeGIAMFopg=
222
+ X-Amzn-Trace-Id:
223
+ - Root=1-6452edd6-4fc691366a6b1a97585ca90b
224
+ X-Cache:
225
+ - Miss from cloudfront
226
+ Via:
227
+ - 1.1 653091ac0195c12aece44bebed9fcff8.cloudfront.net (CloudFront)
228
+ X-Amz-Cf-Pop:
229
+ - YVR50-C1
230
+ X-Amz-Cf-Id:
231
+ - CAhcnneXewT2tGinpJwpprQC15O85sOn_FQZSJhOlT3VPAKh6drpKg==
232
+ body:
233
+ encoding: UTF-8
234
+ 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
235
+ 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}}'
236
+ http_version:
237
+ recorded_at: Wed, 03 May 2023 23:27:18 GMT
238
+ - request:
239
+ method: post
240
+ uri: https://api.taxjar.com/v2/transactions/orders
241
+ body:
242
+ encoding: UTF-8
243
+ string: '{"customer_id":"1","to_country":"US","to_zip":"11430","to_city":"Herndon","to_state":"NY","to_street":"A
244
+ Different Road","line_items":[{"id":1,"quantity":1,"product_identifier":"SKU-1","description":"Product
245
+ #1 - 6139 - Master","product_tax_code":"TaxCode - 493485","unit_price":"10.0","discount":0,"sales_tax":"0.89"}],"transaction_id":"R635383732","transaction_date":"2023-05-03T23:27:17Z","amount":"110.0","shipping":"100.0","sales_tax":"9.77"}'
246
+ headers:
247
+ User-Agent:
248
+ - 'TaxJar/Ruby (Darwin poison-ivy 22.4.0 Darwin Kernel Version 22.4.0: Mon Mar 6
249
+ 21:00:17 PST 2023; root:xnu-8796.101.5~3/RELEASE_X86_64 x86_64; ruby 2.7.5-p203;
250
+ OpenSSL 1.1.1t 7 Feb 2023) taxjar-ruby/3.0.4'
251
+ Authorization:
252
+ - Bearer <BEARER_TOKEN>
253
+ X-Api-Version:
254
+ - '2020-08-07'
255
+ Plugin:
256
+ - supergoodsolidustaxjar
257
+ Connection:
258
+ - close
259
+ Content-Type:
260
+ - application/json; charset=UTF-8
261
+ Host:
262
+ - api.taxjar.com
263
+ response:
264
+ status:
265
+ code: 201
266
+ message: Created
267
+ headers:
268
+ Content-Type:
269
+ - application/json; charset=utf-8
270
+ Content-Length:
271
+ - '643'
272
+ Connection:
273
+ - close
274
+ Date:
275
+ - Wed, 03 May 2023 23:27:19 GMT
276
+ X-Amzn-Requestid:
277
+ - 0a02df64-c43f-45d9-85c9-bcfc90b02869
278
+ X-Amzn-Remapped-Content-Length:
279
+ - '643'
280
+ X-Amzn-Remapped-Connection:
281
+ - keep-alive
282
+ X-Request-Id:
283
+ - F1vF3Q--8cq0U4AFR-IC
284
+ X-Api-Version:
285
+ - '2020-08-07'
286
+ X-Amz-Apigw-Id:
287
+ - EXoZoEzsoAMF1FA=
288
+ Cache-Control:
289
+ - max-age=0, private, must-revalidate
290
+ X-Amzn-Remapped-Server:
291
+ - Cowboy
292
+ X-Amzn-Remapped-Date:
293
+ - Wed, 03 May 2023 23:27:19 GMT
294
+ X-Cache:
295
+ - Miss from cloudfront
296
+ Via:
297
+ - 1.1 4201bd1d1fc37ea7749b3bd1b64fce02.cloudfront.net (CloudFront)
298
+ X-Amz-Cf-Pop:
299
+ - YVR50-C1
300
+ X-Amz-Cf-Id:
301
+ - tmFS5a2y8W0VGWY8LSBoFo0teZr7W_Ns63kHfcYVI5D0__gR_Oshsg==
302
+ body:
303
+ encoding: UTF-8
304
+ string: '{"order":{"user_id":225397,"transaction_reference_id":null,"transaction_id":"R635383732","transaction_date":"2023-05-03T23:27:17.000Z","to_zip":"11430","to_street":"A
305
+ 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
306
+ - 493485","product_identifier":"SKU-1","id":0,"discount":"0.0","description":"Product
307
+ #1 - 6139 - Master"}],"from_zip":null,"from_street":null,"from_state":null,"from_country":"US","from_city":null,"exemption_type":null,"customer_id":"1","amount":"110.0"}}'
308
+ http_version:
309
+ recorded_at: Wed, 03 May 2023 23:27:18 GMT
310
+ recorded_with: VCR 4.0.0