Hi @Almaz welcome to the forums!
If this is an in-person payments application, then we have a few in-person solutions that you can integrate into your application to accept payments.
-
Terminal API - this allows you to create a custom POS to take payments through Square Terminal.
-
Reader SDK - this allows you to integrate the payment solution directly in an existing mobile application (behaves similar to the current Square POS, except in your own app). Only available in the US at this time.
-
Point of Sale API - very similar to Reader SDK except it requires you to app-switch to the Square POS to handle the payment.
Any of the above will handle the payments aspect of your request. As for the bonuses, it sounds like you already have a system set up, so presumably this would be your own logic? If not, Square also does have a Loyalty functionality, including a Loyalty API. Let me know if you have additional questions or concerns about any of this.