Ez Square Payment Gateway

Squareâ„¢ (squareup.com) is one of the most popular card-present payment methods around.
Now you can use Squareâ„¢ to process your cs-cart purchases. This addon is a full implementation of the Squareâ„¢ e-commerce solution. The following features are implemented:

  • CAPTURE or AUTHORIZE payments.
  • Immediately VOID or CAPTURE an authorized payment or REFUND a captured payment (partial or full amount) directly from the order.details page in your admin area.
  • Logged in users card data is stored at Squareâ„¢ so it can be quickly used the next time they order without re-entering card data.
  • Stored cards can be deleted by the users during checkout.
  • Fully supports Squareâ„¢ locations so you can separate your customers/payment between your online store and your brick and mortar store while using one Squareâ„¢ account.
  • You can specify what order status to set for AUTHORIZE, CAPTURE, VOID and REFUND operations so it's easy to manage your orders.

To get started, simply create an account at squareup.com. Then capture the following data to use for the payment method setup

  • Application ID
  • Location Nickname
  • Access token

The rest is normal cs-cart payment method setup.

If you use Squareâ„¢ in your brick-n-mortar store, then this is the ideal solution for you.

Product URL:EZ Square payment processing
Marketplace (once approved): EZ Square payment processing

Awesome. Will have to grab this soon. Thanks

Awesome.

Is it possible to capture, amend the order with a shipping cost. then authorise the amended amount?

Reminder, this is a full featured payment system. There should never be a need to go to the payment provider after you've setup your account.

I'm adding some screenshots here to hopefully give a bit more detail about the capabilities of this payment module.

You can set the order statuses for various actions in the Addon Settings page.

squarepay_addon_settings.JPG

And as normal, you setup the payment method with details from the payment provider. Note that you can have different locations for different payment methods. This could be very useful for MVE environments.

When an unregistered user goes to checkout, this is what they see:

squarepay_checkout_unregisterd_enter.JPG

Note that the fields are actually iFrames to squareup.com so the card data is never part of your site (PCI compliant). Once the Encrypt card button is pressed, squareup.com will send an encoded value for the card that will be used during checkout. The user will then see the page look like:

squarepay_checkout_unregistered_card_ent

If they click "Reset card" it will take them back to where they started to re-enter the card data.

When the click the "Submit order" button, they see the normal checkout stuff. I.e. Errors come back in Error notifications and Success comes back to the summary page.

For a registered user who may have used your site a number of times, they will have a bit different view. I.e. they can easily just select the card they want to use and move quickly along. Cards are automatically stored for registered users. So if this user had 2 cards previously used on your site, they would first see:

squarepay_checkout_registered_enter.JPG

If they click the Enter new card radio button, they would then be able to enter a new card (they can still select an existing card):

squarepay_checkout_registered_new_card.J

Clicking Encrypt card will (just like the unregistered user) have squareup.com send back an encrypted card code to be used during checkout. They would then see this new card info displayed in the list of card like:

squarepay_checkout_registered_new_card_e

And again, they can select any card they want. If they click the Reset card button then they will simply go back to the view they saw when they first entered the payment section of checkout.

Admin area

The cool part is the admin area. This is where we've implemented the "real payment system" versus only supporting auth or capture and then expecting the merchant to go to the payment site to do any captures, refunds or voids. So in this example, the payment method was setup to just Authorize (not to capture). Hence on the orders.details page the admin would see:

squarepay_order_detail_authorized.JPG

Notice the buttons to either VOID the authorized payment or to Capture it. We specified that for an Authorize type of transaction that the order status should be Open. If we click VOID, then the transaction is voided at squareup.com and both buttons go away since there is no longer any valid options related to the payment.

If we click Capture payment, then the payment is captured at squareup.com and the order status is changed to what we specified for Captured payments (Processed in this case) and then a nice Refund button appears with the order total as the default amount. You can refund any amount up to the order total that you want.

squarepay_order_detail_captured.JPG

Clicking the Refund payment button will tell squareup.com to refund the customer the amount specified and the order status will change to what we specified for Refund in the addon settings:

squarepay_order_detail_refunded.JPG

Hope this helps to clarify the extensive payment functionality this addon provides. Guess I should grab this page and put it into a document!

Awesome.

Is it possible to capture, amend the order with a shipping cost. then authorise the amended amount?

Not at this time. This is because it works off the order total. What you could do is to have it Authorize only. Then when the shipping is known, void the transaction, update the order with the new shipping cost and if the customer was a registered user then you could apply one of their stored cards to the new order amount from the "Edit Order" payment area. If they were an unregistered user then you've have to call/contact them to get the card info. The encrypted values for cards from Square can only be used once.

I could look into ammending the addon for registred users so that when Editing the Order, you could do a separate request for a new amount (similar to how refund is implemented). But for right now, my goal is to get this in enough hands to get feedback.

Does it sync inventory?

Does it sync inventory?

No, it is not the inventory management side of square services. This is for payments only.

If there was enough demand, I'd be happy to do the inventory, crm or other square services.

Awesome.

Is it possible to capture, amend the order with a shipping cost. then authorise the amended amount?

We've gone ahead and added the ability to have "additional transacctions". From the orders.details page you can now add an extra charge and then capture, void or refund it. The admin can do this without client involvement if the client is a registered user and has either chosen to save their card info (at Squareup.com, not on your site) or the merchant has chosen the "always save cards" option in the addon settings. One quick screen shot below:

Click the 'New charge" button to display inputs for "Reason" and "Amount". Then choose the customer's card entry or get them on the phone to add their card info. Very simple and straight forward operation.

squarepay_extra_payments.JPG

Would like to have more info about it.
Thank you

Trotta.ale@gmail.com

Would like to have more info about it.
Thank you

Trotta.ale@gmail.com

You can either ask your questions here (for everyone's benefit) or you can get in touch with us via our contact-us page at our site which is linked in my signature below.

Would just like to say that I've been using this for many months now and it has been working fantastically and I couldn't be happier. Tony was great at solving my server issues as well.

Tony, do you have any suggestions on the best way to set up my statuses in your add-on? I think what you see here is the default statuses. I don't think I've ever changed anything on these all the years I've been using CS-Cart.

Thanks.

[attachment=12921:square-options.jpg]

square-options.jpg

Also, when the final stage of the checkout loads (where credit cards info is entered), it appears for a second or two like yours in post #4 above. Then after a second or two, it appears like this:

[attachment=12922:Screen Shot 2017-12-30 at 8.45.53 PM.png]

I'm assuming that's to do with the Vivashop theme I'm using...? Everything is OK except that the words in the ZIP code field are truncated. Is there an easy way to fix that?

Screen Shot 2017-12-30 at 8.45.53 PM.png

Tony, do you have any suggestions on the best way to set up my statuses in your add-on? I think what you see here is the default statuses. I don't think I've ever changed anything on these all the years I've been using CS-Cart.

Thanks.

attachicon.gifsquare-options.jpg

I set the default values to what I believe is most common for the various actions => statuses.

I.e. on an auth-only = open

on auth-capture = processed

etc.

Refund and cancel would be more site specific.

Also, when the final stage of the checkout loads (where credit cards info is entered), it appears for a second or two like yours in post #4 above. Then after a second or two, it appears like this:

attachicon.gifScreen Shot 2017-12-30 at 8.45.53 PM.png

I'm assuming that's to do with the Vivashop theme I'm using...? Everything is OK except that the words in the ZIP code field are truncated. Is there an easy way to fix that?

Unfortunately, the field is in an iframe and that is controlled by square.

You could modify this line in

design/themes/[your theme]/templates/addons/squarepay/views/orders/components/payments/squarepay.tpl

from

to

The above will get you 20% more width of that area. Alternatively, you can change the language variable "sq_from_card_statement" to something that will better fit.

Unfortunately, Square doesn't support passing tool tips to be displayed in the iFrame. That would be the easiest way to convey instructions or caveats.

Also, when the final stage of the checkout loads (where credit cards info is entered), it appears for a second or two like yours in post #4 above. Then after a second or two, it appears like this:

Not exactly sure what portion of the presentation you're referring to. The "Encrypt Card" button was removed since it was confusing to people. Instead, we take over the "Submit my order" button and do the submit to Square then to get the token.

The billing options field will vary depending on whether you have the force-save-card setting on or off and/or whether an existing customer has saved cards or not.

Not exactly sure what portion of the presentation you're referring to. The "Encrypt Card" button was removed since it was confusing to people. Instead, we take over the "Submit my order" button and do the submit to Square then to get the token.

The billing options field will vary depending on whether you have the force-save-card setting on or off and/or whether an existing customer has saved cards or not.

I was referring to the fact that the fields are smaller on the version that first flashes up, with the result that the text in the zip code field fits fine; but when the second version takes over, it ends up truncating the text in that field.

But you've made suggestions on how to fix that, so I'll be looking at those tomorrow.

Thanks so much for you help. Great add-on!

Assuming any change has to do with custom theme. There's a lot of JS used to present the proper view based on the conditions I listed above. So the initial 'flash' might be different based on the properties of the custom theme as well as whether the user has saved cards, is logged in, etc. I believe the view for an anonymous login is what's presented as the base form and then it would change if the user were logged in and/or had saved card data. But the actual content of the iFrames from Square shouldn't be changing other than if an outer container is wider/narrower than standard responsive theme.

But you should be able to get it to present cleanly with css based on your theme.

Hello Tony,

A customer from the UK is getting an error message when she tries to place an order. Something like this:

"No token submitted in payment info."

Any ideas?

[attachment=12924:Screen Shot 2018-01-01 at 3.42.54 PM.png]

This lady has ordered from me before, so I doubt that it's a problem with the card. Also, she said she tried two different cards and got the same response.

Screen Shot 2018-01-01 at 3.42.54 PM.png

If you have logging turned on, look at the log file in app/addons/squarepay/squarepay.log. But mismatch with postal code is the odds on favorite.