POS Integration Square Terminalby Sonny Huynh
|Odoo Apps Dependencies||
Point of Sale (point_of_sale)
• Discuss (mail)
• Inventory (stock)
• Invoicing (account)
|Lines of code||1313|
|Versions||15.0 17.0 16.0 14.0|
Integate Point of Sale (PoS) with Square Payment terminal.
OAuth and Webhooks Configuration:
Input Production Redirect URL: https://yourdomain.com/square/oauth
Your odoo domain must be https.
Add Webhook subscriptions as below
Input url enpoint:https://yourdomain.com/pos_square/notification
Payment Methods Configuration:
After you install this app, it will create 2 Payment methods. "Square Test" for test mode and "Square" for production.
1. "Square Test" Configuration:
By default, 2 simulator devices is created. You can refer below link for futhers details about simulator device
Notice: For 2 Square Simulator devices, The transaction will automatically complete for order amount under $20. If order amount is over $20, the transaction will be pending.
Go back to Square developer and get credentials infomation and input into paymnet menthod.
And input location info
Notice: You also need to add webhook for test mode.
2. "Square" Configuration:
There are diffirent configuration between the test mode and production mode. With the Production, you need to authorize, and then you get the access token.
The access token will be expired after 30 days. But you dont worry about this one. The App will check and refresh access token automatically. You only authorize just
You need to input "Application ID", "Application Secret", and "Location ID". Go back to Square developer and get these infomation, don't forget switch to Production mode.
After you input these infomation, then click on Authorize button. If everything is ok, you will see this message as below:
And the next step. you will define a Square Teminal device and pair it with your PoS.
After you add a new device and save the form, you will see "Get Device Code" button.
Click on the button, you will see the device code. This device code is available in 5 minutes, and you have to login Square Terminal by this code within 5 minutes.
Otherwise, the device code will be expired. If it expired, you must delete that device, create a new one and get device code again.
Login Square Terminal by device code
If you see this screen on Square Terminal, you logged in successful
And then you can come back form view and reload. You will see the "Device Id (S/N)" and the status will be updated to PAIRED
From now on, you can use the Square Terminal.
After you finish Payment Methods and Square device configuration. You need to select Square payment method, configure square paymnet fee or tips setting.
Select Paymnet Method for this PoS. The list Square devices was configured for this payment method will be used for this PoS.
Enable Square fee, select the fee product and input fee percentage you would like to to charge customer.
Enable Tip percentages, provide 3 option percentages, these options will be shown on square terminal, and customer will select one of them for the tip. If you don't provide 3 option percentages. Square default option will be used. They are 15, 20, and 25 percent.
1. Update transaction status via webhook automtically.
2. Support multiple Square Teminal Device on one PoS.
3. Add payment fee. You can add or take out the payment fee at the payment screen
4. Add tip through Square terminal payment.
Go to pos config and enable "Add tip through payment terminal (Square)" option
Select Square Tip product. This product will be shown on receipt, if order has customer's tip.
Define 3 level percentage that will be shown on square terminal. Customer will select tip percentage after pay. If it's empty, square default are 15, 20 and 25. For example, you have order as below:
After sending payment request to Square terminal. Customer will see 3 option percentages for the tips on terminal screen.
If customer select 10%. the next screen on terminal will be like this
And after customer tap their card.
If you check transaction on Square. You will see order amount and tip amount separately
The Odoo receipt also separate order amount and tip amount
5. Add tip through Odoo PoS.
If you input tip amount on Odoo PoS, even you enabled "Add tip through payment terminal (Square)" option, the 3 option percentage tips won't be shown on Square terminal screen. The total amount will be combined order amount and tip amount and send to Square terminal. It will not show separately on the Square transaction, but on Odoo receipt and order form will show order amount and tip amount separately
For example, you have order as below:
The order amount is $12.90, and then add tip amount is $5. The total amount is sent to Square terminal is $17.90
After payment complete, the Odoo receipt will show order amount and tip amount separately
The Odoo transaction only show total amount.
Email Support: firstname.lastname@example.org
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module
- The author can leave a single reply to each comment.
- This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
- If you want to start a discussion with the author or have a question related to your purchase, please use the support page.