June 19, 2024
Showing results for 
Search instead for 
Did you mean: 

How to design a reloadable rewards card program? Just exploring and getting started here!

How to design a reloadable rewards card program? Just exploring and getting started here!

New Contributor II

What i am trying to build is a rewards card for coffee shops- kinda like what starbucks has where it is a reloadable card. I don't need a physical customer card, just a virtual card but has rewards program. Do you know anything about the design of such programs? Any good resources for me to read?


Marqeta Staff
Marqeta Staff

Building a card program on Marqeta starts with understanding the use-case, and ultimately leads to working directly with our sales team to determine the correct 'construct' for your program. That bank-approved construct will be what dictates how the program is designed, but there are some general guidelines and best practices we can communicate up-front. We don't have this in one specific page on our documentation site, but there is a lot of good content between the Docs site and the main .com site.

Here's some examples of the high level overviews we have available both on the platform and for a rewards program:





Getting more specific, designing a rewards program, or any card program, ultimately boils down to a few of questions:


1. Who is the source of funds?

The source of funds matters because it will dictate how the card program is regulated, and it is the first step in understanding the flow of funds for the program. Are the funds only coming from the coffee shop company? If so, then it's a little more straight forward because the source is a corporate entity. When the source of funds is a consumer (like if they could load their own money onto the card), then there are more considerations. 


2. How is the card presented?

If the card is presented virtually (number is displayed on their device so that it can be manually keyed-in, aka card not present), then you will need to have a method of displaying the number. Having access to the full card number requires PCI certification. Displaying the card can be done with less PCI burden if you use our widgets for card presentment.

If the card is added to their digital wallet (typically Google or Apple), then you will need to have a method of getting the card into that wallet. There are different ways of provisioning digital wallet tokens, but which one you use will depend on your development team, as building in-app provisioning is more effort (but far more capable) than manual provisioning. 


3. How are approval decisions made?

Every time that an authorization is received, the decision to approve or decline that transaction will be made off of some criteria:

* The balance in the user's GPA (if not JIT funded)
* The velocity controls that apply to the user, card product, or program
* The JIT funding gateway (if applicable)

Which model you choose will be determined both by your team (do you want to build a JIT gateway?), and by Marqeta (are you eligible to use a JIT gateway for spend control?).



4. Are cards and users persistent, or one-time use? And is it 1:1 for users:cards?

For a rewards program, you'd usually have persistent users and cards, since they will be issued one card at the start that they will continue to use indefinitely. You'll also likely have one card per user, since there's no case/reason for someone to have more than one card.


If you'd like to discuss your use-case in more detail, feel free to reach out to our sales team through the website (https://www.marqeta.com/contact-us). Otherwise, please post up any specific questions that you have about the platform or the API and we'll do our best to answer!


New Contributor II

Thank you very much! The card I'm designing will be a virtual card, and the supplier of the funds will be the customer. Essentially a reloadable gift card presented in the mobile application. As for users ideally it will be 1 user to 1 card number (persistent num as it is not one time use), I don't think JIT will be needed as I'm using the card balance. Essentially prepaid. Approval is made based off existing card balance.