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
7
S3 NYC Iceberg meetup 2025-07-10
sullis
0
40
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
62
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
現場で効くClaude Code ─ 最新動向と企業導入
takaakikakei
1
240
Terraformで構築する セルフサービス型データプラットフォーム / terraform-self-service-data-platform
pei0804
1
170
エラーとアクセシビリティ
schktjm
1
1.3k
「どこから読む?」コードとカルチャーに最速で馴染むための実践ガイド
zozotech
PRO
0
400
Rustから学ぶ 非同期処理の仕組み
skanehira
1
140
Autonomous Database - Dedicated 技術詳細 / adb-d_technical_detail_jp
oracle4engineer
PRO
4
10k
なぜテストマネージャの視点が 必要なのか? 〜 一歩先へ進むために 〜
moritamasami
0
220
DevIO2025_継続的なサービス開発のための技術的意思決定のポイント / how-to-tech-decision-makaing-devio2025
nologyance
1
390
[ JAWS-UG 東京 CommunityBuilders Night #2 ]SlackとAmazon Q Developerで 運用効率化を模索する
sh_fk2
3
420
Webアプリケーションにオブザーバビリティを実装するRust入門ガイド
nwiizo
7
820
人工衛星のファームウェアをRustで書く理由
koba789
15
7.9k
BPaaSにおける人と協働する前提のAIエージェント-AWS登壇資料
kentarofujii
0
140
Featured
See All Featured
Designing Experiences People Love
moore
142
24k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
580
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
Building an army of robots
kneath
306
46k
Done Done
chrislema
185
16k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Making the Leap to Tech Lead
cromwellryan
135
9.5k
Optimizing for Happiness
mojombo
379
70k
What's in a price? How to price your products and services
michaelherold
246
12k
How to train your dragon (web standard)
notwaldorf
96
6.2k
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