processing loyalty swipe cards in square - square-connect

I was taking a look at the Square API. I am trying to find a solution for VIP/loyalty cards for a private club. I feel like the square API would be useful. What I am trying to figure out is if it is possible to read data from a gift card/security card in the API. My Idea is to use the reader in two places, at the front door to verify VIP status and for payment. Ideally, the card would have a member id that could be linked to a Facebook account, as well as looking up saved payment info in Square. I would like to use the API to build a tablet app to manage all of these functions as well as provide discounts prior to payment processing.
I noticed mentions of 3rd party gift card support, does that mean this would be possible? or is the data for non credit card swipes still locked down?

You cannot get card data from the readers. The gift card support is only for payments.

Related

Square Payments : International

I am trying to get some clarification on Square Payments and International Cards. I am setting up a payment processor for a site which will need to allow Credit cards from all over - not just US/CANADA. It looks like Square is only available for US,CANADA,AUSTRALIA,UK,JAPAN - can anyone confirm if this is correct?
The method I'll be using is the web form. User will enter their info into the form and submit, back end will process the transaction using the Square SDK (PHP).
If Square is not capable of processing in other countries, is it possible (and not violation of PCI compliance rules) for me to take the CC info from the user, submit to PHP script which will process it using cURL request that way the IP processing the payment is our host server in US? Would that allow me to get around the Country limitation?
Any guidance is greatly appreciated!
Square requires the seller/merchant account to be created in one of the supported countries (US, UK, Canada, Australia, Japan), but once that account is set up you can accept payments online via the APIs from any country (as long as it's a supported card of course). Note that the payment must be in the currency of the Square account though (USD for US-based account, for example), and the customer's bank would handle the currency exchange if they use a different currency.

How to generate card nonce for repeated transactions without making users to enter card details?

We have a requirement that payment should be initiated repeatedly without user's intervention just like monthly/yearly subscription fees for Mobile Apps in Google Play store . The payment should be triggered from the back end automatically after a particular interval (amount may not be same for every interval). We found that in square payment card nonce is used for performing a transaction. Card nonce is generated from the Payment form when the users enter their card information for the first time. How to generate the nonce for further transactions without making users to enter their card details in square payment form?
You would want to utilize the Card on File functionality. Basically, the first time a customer enters their credit card details in the Square Payment Form, you would generate a nonce, and then use the nonce to save the card to a customer's profile (so you would of course need to create a Square customer as well). In the future, you would be able to charge the card on file, rather than making them enter their card details again.
Details around saving cards on file with Square: https://docs.connect.squareup.com/payments/transactions/cookbook/save-cards-on-file
Details around charging charges on file with Square: https://docs.connect.squareup.com/payments/transactions/cookbook/charge-cards-on-file
Details around the CreateCustomerCard endpoint: https://docs.connect.squareup.com/api/connect/v2#endpoint-customers-createcustomercard

Square Gift Card Balance

Is there a way to check the balance of Square gift cards through the API? I'm making an app on behalf of a merchant at a school who would like to facilitate mobile orders through the use of prepaid gift cards.
According to the user documentation, the receipt of a transaction received by the customer will display any remaining balance, but when I look at the API documentation no such information seems to be provided.
Any advice? Thanks.
You were right to check out the documentation. At this time there isn't an API for any giftcard functionality, including checking balances.

Square API: How to generate test orders without getting charged?

I am developing an app that uses the Orders endpoint.
As far as I can tell, there is no way to place an "order" without providing a credit card. Which means there are fees (because there is no square sandbox...)
Is there any way to test my integration without incurring fees??
Note: This stackoverflow answer gives a work around for the Payments endpoint, but that is not helpful in my case.
Square has sandbox where you can use the sandbox nonce and predefined credit cards. In this way you will not get charged for the orders. Check this link https://docs.connect.squareup.com/articles/using-sandbox/

Stripe & transferring funds

I am currently in the process of planning & developing an integrated application using Stripe in addition to some other technologies (a combination of backbone & laravel). As a result I am using Stripejs in combination with the PHP stripe library.
I use stripejs to send Stripe their account info (for savings accounts I send country, routing and account numbers via stripes js lib, I then save off the created token in the response to the backend). I am attempting to transfer money to various recipients following charging accounts (so I have money in my stripe account) but I am a bit confused over exactly what approach to take.
My main questions are as follows.
If I am positive of the identities of the individual’s using the application, is verification required (5 – 10 people max will be using)?
If it is required what is the best approach to verifying the user using the current technique I am using (create a token, save off on the backend)?
From my experience with Stripe, you don't need to 'verify identities' each time you use a token, so long as a customer has been set up for recurring use. So as long as your application is properly secured so that only the 5-10 people can use it, and can only process payments for their own accounts, you are good to go. In other words, you obviously want to do your own user verification to make sure only valid people can use the application, but you don't need to do it as far as Stripe is concerned.
That said, if you are in essence transferring money between people, you might want to go the extra distance and make sure that the user has the correct card number or bank account number each time. In which case I would use something like:
Get user data using tokens stored in DB.
$cu = Stripe_Customer::retrieve("cus_4pn93XXXXXXXXXXX");
$card = $cu->cards->retrieve("card_14g7ZU4rLTyXXXXXXXXXXX");
If Stripe's returned data matches user-submitted data, you know you have the correct user. In particular, if the last 4 digits of the card and the expiry date match the last 4 returned by Stripe and the Stripe returned expiry date, you can be reasonably sure (albeit not certain) that the person actually possesses the card in question.

Resources