Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Avatar for KuCalc : devops.
Download
50640 views
1
###
2
Compute sales tax for a given customer.
3
###
4
5
misc = require('smc-util/misc')
6
{defaults, required} = misc
7
8
misc_node = require('smc-util-node/misc_node')
9
10
11
exports.stripe_sales_tax = (opts) ->
12
opts = defaults opts,
13
customer_id : required
14
cb : required
15
stripe = require('./connect').get_stripe()
16
if not stripe?
17
opts.cb("stripe not initialized")
18
return
19
stripe.customers.retrieve opts.customer_id, (err, customer) ->
20
if err
21
opts.cb(err)
22
return
23
if not customer.default_source?
24
opts.cb(undefined, 0)
25
return
26
zip = undefined
27
state = undefined
28
for x in customer.sources.data
29
if x.id == customer.default_source
30
zip = x.address_zip?.slice(0,5)
31
state = x.address_state
32
break
33
if not zip? or state != 'WA'
34
opts.cb(undefined, 0)
35
return
36
opts.cb(undefined, misc_node.sales_tax(zip))
37
38