Archive for August, 2016

Migrating a Two Tap API integration to support international orders

This blog post is a technical followup on the Two Tap Cross-Border launch. You should read the announcement before continuing.

If you are using our Whitelabel Cart or Instant, you don’t need to do anything, but you might still want to read below to understand a couple of differences between domestic and international ordering.

Overview

In domestic and pickup-from-store orders Two Tap sends all the information to the retailer to be processed. That means the end retailer (let’s say Kohl’s) processes the payment, handles returns, customer support, and is the merchant of record. This is what we call the pass-through method.

For international orders, this all changes. The end customer (let’s say in Japan) buys the products from Two Tap, which are then, in the background, automatically purchased by Two Tap from the retailer and shipped to a US warehouse. This means Two Tap processes the consumer payment, handles returns, customer support, and is the merchant of record.

For international orders Two Tap provides more flexibility:

  • A larger number of payment methods will be supported. For instance: Apple Pay, Android Pay. (coming soon)
  • The CVV code will not be required after an initial purchase. (coming soon)
  • Publisher discounts (eg. a publisher wanting to fund $10 off offers).
  • One international landed cost for the whole cart. Shipping prices are more affordable as Two Tap consolidates products into one box and ships them overseas in one international flight.
  • Estimation guarantees. If Two Tap’s estimation is wrong, Two Tap will eat the cost.

The international app approval process is a bit more thorough, and all apps must show the “Two Tap INTL ToS Approval Box”.

API Changes

  • /cart, /cart/status, /cart/estimates now accept a ‘destination_country’.

    ‘destination_country’ changes prices and currencies dynamically. Please keep in mind that if you run /cart/estimates without an address or destination_country and Two Tap returns some prices in USD, those might change completely when you run /purchase with a Japanese address. Make sure you are showing the consumer the right estimates.

  • estimates and sites[id][prices] not available for international orders

    In /cart/estimates and /purchase/status Two Tap used to return the prices broken down by site_id. For instances, $150 final price at Kohls, and $200 final price at eBags. For domestic orders this doesn’t change.

    Today we are introducing two new fields: estimated_total_prices for /cart/estimates, and total_prices for /purchase/status. Here you will find the total values for the whole cart.

    They way we handled this API change on our Cart is that we show the ‘estimated_total_prices’ on the cart review page, for both domestic and international orders. We also added an extra option on domestic orders to ‘view a breakdown of prices by store’.

  • http_finished_url is gone, meet http_update_url

    ‘http_update_url’ is called after a purchase changes state. State are: ‘pending’, ‘info_running’, ‘info_finished’, ‘confirm_running’, ‘confirm_finished’, ‘waiting_for_tracking_links’, ‘to_warehouse’, ‘to_shopper’, ‘done’, and ‘cancelled’.

    For domestic purchases a purchase changes state after injection or when a change happens in the ‘sites[site_id][remote_status]’ /purchase/status fields. Yes, Two Tap is slowly starting to monitor purchases after they’ve been injected, and will send you updates as they happen.

    For international purchases, this means a change in a new ‘status’ /purchase/status field.

    The information sent is the same as in the /purchase/status API method.

  • Available shipping countries

    The available shipping countries are sent with /cart/status inside the sites[id][shipping_countries_support] field.

    These are all the changes you need to know about. Feel free to contact us with any questions.

Introducing Two Tap Crossborder

Six months ago we realized that, at 1200+ non-Shopify integrations we’ve figured out how to scale and grow to support any retailer that publishers would like us to provide access to. This allowed us to take a deep breath, and look at the industry as a whole. And we noticed something.

Our team in Europe would create an Excel sheet of products they’d like to buy from the US, assign one person to place the order, which turned into one big package to be delivered at our remote office. Almost every month, in order to save on shipping.

Two Tap Crossborder has evolved from this observation.

Introducing Two Tap Crossborder

Living in the US is a bit like living in a bubble and a lot of things are taken for granted. For instance, the US has an amazing selection of *high quality* products at affordable prices. Since we started this project we’ve heard stories from expats buying paper towels while vising the US – because it’s higher quality. More often international consumers love buying diapers, vitamins and apparel.

However, there are some serious challenges for consumers:

* Shipping is expensive. When ordering internationally customers are forced to buy large carts from big retailers in order to make the experience cost-effective. But that’s not what they want. They might want to buy vitamins from Target, socks from Macys, toys from BabiesRUs, and maybe a dress for a new brand that popped up that’s US only.
* Their payment methods are not accepted. There’s a high chance their credit card will get flagged as fraud, or maybe they don’t even have a credit card (hello AliPay!).
* Consumers don’t understand the localized retailer sites. Leaving aside the fact that a huge part of the world doesn’t speak English, when they navigate US retailer sites most consumers are confused because they are used to completely different local experiences.

With Two Tap Crossborder we wanted to solve these problems and make it incredibly easy for international shoppers to order products usually found in the US.

It starts from our belief that local publishers/apps will convert better than applications that try to be global. For instance, an end-to-end Japanese app, from product discovery all the way to checkout, will convert better than an app that was designed for a German audience and translated to Japanese. Two Tap now offers local eCommerce entrepreneurs a whole new world of inventory.

While in the first iteration TT Crossborder will support only credit cards, we’ll quickly expand to support a large number of payment methods. We’ll do our best to optimize in local markets so that as many transactions as possible will go through, and keep fees low.

And lastly, we’ve designed Two Tap Crossborder with automatic product consolidation in mind. The true value of the universal shopping cart is that a consumer can add products from N number of retailers, and instead of paying N international air freight shipping prices, they will pay ONE price. Two Tap ships all products from US retailers to one warehouse, where they are shipped in one package overseas, making the whole process affordable.

On the retailer side, Two Tap provides a risk free way of supporting a global audience. For international orders Two Tap will be the merchant of record, handling customer support, returns, and building infrastructure to support this global audience. This means there’s ZERO risk and ZERO integration on the store’s part.

The API is available today for Japan, with other areas coming online soon.

One more thing….

We were so excited while building this functionality into Two Tap, that we decided to build something on top of our API as well. Our first B2C product.

taptapcart.com is group buying with free shipping if the cart is large enough. You and your family or coworkers can group together, add products in one common cart, and once a certain magic price is reached (it depends on a number of factors) Two Tap will send your products to you with NO shipping costs.

Unlike older group buying attempts where consumers were forced to buy one certain product at a time, with taptapcart consumers can buy any product they desire from our huge number of supported retailers. Social commerce with benefits.