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
360
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
Dependency management for Java applications 2025-09-11
sullis
0
8
S3 NYC Iceberg meetup 2025-07-10
sullis
0
41
Amazon S3 Chicago 2025-06-04
sullis
0
100
Amazon S3 Boston 2025-05-07
sullis
0
55
Netty ConFoo Montreal 2025-02-27
sullis
0
100
GitHub Actions ConFoo Montreal 2025-02-26
sullis
0
63
Netty Portland Java User Group 2025-02-18
sullis
0
12
Amazon S3 NYJavaSIG 2024-12-12
sullis
0
190
Amazon S3 - Portland Java User Group 2024-09-17
sullis
0
110
Other Decks in Technology
See All in Technology
KotlinConf 2025_イベントレポート
sony
1
140
ブロックテーマ時代における、テーマの CSS について考える Toro_Unit / 2025.09.13 @ Shinshu WordPress Meetup
torounit
0
130
スマートファクトリーの第一歩 〜AWSマネージドサービスで 実現する予知保全と生成AI活用まで
ganota
2
310
2025/09/16 仕様駆動開発とAI-DLCが導くAI駆動開発の新フェーズ
masahiro_okamura
0
120
20250912_RPALT_データを集める→とっ散らかる問題_Obsidian紹介
ratsbane666
0
100
プラットフォーム転換期におけるGitHub Copilot活用〜Coding agentがそれを加速するか〜 / Leveraging GitHub Copilot During Platform Transition Periods
aeonpeople
1
230
サラリーマンの小遣いで作るtoCサービス - Cloudflare Workersでスケールする開発戦略
shinaps
2
470
要件定義・デザインフェーズでもAIを活用して、コミュニケーションの密度を高める
kazukihayase
0
120
Firestore → Spanner 移行 を成功させた段階的移行プロセス
athug
1
500
AIのグローバルトレンド2025 #scrummikawa / global ai trend
kyonmm
PRO
1
310
LLM時代のパフォーマンスチューニング:MongoDB運用で試したコンテキスト活用の工夫
ishikawa_pro
0
170
IoT x エッジAI - リアルタイ ムAI活用のPoCを今すぐ始め る方法 -
niizawat
0
110
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.6k
Become a Pro
speakerdeck
PRO
29
5.5k
Being A Developer After 40
akosma
90
590k
Facilitating Awesome Meetings
lara
55
6.5k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Designing for humans not robots
tammielis
253
25k
Code Reviewing Like a Champion
maltzj
525
40k
Writing Fast Ruby
sferik
628
62k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
The Art of Programming - Codeland 2020
erikaheidi
56
13k
How GitHub (no longer) Works
holman
315
140k
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