Discount API permissions

Hi Square team,

We’d like to request access to the Discount Codes API (DISCOUNT_CODES_READ and DISCOUNT_CODES_WRITE).

Use case: we have a private, internal staff app. Managers use it to give customers single-use voucher codes, either as a goodwill gesture after a complaint or as a social media giveaway. Each code is a fixed amount off (e.g. £5) or a percentage off. At the moment we create these by hand in the Square Dashboard and copy them into our app. We’d like the app to create each code through the API when a manager issues it.

Before we build anything, could you confirm:

  1. Can codes created through the Discount Codes API be redeemed on the in-person Square POS (the customer shows the code at the till), or only at Square Online checkout?
  2. Can each code be single-use with an expiry date?
  3. Can we check through the API whether a code has been redeemed?

Thanks very much!

Welcome to the Developer Forum and thanks for your interest in this alpha feature!

I’ve followed up with you in a separate DM requesting more information to initiate the process. Please keep in mind that access is granted case by case and functionality may change and support isn’t guaranteed. In the meanwhile, please find the answers below:

  1. Yes. Discount codes created through the Discount Codes API are intended to be omnichannel and can be redeemed in Square POS, not only at Square Online checkout, as long as the code is tied to an eligible Catalog pricing rule.
  2. Yes, you can make codes single-use by setting max_redemptions: 1, and you can set an expiration with expires_at.
  3. Yes, you should use the Discount Codes API redemption/search flow to track redemption state.

Hope this helps!