# Bill Payment Validator
source: https://developer.mastercard.com/bill-payment-validator/documentation/index.md

## Overview {#overview}

This service is provided on behalf of the Mastercard Remote Payment and Presentment (RPPS) Bill Payment Processing Network, which supports consumer to business "push" bill payments (i.e. those which are not funded by debit/credit card transactions) in the U.S.

The service:

1. Allows RPPS Originators to request RPPS bill payment transaction validation prior to transmitting the corresponding RPPS payment (financial) transaction
2. Responds indicating if the payment transaction information passes/fails the specified Biller ID's RPPS payment processing edits (e.g. account masking, account check digits, payment amount limits, etc.)

Bill Payment Validator is a **pre-payment validation step** that sits before the RPPS batch payment file submission. It is an extension of RPPS payment processing but does not replace RPPS batch/file-based transaction processing. Use it to:

* **Reduce rejected RPPS transactions** before payment file submission --- validate biller account numbers and payment details before a consumer bill payment is processed
* **Prevent bill payment exceptions** caused by invalid payee information, inactive billers, or account number mismatches
* **Lower late-payment risk** by giving consumers immediate confirmation that their bill payment details are correct before the RPPS transaction is transmitted

Access is restricted to RPPS Originators who send consumer bill payments (e.g. Banks, Financial Institutions, FinTech Providers and Walk-In Payment Providers) to the RPPS network.

## How It Works {#how-it-works}

1. Consumer initiates bill payment instructions with a bank, financial institution, fintech provider, or walk-in payment provider (the RPPS Originator)
2. RPPS Originator submits a Bill Payment Validator request (`POST /isRoutingValid`) containing the consumer's bill payment transaction information (RPPS ID, Biller ID, Account Number, Transaction Amount)
3. Mastercard RPPS validates the information against the specified Biller ID's RPPS payment processing rules (account masking, check digits, amount limits, RPPS access controls, etc.)
4. Bill Payment Validator returns a `ResponseString` indicating pass (`Successful`) or fail (with specific error code)
5. RPPS Originator takes action based on the response --- transmitting the RPPS payment transaction on success, or notifying the consumer of the validation failure

Diagram overview

### Technical Context {#technical-context}

Bill Payment Validator operates as a synchronous REST API (single endpoint: `POST /isRoutingValid`) that integrates into an RPPS Originator's payment workflow. It uses **OAuth 1.0a** authentication and returns JSON responses. The validation engine runs against live RPPS biller data, so responses reflect actual biller configuration at the time of the request.

* **Protocol:** HTTPS REST (JSON)
* **Authentication:** OAuth 1.0a (no transport-level payload encryption required)
* **Endpoint:** `POST /billpayAPI/v1/isRoutingValid`
* **Response pattern:** HTTP 200 for all business outcomes; business result communicated via `ResponseString` field

## Next Steps {#next-steps}

* [Quick Start Guide](https://developer.mastercard.com/bill-payment-validator/documentation/getting-started/index.md) --- set up your Mastercard Developers project, get your sandbox credentials, and make your first API call
* [Use Cases](https://developer.mastercard.com/bill-payment-validator/documentation/use-cases/index.md) --- explore the four supported integration scenarios with endpoint mapping
* [API Reference](https://developer.mastercard.com/bill-payment-validator/documentation/api-reference/index.md) --- view the full OpenAPI specification
