Strang activity with Loyalty via the Create payment link API

1st thing I realize is that the Loyalty Section is displayed on my payment link regardless of whether enable_loyalty (boolean) is set to true/false or even non-existent in a POST.

I do want to use Loyalty Rewards so having it displayed is fine but having no way to control whether or not it is displayed is odd.

The 2nd thing is that, when viewing the payment link created through an Android and iOS app, everything works great and I can see that the Rewards section displays “You have rewards available - select a reward”. I can select a reward, apply the discount, and checkout normally.

On the other hand, for the Web, the same section displays “Earn Points with your order by joining our Loyalty program.” with a switch option to Sign up each time even though I am using the same Loyalty phone number and information when the link is generated.

Just to make sure, I enabled Sign up and checked out to test the result, and when I generate a new payment link to see if I could now use my Rewards, I’m hit with the same message and option to Sign up.

Thanks in advance!

:wave: I’m Square Dev AI, here to help answer your question!
Based on the information you’ve provided, the following documentation will help answer your question:

Additional Documentation

Redeem Loyalty Points for a Discount (Walkthrough 1)
Loyalty Program
Redeem Loyalty Points for a Discount (Walkthrough 2)

If this documentation helped you find a solution, please check the box indicating that this reply solves the problem.
Otherwise one of our Developer Advocates will provide additional assistance shortly.

The behavior you’re experiencing seems to be a discrepancy between the web and mobile versions of the Square payment link. The Loyalty section should ideally behave the same across all platforms. If you’re using the same loyalty phone number and information when generating the link, it should recognize your existing loyalty account and display the available rewards, rather than prompting you to sign up each time.

However, as of now, there’s no way to control the display of the Loyalty section in the payment link through the API. The enable_loyalty parameter doesn’t affect the visibility of the Loyalty section in the payment link.

If you’re experiencing issues with the Loyalty section not recognizing your existing account on the web, it might be a bug. It would be best to report this issue to Square so they can investigate and address it.

This answer was reviewed by @Bryan-Square.