# Reference Application
source: https://developer.mastercard.com/issuer-enrollment/documentation/reference-app/index.md

The reference application is a simple Spring Boot Application created using Java spring boot and maven open-API client plugin. It provides API Client capabilities with OAuth 1.0a and JWE based encryption/decryption for accessing Mastercard [Issuer Enrollment](https://developer.mastercard.com/issuer-enrollment/documentation/api-reference/index.md) service endpoints in the Sandbox environment.

You can either re-use or take code references for your implementation.
>
> #### What you will learn: {#what-you-will-learn}
>
> * How to use the reference application?
> * How to configure your application for the Sandbox environment?
> * How to test your reference application?

## Pre-requisites {#pre-requisites}

1. Java 17

   * Download the [appropriate JDK](https://www.oracle.com/in/java/technologies/downloads/) for your platform.
   * Make sure you have set the JAVA_HOME environment variable pointing to your JDK installation.
   * Or have the java executable on your PATH.
   * Check this [Oracle Documentation](https://docs.oracle.com/cd/E19182-01/821-0917/inst_jdk_javahome_t/index.html) for more information.
2. Maven 3.6.0+

   * For Windows - [Download Maven](https://maven.apache.org/download.cgi) \& [Install](https://maven.apache.org/install.html).   
   * For Mac - *brew install maven* (Using [brew](https://brew.sh/) package manager)
3. IDE of your choice:   

   * [Eclipse](https://www.eclipse.org/downloads/)   
   * [IntelliJ IDEA](https://www.jetbrains.com/idea/download/#section=mac)   
   * [VS Code](https://code.visualstudio.com/download)
4. If your organization uses internal artifact repositories for obtaining dependencies you can
   refer to this [documentation](https://maven.apache.org/guides/mini/guide-multiple-repositories.html) to make sure you are set up.

5. An account on [Mastercard Connect](https://www.mastercardconnect.com/) with access to *Mastercard Checkout Solutions onboarding* app with at least one project enabled for Click to Pay program.
   You can follow this [Onboarding](https://developer.mastercard.com/issuer-enrollment/tutorial/issuer-onboarding-click2pay/index.md) guide.

## Technologies Used {#technologies-used}

* [Spring Boot](https://spring.io/projects/spring-boot)
* [Apache Maven](https://maven.apache.org/)
* [OpenAPI Generator 7.9.x](https://openapi-generator.tech/)

## Get the Source Code {#get-the-source-code}

* Download the reference-app code [issuerenrollment-reference-app.zip](https://static.developer.mastercard.com/content/issuer-enrollment/ref-app/issuerenrollment-reference-app.zip) (3MB), and unzip it locally.   
* In the root directory of the application, follow the **README.md** file to configure and run the application.
