Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Taxes and Payments at Gilt
Search
sullis
April 15, 2014
Technology
1
350
Taxes and Payments at Gilt
presentation given at the Portland Java User Group
April 15, 2014
sullis
April 15, 2014
Tweet
Share
More Decks by sullis
See All by sullis
Netty Chicago Java User Group 2024-04-17
sullis
0
170
Java 21 - Portland Java User Group 2023-10-24
sullis
0
230
Microbenchmarking with JMH - Portland 2023-03-14
sullis
0
95
Code generation on the Java VM 2022-04-19
sullis
0
80
Mockito 2022-01-25
sullis
0
150
GitHub Actions 2021-12-16
sullis
0
28
Apache Struts and the Equifax data breach 2021-06-03
sullis
0
45
Guardrail State of the Union 2021-04-13
sullis
0
270
Guardrail: State of the Union 2021-03-18
sullis
0
140
Other Decks in Technology
See All in Technology
Hands-on Gemini, the Google DeepMind LLM
meteatamel
1
110
AOAI をきっかけに 社内の Azure 管理を見直した話
recruitengineers
PRO
1
240
ServiceNow Knowledge 24の歩き方 EYストラテジー・アンド・コンサルティング
manarobot
0
180
ユーザーストーリーのレビューを自動化したみたの
bun913
1
410
20240416_devopsdaystokyo
kzkmaeda
1
210
SPI原点回帰論:事業課題とFour Keysの結節点を見出す実践的ソフトウェアプロセス改善 / DevOpsDays Tokyo 2024
visional_engineering_and_design
4
1.9k
FrontDoorとWebAppsを組み合わせた際のリダイレクト処理の注意点
kenichirokimura
1
480
Janus
bkuhlmann
1
490
JSON攻略法.pdf
miyakemito
8
4.7k
NgRx Signal Store
rainerhahnekamp
0
140
KubeConにproposalを送りたい人へのアドバイス
sat
PRO
3
210
オーナーシップを持つ領域を明確にする
konifar
13
3.1k
Featured
See All Featured
Unsuck your backbone
ammeep
663
57k
A designer walks into a library…
pauljervisheath
200
23k
Pencils Down: Stop Designing & Start Developing
hursman
117
11k
Debugging Ruby Performance
tmm1
70
11k
Web Components: a chance to create the future
zenorocha
305
41k
Building Flexible Design Systems
yeseniaperezcruz
319
37k
The Brand Is Dead. Long Live the Brand.
mthomps
49
28k
Building Better People: How to give real-time feedback that sticks.
wjessup
355
18k
Code Review Best Practice
trishagee
55
15k
Rails Girls Zürich Keynote
gr2m
91
13k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
25
2.3k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
18
6.9k
Transcript
Taxes and Payments at Gilt Sean Sullivan April 15, 2014
• gilt.com • Taxes • Credit cards • Alternate payment
methods
Gilt is an online retailer
www.gilt.com
www.gilt.com
Gilt Checkout
https://www.gilt.com/checkout
Gilt’s checkout system • reserve inventory • assign shipping address
• enforce shipping restrictions • identify eligible ship methods • calculate ship cost
Gilt’s checkout system • assign currency • identify eligible payment
methods • assign payment method to order
Gilt’s checkout system • identify eligible discounts • apply discounts
• apply account credits • calculate tax
Domestic orders
Different tax laws in each U.S. state
http://www.oregon.gov/dor/Pages/salestax.aspx “Oregon does not have a general sales tax (or
a use/transaction tax). “
http://www.nyc.gov/html/dof/html/business/nys_sales_tax.shtml Sales tax in New York state
Sales tax in New York state http://www.tax.ny.gov/bus/st/sales_tax_rates.htm The combined sales
and use tax rate equals the state rate (currently 4%) plus any local tax rate imposed by a city, county, or school district. [...] The combined rates vary in each county and in cities that impose sales tax.
Use a commercial tax calculator
http://www.vertexinc.com/Solutions/indirect/vertex-o-series.asp
• O Series On Demand (SAAS) • SOAP API •
generate SOAP client with Apache CXF • commit SOAP client source to a Git repo • publish library to internal Ivy repo Vertex integration @ Gilt
@WebService(targetNamespace = "http://www.vertexinc.com/oseries/services/ CalculateTax50", name = "CalculateTaxWS50") @XmlSeeAlso({com.vertexinc.oseries.tps_5_0.ObjectFactory.class}) @SOAPBinding(parameterStyle =
SOAPBinding.ParameterStyle.BARE) public interface CalculateTaxWS50 { @WebResult(name = "VertexEnvelope", targetNamespace = "urn:vertexinc:o- series:tps:5:0", partName = "VertexEnvelope") @WebMethod public com.vertexinc.oseries.tps_5_0.VertexEnvelope calculateTax50( @WebParam(partName = "part", name = "VertexEnvelope", targetNamespace = "urn:vertexinc:o-series:tps:5:0") com.vertexinc.oseries.tps_5_0.VertexEnvelope part ); } Generated code
International orders
borderfree.com
checkout system Borderfree checkout UI
Borderfree Checkout API • quoteRequest • placeOrderRequest
Credit card transactions
Credit card operations • AVS check • authorization • capture
• credit
checkout system payment system payment processor checkout UI order processing
system order queue
Credit card security
http://en.wikipedia.org/wiki/Payment_Card_Industry_Data_Security_Standard
http://en.wikipedia.org/wiki/Payment_Card_Industry_Data_Security_Standard
Public key cryptography
Encrypting credit card data 1. AJAX request: GET /get_publickey 2.
encrypt with JavaScript encryption library: rsa.encrypt(publicKey, ccData) 3. HTTPS POST to server
https://paysvc.giltvault.com/payment_service/ get_publickey?callback=demo
Gilt’s encryption key ceremony
http://tech.gilt.com/post/77092511313/scenes-from-the-annual-encryption-key-ceremony-at-gilt
http://tech.gilt.com/post/77092511313/scenes-from-the-annual-encryption-key-ceremony-at-gilt
Alternate payment methods
Gilt.com Checkout with PayPal
https://www.gilt.com/checkout
None
None
None
None
None
None
Integrating with
• SOAP API • NVP API • REST API developer
API’s
• SetExpressCheckout • GetExpressCheckoutDetails • DoExpressCheckoutPayment Express Checkout
Emerging payment technology
Crypto currencies
http://www.bloomberg.com/news/2014-03-25/bitcoin-is-property-not-currency-in-tax-system-irs-says.html
http://twitter.com/businessinsider/status/455825603988824064
The end
Bonus slides
http://en.wikipedia.org/wiki/Quill_Corp._v._North_Dakota
http://twitter.com/evanpro/status/238728001670479872