# Quick Start Guide source: https://developer.mastercard.com/rpps-biller-maintenance-service/documentation/getting-started/index.md ## Before You Start {#before-you-start} **Prerequisites checklist** --- have the following ready before proceeding: * [ ] Your organization is a registered RPPS customer (RPPS agreements and enrollment forms signed and returned) * [ ] A Mastercard Product Delivery Manager or CIS Implementation Manager has been assigned to you * [ ] Mastercard Developers account created at [developer.mastercard.com](https://developer.mastercard.com) * [ ] RPPS Biller Maintenance API project created in Mastercard Developers (Consumer Key and Sandbox Signing Key downloaded) * [ ] `.p12` Sandbox Signing Key file stored securely (you need the file path, key alias, and key password) * [ ] Python 3.8 or later, or `curl`, available to make the first call **Requirements** * Your organization must be a registered RPPS customer to use the RPPS Biller Maintenance API. * The RPPS Biller Maintenance API manages RPPS Billers only. It does not support card payment networks. **Used by** Licensed RPPS Concentrators (banks, financial institutions, and fintech providers that support consumer bill payments). **Pricing** There are no fees for using this service. ## Good to Know {#good-to-know} To start using the RPPS Biller Maintenance API, set up a project in Mastercard Developers, which creates the necessary keys. Then make your first call in the Sandbox and complete certification testing in the Mastercard Test Facility (MTF) before you move to Production. Sandbox configuration cannot begin until you meet the eligibility requirements. For the base URL of each environment, see [API Basics: Environments](https://developer.mastercard.com/rpps-biller-maintenance-service/documentation/api-basics/index.md#environments). ## Sandbox Setup Steps {#sandbox-setup-steps} The following steps assume you have already completed and returned the Mastercard RPPS agreements and enrollment forms. 1. **\[Entry criteria: signed RPPS agreements received by Mastercard\]** After Mastercard receives your signed agreements and enrollment forms, it assigns a Product Delivery Manager or CIS Implementation Manager to you, based on available resources. 2. Create a Mastercard Developers project and the necessary Sandbox keys by clicking **Create Project**. 3. For **Select an API** , choose **RPPS Biller Maintenance API**. 4. Download the Sandbox Signing Key and confirm that you have stored the file. You receive a notification that the project was created. 5. Copy the Consumer Key from your project page using **Actions \> Copy Consumer Key**. 6. Send the Sandbox Consumer Key to your Product Delivery Manager or CIS Implementation Manager to start Sandbox configuration. Allow 5-7 business days for configuration. Mastercard notifies you when configuration is complete. 7. **\[Entry criteria: Mastercard confirms that Sandbox configuration is complete\]** Make your first Sandbox call by following [First Sandbox Call](https://developer.mastercard.com/rpps-biller-maintenance-service/documentation/getting-started/index.md#first-sandbox-call), then complete all onboarding steps in the implementation project plan from your Implementation Manager. 8. **\[Entry criteria: implementation plan steps completed\]** Complete attended certification testing in MTF. The Implementation Manager provides the test cases, which are also described in [Testing](https://developer.mastercard.com/rpps-biller-maintenance-service/documentation/testing/index.md). ## First Sandbox Call {#first-sandbox-call} After Sandbox configuration is confirmed, make your first call. This example retrieves the details of the Sandbox test Biller `0123456789` with GET `/biller/{biller_id}`, which needs no request body. ### Authentication Setup {#authentication-setup} The RPPS Biller Maintenance API uses **OAuth 1.0a**. You need: | Credential | Where to find it | |-------------------------|----------------------------------------------------------------------------| | Consumer Key | Mastercard Developers project page \> **Actions** \> **Copy Consumer Key** | | `.p12` Signing Key file | Downloaded during project creation | | Key alias | `keyalias` (default for Sandbox) | | Key password | `keystorepassword` (default for Sandbox) | For more about OAuth 1.0a, see [API Basics](https://developer.mastercard.com/rpps-biller-maintenance-service/documentation/api-basics/index.md). ### Generate the OAuth 1.0a Header {#generate-the-oauth-10a-header} Every request needs an `Authorization` header signed with your keys. Install the Mastercard OAuth 1.0a signer and the `requests` library: ```bash pip install mastercard-oauth1-signer requests ``` The script in the next section uses the signer to generate the header and send the request. ### Make the Request {#make-the-request} Save the following script as `first_call.py`. Replace the Consumer Key and the `.p12` file path with your own values, then run `python first_call.py`. ```python import requests import oauth1.authenticationutils as authenticationutils from oauth1.oauth import OAuth consumer_key = "" signing_key = authenticationutils.load_signing_key("/path/to/sandbox-signing-key.p12", "keystorepassword") uri = "https://sandbox.api.mastercard.com/billpay/biller-maintenance-sandbox/biller/0123456789" auth_header = OAuth.get_authorization_header(uri, "GET", None, consumer_key, signing_key) response = requests.get(uri, headers={"Authorization": auth_header, "Accept": "application/json"}) print(response.status_code) print(response.text) ``` To use `curl` instead, print `auth_header` from the script and send it within a few minutes, because the signature contains a timestamp: ```bash curl "https://sandbox.api.mastercard.com/billpay/biller-maintenance-sandbox/biller/0123456789" \ -H "Authorization: $AUTH_HEADER" \ -H "Accept: application/json" ``` ### What Success Looks Like {#what-success-looks-like} A successful call returns HTTP `200` and the Biller details. The Sandbox returns a mock response like the following, shortened here for readability: ```json { "effectiveDate": "2030/12/31", "rppsBiller": { "billerInfo": { "rppsId": "01234567", "billerId": "0123456789", "billerName": "ABC Lawn Service", "batchName": "ABC Lawn", "billerClass": "INS", "billerType": "CRE", "billerStatus": "A" }, "addresses": [ { "key": 123456, "type": "Sta", "address1": "PO BOX 1", "city": "O'FALLON", "state": "MO", "postalCode": "63368-0000" } ], "masks": [ { "key": 654321, "maskFormat": "##########", "maskDescriptions": ["auto"] } ], "akas": [ { "key": 987612, "name": "Capital" } ] } } ``` Confirm that: * The HTTP status is `200`. * `rppsBiller.billerInfo.billerId` is `0123456789`. * The response contains `addresses`, `masks`, and `akas` arrays, each with a `key`. If you receive HTTP `401`, check your Consumer Key, key file, alias, and password. If you receive HTTP `403` with reason code `BPBMSAPI_ERR_0072`, your Client ID is not yet linked to your Concentrator, so confirm with your Implementation Manager that Sandbox configuration is complete. For all codes, see [Code and Formats](https://developer.mastercard.com/rpps-biller-maintenance-service/documentation/code-and-formats/index.md). To add a Biller next, use the POST `/biller-request` example in [API Basics](https://developer.mastercard.com/rpps-biller-maintenance-service/documentation/api-basics/index.md#request-format). ## Moving to Production {#moving-to-production} ### Entry/Exit Criteria for Each Stage {#entryexit-criteria-for-each-stage} | Stage | Entry Criteria | Exit Criteria | |------------------------|----------------------------------------------------------------|--------------------------------------------------------------------------------| | **Sandbox Setup** | RPPS agreements signed; Mastercard Developers project created | Mastercard confirms Sandbox configuration complete (allow 5-7 business days) | | **MTF Certification** | Sandbox configuration complete; implementation plan steps done | All attended test cases provided by Implementation Manager pass | | **Production Request** | MTF certification complete; Go Live date agreed | Production Access approved in Mastercard Developers; Production keys generated | | **Production Enabled** | Production keys provided to Implementation Manager | Mastercard confirms Production configuration complete | ### Production Request: Required Artifacts {#production-request-required-artifacts} When submitting your **Request Production Access** in Mastercard Developers, have the following ready: * Signed RPPS contract amendment (confirming Production eligibility) * Agreed Go Live date with your Implementation Manager * Completed MTF certification (all test cases passed) * Production Consumer Key and `.p12` Signing Key (generated after approval) ### Production Steps {#production-steps} 9. Agree on a Go Live date with the Implementation Manager. 10. On your project page, click **Request Production Access** to move your project to Production and create the Production keys. After your request is approved, provide the keys to the Implementation Manager. ### Escalation Path {#escalation-path} If the documented **5-7 business day** Production configuration SLA is exceeded, or if Production enablement is delayed: 1. Contact your assigned **CIS Implementation Manager** directly (contact details provided in your implementation project plan) 2. If unresolved within 2 additional business days, escalate to your **Product Delivery Manager** 3. For general support outside of assigned contacts, use the [Get Help](https://developer.mastercard.com/rpps-biller-maintenance-service/documentation/support/index.md) button on the Support page, referencing your project name and the date configuration was initiated ## Next Steps {#next-steps} * [API Basics](https://developer.mastercard.com/rpps-biller-maintenance-service/documentation/api-basics/index.md): OAuth 1.0a authentication, TLS, environments, and client generation. * [Use Cases](https://developer.mastercard.com/rpps-biller-maintenance-service/documentation/use-cases/index.md): add, edit, deactivate, and retrieve Billers, and check work request status. * [Testing](https://developer.mastercard.com/rpps-biller-maintenance-service/documentation/testing/index.md): positive and negative MTF test scenarios. * [API Reference](https://developer.mastercard.com/rpps-biller-maintenance-service/documentation/api-reference/index.md): full OpenAPI specification and environment URLs.