# Reference App
source: https://developer.mastercard.com/bill-payment-validator/documentation/reference-app/index.md

## Overview {#overview}

To use this API and any of the sample code found on this page, you'll first need to include the Bill Payment Validator SDK for the language you are using.

**Java**

```Java
<!-- https://mvnrepository.com/artifact/com.mastercard.api/billpayapi -->
<dependency>
    <groupId>com.mastercard.api</groupId>
    <artifactId>billpayapi</artifactId>
    <version>1.0.0</version>
</dependency>
```

**C#**

```C#
Install-Package MasterCard-BillpayAPI
```

**JavaScript**

```JavaScript
npm install mastercard-billpayapi --save
```

**PHP**

```PHP
composer require mastercard/billpayapi
```

**Python**

```Python
pip install mastercard-billpayapi
```

**Ruby**

```Ruby
gem install mastercard_billpayapi
```

## Reference Application using Java {#reference-application-using-java}

This reference application will guide you through the process of setup and integration of the Bill Payment Validator using Java.

This application is a stand-alone project that doesn't require any backend to do end-to-end testing.

[Bill Payment API Consumer Sample App](https://static.developer.mastercard.com/content/bill-payment-validator/uploads/BillPayApi-consume-rest-example.zip)

**Technologies Used**

* Java [JDK 1.8](https://www.java.com/en/download/)
* Apache [Maven 3.X](https://maven.apache.org/download.cgi)

**What you will need**

A development environment set up with your IDE of choice. Preferred IDE is [IntelliJ](https://www.jetbrains.com/idea/download).

* Java JDK 1.8
* Maven 3.0
* Built-in or external Tomcat server

**Authentication**

This reference application uses **OAuth 1.0a** (via the Mastercard oauth1-signer library) to authenticate requests. You will need:

* Your **Consumer Key** (from your Mastercard Developers project page)
* Your **`.p12` Signing Key file** (downloaded from your Mastercard Developers project)
* Your **key alias** and **key password**

Configure these in the application properties before running. The sandbox base URL is:

    https://sandbox.api.mastercard.com/billpayAPI/v1/isRoutingValid

**What you will Build**

A simple Spring Boot application that shows how to send a request and get a response for the Bill Payment Validator using Java code.

**What you will Learn**

The sample code helps you understand how to request the Bill Payment Validator and handle the response using Java code, including how to interpret the `ResponseString` field for successful and error outcomes.

## Next Steps {#next-steps}

* [SDK Reference](https://developer.mastercard.com/bill-payment-validator/documentation/sdk-reference/index.md) --- additional language code samples (C#, Node.js, PHP, Python, Ruby)
* [Testing](https://developer.mastercard.com/bill-payment-validator/documentation/testing/index.md) --- sandbox test data to validate your integration
* [API Basics](https://developer.mastercard.com/bill-payment-validator/documentation/api-basics/index.md) --- OAuth 1.0a authentication setup details
* [Code and Formats](https://developer.mastercard.com/bill-payment-validator/documentation/code-and-formats/index.md) --- error code reference for handling non-successful responses
