Pre-Sales with BrainTree gateway

DXD
Shopify Partner
5 0 0

First I found this old post https://ecommerce.shopify.com/c/ecommerce-discussion/t/pre-orders-handling-and-gateway-extended-auth... but that lead me to other products.

I have .NET C# programming abilities so I'm thinking I need to customize shopify in a way that works for me.

I'll attempt to explain what I'm after.

I will have a store that has to types of products, in-stock and pre-sale

In-stock products are treated as such and payment is auth and captured immediatly at checkout because the item is in stock and ready to ship.

Pre-sale items could be days, weeks, months away from being ready for shipment it depends where they are at in the manufacturing process.

For these items I would like that the customer card it authorized only.  Further I would want the customer information including credit card information stored in BrainTree's vault for future authorizations and captures when the product is available.  Authorizations expire based on the cards bank so I can't control that.

If shopify will use BrainTree's value it will allow me to authorize and capture pre-sale orders in the future through BrainTree's control panel.

If this can be done through shopify even better.

Some issue would be if someone put a in-stock and a pre-sale item in the cart ideally they would have their card info stored and have a auth and capture for the in stock item and a authorization for the pre-sale item.

The original authorization may expire on the pre-sale item and depending on how long before product is available I may do another authorization for the pre-sale order which would vary in intervels depending on when the product might be ready to ship.

Further the customer would be able to cancel their pre orders at any time and if their is a pending authorization that would need to be cancelled as well.

I'm ok doing some of this manually especially on the pre-orders but there is some work to be done to make shopify fit my needs here as far as the check out process and storing of the data in BrainTree's vault.

0 Likes
awd
Shopify Staff (Retired)
Shopify Staff (Retired)
79 0 7

It seems like you are on the right track here. The only thing I cannot speak for is the length of time Braintree allows you to authorize and then capture a payment for. Generally we see in the range of 7 days, among other considerations.

Not sure if you have found this resource yet, it may help - http://docs.shopify.com/manual/configuration/store-customization/page-specific/product-page/can-cust...

Adam Doeler, API Team, Developer at Shopify
0 Likes
DXD
Shopify Partner
5 0 0

Yes I've been shown that link by several of the Shoify Staff memebers which I have to point out to them that it's outdated and actually doesn't work because the store has snippets now so the product page uses an include of the snippet.  As a programmer I was able to figure it out but general users would never figure that out using that link.

All that link does it shows you how to change the payment method to authorize only and shows you how to change the text on the button from add to cart to Pre-order.  This doesn't really get me anything as I described above.

BrainTree does allow the card info to be stored in their vault if you tell it to via the API.  The auth expiration is not controlled by the gateways it's controlled by the issuing bank so every card could be different but most are 7 days.

I'm almost wondering if Shopify is already storing the data in the BrainTree vault but no one at Shopify or BrainTree seems to know this.  I tried setting up a trial store to use my BrainTree sandbox but it doesn't appears I can actually do a checkout using a trial account to see what is stored in BrainTree

This is why I'm wanting to understand how I can use the Shopify API to create my own gateway and use it so I can control how the information is sent to BrainTree's API.

I could certainly just write my own shopping cart software but no need to reinvent the wheel if I can leverage an existing product and just do some custom coding for it via it's API's

0 Likes
DXD
Shopify Partner
5 0 0

Additionally it looks like Shopify is asking for more information about the BrainTree account then BrainTee asks.  Merchant Id and Merchant Account ID where BrainTree has a MerchantID but not a Merchant Account ID

Also it appears Shopify doesn't allow you to tell it to use the BrainTree Sandbox.

0 Likes
Jamie
Shopify Staff (Retired)
Shopify Staff (Retired)
5714 0 156

Pre-sale items could be days, weeks, months away from being ready for shipment it depends where they are at in the manufacturing process.

For these items I would like that the customer card it authorized only.  Further I would want the customer information including credit card information stored in BrainTree's vault for future authorizations and captures when the product is available.  Authorizations expire based on the cards bank so I can't control that.

No great answer here for you with mixed carts. Your best bet is to treat the in stock items and pre-orders as two separate transactions and use Celery for the preorders. 

https://www.trycelery.com/

http://shopifyplus.com ::: http://twitter.com/bacchus
0 Likes
DXD
Shopify Partner
5 0 0

I looked at Celery but was not clear on if I would be just signing up with them or with Shopify too.

My concern was SHopify wants 2.0%, celery wants 2.0% then BrainTree wants 2.9% + .30 all per transaction

On a $300 item that's $21.00 in fee's alone which seems like a lot of money.

0 Likes
Jamie
Shopify Staff (Retired)
Shopify Staff (Retired)
5714 0 156

We have plenty who use both in tandem. These are two separate transactions. Celery pre-orders happen within their system, ready to ship items happen in Shopify. You wouldn't be effectively doubling your fees like this. You could keep this all in Shopify but it will really depend on your pre-order requirements. If this is a pre-order months in advance there aren't great options out there due to the new legislation about taking money on pre-orders in many states. Your alternate if the pre-orders are 30 days out would be to choose a gateway that allows an auth and hold for 30 days and keep all transactions within Shopify. 30 days is the max auth/hold I have seen.

http://shopifyplus.com ::: http://twitter.com/bacchus
0 Likes
DXD
Shopify Partner
5 0 0

So Celery is it's own store front?

I know the auth can't last 30+ days that's fine.  I just want to make sure that when it comes time to ship I can charge the card so if Shopify stores this information in the BrainTree Vault that would allow me to do that.

1. Customer comes to site
2. Customer adds pre-order item to cart
3. Customer checks out 
4. Customer's card payment has auth only

It's at this point if the product comes in before the auth expires then I'll just capture.  If it's months out the auth would expire and I may later re-auth if the product is delayed or still in production or if the product has arrived I would auth and capture which if the card info is stored in the BrainTree vault I could do that from there.

Bascially if I can get Shopify to always store the customer info and card info in the BrainTree Vault I could use Shopify for in stock and pre-orders I would just have to have all items as auth only and then capture the in stock items and let the others expire and then later auth-capture them from the BrainTree control panel and then be able to update the order in Shopify.

Also it might already do this but I have no way to know cause Shopify doesn't seem to know what they do and the fact that the setup of BrainTree in shopify has an extra parameter Merchant ID vs Merchant Account ID I don't know what to put there and it appears there is no way to configure Shopify to use the BrainTree sandbox for testing.

0 Likes
Brian_Nguyen1
New Member
6 0 0

Hi DXD, the Celery checkout appears as an overlay in your Shopify store so a buyer wouldn't be leaving your site to purchase an item -- it's a very polished purchase experience. During the checkout, Celery verifies that the card is valid, but doesn't hold the auth. When you're ready to capture the funds (you can do this until the card is expired or cancelled), just press the "charge now" button. Furthermore, buyers can update their credit cards or change shipping addresses themselves anytime during the pre-order phase.

Feel free to shoot me an email directly at brian@trycelery.com if you have any further questions.

0 Likes
Chris_Ward
New Member
4 0 0

Hello Brain it would have been nice to know this a month ago.  Why was it not explained this way when I spoke to people at Celery directly already?  When I asked questions the answers I got were never really clear and never really answered the questions.  No demo or anything was provided of how it all worked.  Would of saved me money and time if this had been explained more clearly a month ago.

0 Likes