# 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 com.mastercard.api billpayapi 1.0.0 ``` **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