# Payment Enablement Bundle
source: https://developer.mastercard.com/open-finance-us/documentation/products/pay/payment-enablement-bundle/index.md

The Payment Enablement Bundle (PEB) consolidates several individual API services into a single combined endpoint capable of returning variable responses based on input parameters. PEB is designed to help you build streamlined experiences for different payment use cases, such as direct ACH payments, recurring payments, secure account opening, credit-decisioning, loan funding, and loan servicing.

Integrating with the Payment Enablement Bundle minimizes your development workload and reduces the number of API requests required when requesting data from multiple services. A single call to PEB can optionally return data from any or all of the following API services, depending on input parameters:

* [Account Simple Details](https://developer.mastercard.com/open-finance-us/documentation/products/manage/account-aggregation/index.md#account-simple-details-asd)
* [Account Owner Verification](https://developer.mastercard.com/open-finance-us/documentation/products/pay/verification-account-owner/index.md)
* [Account Balance](https://developer.mastercard.com/open-finance-us/documentation/products/pay/account-balance/index.md)
* [Account ACH Details](https://developer.mastercard.com/open-finance-us/documentation/products/pay/verification-money-transfer/index.md)

Tip: Fast ACH and Fast AO are encouraged when using Payment Enablement Bundle. Please contact your Client Success Manager to evaluate if FastACH and Fast AO are compatible with your integration use case.

## Get Payment Enablement Data {#get-payment-enablement-data}

### Prerequisites {#prerequisites}

* Generate the required credentials to call the API.
* Generate an [Access Token](https://developer.mastercard.com/open-finance-us/documentation/quick-start-guide/index.md#step-1---create-access-token).
* Create a [test customer](https://developer.mastercard.com/open-finance-us/documentation/customer-records/index.md#test-customers).
* Generate a [Mastercard Data Connect URL](https://developer.mastercard.com/open-finance-us/documentation/connect/generate-2-connect-url-apis/index.md) and link customer accounts.

Note: For you to successfully call the Payment Enablement endpoint, please work with your Client Success Manager to enable the following for your Partner ID:

* Payment Enablement Bundle
* Account Balance

Call the Payment Enablement Bundle endpoint and specify the relevant values in the `include` query parameter for the API to return the data you need. Account simple details will always be included in your request regardless of your input in the request.

|                                           Query Parameter Value                                            |                                                                                                                                                                                                                                    Description                                                                                                                                                                                                                                    |
|------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `include=accountIdentity`                                                                                  | Calls the Account Owner Verification endpoint and retrieves the account owner details for an account holder from an institution.                                                                                                                                                                                                                                                                                                                                                  |
| `include=balanceDetails`                                                                                   | Calls the Account Balance endpoint and retrieves the latest available and cleared account balances for a customer. Use the `balance_cache_interval` field (in minutes) to control whether to return a cached balance or fetch a real-time balance from the financial institution. We recommend setting `balance_cache_interval` at 30 minutes or greater for optimal performance (this means that live data will only be fetched if the cached data is more than 30 minutes old). |
| `include=paymentInstruction`                                                                               | Calls the Get Account ACH Details endpoint and retrieves a customer's ACH details (routing number and account number) for a specified account. Includes a TAN flag that indicates if the Financial Institution leverages a Tokenized Account Number (TAN) for payment initiation. If the account is verified manually using our microdeposit service Account Validation Assistant (AVA), the account is using the real account number and will never be represented by a TAN.     |
| `include=accountIdentity,balanceDetails,paymentInstruction` or `include=` (query parameter value is empty) | Calls Account Owner Verification, Account Balance and Get Account ACH Details. When you do not include any query parameter value, you will receive all four data elements (Account Simple Details, Account Owner Details, Balance and ACH Details) in the API response, which will result in three billable events.                                                                                                                                                               |

Diagram peb

### Fetch Data by Institution Login ID {#fetch-data-by-institution-login-id}

* This endpoint returns all accounts associated with the `institutionLoginId` provided. `institutionLoginId` is a unique identifier for the customer's institution login credentials. To learn more about `institutionLoginId`, see [Understanding Key Account Identifiers](https://developer.mastercard.com/open-finance-us/documentation/products/manage/account-aggregation/understanding-account-data/index.md#understanding-key-account-identifiers).  
* Include the optional query parameters - `accountIdentity`, `balanceDetails`, and `paymentInstruction` - according to the data you wish the API to return. The response includes all the data you have requested and will be charged per account and per query parameter value (`accountIdentity`, `balanceDetails` and `paymentInstruction`).
* We recommend setting `balance_cache_interval` at 30 minutes or greater for optimal performance.


API Reference: `GET /aggregation/v1/paysuite/customers/{customerId}/institutionLogins/{institutionLoginId}/accounts`

### Fetch Data by Account ID {#fetch-data-by-account-id}

* This endpoint returns account details for a single account based on the `accountId` provided . `accountId` is a Mastercard assigned unique identifier for the account and is used for account data retrieval. To know more about `accountId`, see [Understanding Key Account Identifiers](https://developer.mastercard.com/open-finance-us/documentation/products/manage/account-aggregation/understanding-account-data/index.md#understanding-key-account-identifiers).
* Include the optional query parameters - `accountIdentity`, `balanceDetails`, and `paymentInstruction` - according to the data you wish the API to return. The response includes all the data you have requested and will be charged per account and per query parameter value (`accountIdentity`, `balanceDetails` and `paymentInstruction`).
* We recommend setting `balance_cache_interval` at 30 minutes or greater for optimal performance.


API Reference: `GET /aggregation/v1/paysuite/customers/{customerId}/accounts/{accountId}`

## Testing {#testing}

Refer to the Bank Account Profiles listed in the [Test Profiles](https://developer.mastercard.com/open-finance-us/documentation/integration-and-testing/test-the-apis/index.md) section to test the Payment Enablement Bundle.

### Using the PEB Postman Collection {#using-the-peb-postman-collection}

To test the Payment Enablement Bundle without writing any code, import the PEB Postman Collection to explore and test the endpoints.

1. To get started using the Postman collection:

   * Create a [Postman account](https://identity.getpostman.com/signup?addAccount=1), and you can optionally download the [Postman desktop application](https://www.postman.com/downloads/).

   * Make sure you have a valid `partnerId`, `partnerSecret`, and `appKey`. See [Prerequisites](https://developer.mastercard.com/open-finance-us/documentation/products/pay/payment-enablement-bundle/index.md#get-payment-enablement-data) to learn how to get these credentials.

   * Run the requests in the **Quick Start** folder of the [Mastercard Open Finance Postman collection](https://developer.mastercard.com/open-finance-us/documentation/integration-and-testing/postman-collection/index.md) (review the [Quick Start Guide](https://developer.mastercard.com/open-finance-us/documentation/quick-start-guide/index.md) if necessary).

2. Download
   [openbanking-us-peb.postman_collection.json](https://static.developer.mastercard.com/content/open-finance-us/swagger/openbanking-us-peb.postman_collection.json) (25KB) and
   [openbanking-us-peb.postman_environment.json](https://static.developer.mastercard.com/content/open-finance-us/swagger/openbanking-us-peb.postman_environment.json) (660B).

3. In Postman, click **Import** and import *openbanking-us-peb.postman_collection.json* and *openbanking-us-peb.postman_environment.json*.

4. Click **Environments** and update the Mastercard Open Finance PEB US APIs Environment with your `partnerId`, `partnerSecret`, `appKey`, and the `customerId`.

![Add environment variables](https://static.developer.mastercard.com/content/open-finance-us/uploads/peb-environment-postman_1.png)
5. Click **Collections** to view the endpoints and send requests. Make sure Mastercard Open Finance PEB US APIs Environment (located on the top right) is selected when you send requests.
![Send Request](https://static.developer.mastercard.com/content/open-finance-us/uploads/send-peb-request_1.png)

## Billing {#billing}

The following table lists the billing details for Payment Enablement Bundle:

|                  API                  |                                                               Billing                                                               |
|---------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------|
| Account Simple Details                | Available by default and is free to use.                                                                                            |
| Request includes `accountIdentity`    | Billable for each successful API call. You must include the Account Owner Verification endpoint in your product enrollment request. |
| Request includes `balanceDetails`     | Billable for each successful API call. You must include the Account Balance endpoint in your product enrollment request.            |
| Request includes `paymentInstruction` | Billable for each successful API call. You must include the Get Account ACH Details endpoint in your product enrollment request.    |

For any billing questions, contact your Sales Representative or Client Success Manager.
