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

The Payment Enablement Bundle (PEB) consolidates several individual Open
Finance services into a single endpoint that can return variable responses
based on input parameters. Use PEB to build streamlined experiences for
payment use cases such as direct payments, recurring payments, secure account
opening, credit decisioning, loan funding, and loan servicing.

Integrating with PEB minimises your development workload and reduces the
number of API requests you need to make when retrieving data from multiple
services. A single call to PEB can return data from any or all of
the following services, depending on input parameters:

* Basic account details (always included) - a summary of the account including name, last aggregated balance, type, status, currency, and ownership. This is a subset of the data returned by [Get Customer Account](https://developer.mastercard.com/open-finance-au/documentation/access-and-config/accounts/index.md).
* [Account Owner](https://developer.mastercard.com/open-finance-au/documentation/products/verification-account-owner/index.md)
* [Account Balance](https://developer.mastercard.com/open-finance-au/documentation/products/account-balance/index.md)
* [Money Transfer Details](https://developer.mastercard.com/open-finance-au/documentation/products/money-transfer-details/index.md) (BSB and account number)

## When to Use Payment Enablement Bundle {#when-to-use-payment-enablement-bundle}

Choose PEB when you need more than one of the bundled data points for the
same account in a single workflow - for example, when initiating a Pay by
Bank payment where you need the account owner, the available balance, and
the money transfer details all at once.

If you only need a single data point, call the dedicated endpoint instead.
See [Payment Enablement](https://developer.mastercard.com/open-finance-au/documentation/usecases/payment-enablement/index.md)
for an overview of the available integration options.

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

### Prerequisites {#prerequisites}

* Generate the credentials required to call the APIs. See the [Quick Start Guide](https://developer.mastercard.com/open-finance-au/documentation/quick-start-guide/index.md).
* Generate an [access token](https://developer.mastercard.com/open-finance-au/documentation/onboarding/index.md#authentication).
* The customer has completed a [Data Connect](https://developer.mastercard.com/open-finance-au/documentation/connect/index.md) flow to link their accounts and grant data sharing consent.
* Get a consent receipt ID (via [Consent Webhooks](https://developer.mastercard.com/open-finance-au/documentation/consent/consent-notifications/index.md) or [Consent APIs](https://developer.mastercard.com/open-finance-au/documentation/consent/consent-apis/index.md)).

Note: To call the Payment Enablement Bundle endpoints, work with your Customer
Success Manager to enable the following services for your Partner ID:

* Payment Enablement Bundle
* Account Balance

### Request Parameters {#request-parameters}

Call a Payment Enablement Bundle endpoint and use the `include` query
parameter to specify the data you need. Account details are always returned,
regardless of the value of `include`.

|                         `include` query parameter value                         |                                                                                                                                                                                                                  Description                                                                                                                                                                                                                  |
|---------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `accountIdentity`                                                               | Calls Account Owner and returns the names and addresses of the account owner from the financial institution.                                                                                                                                                                                                                                                                                                                                  |
| `balanceDetails`                                                                | Calls Account Balance and returns the latest available and cleared balances. Use the `balance_cache_interval` query parameter (in minutes) to control whether a cached balance is returned or a fresh balance is fetched from the financial institution. We recommend setting `balance_cache_interval` to 30 minutes or greater for optimal performance - a live balance is only fetched when the cached balance is older than this interval. |
| `paymentInstruction`                                                            | Calls Money Transfer Details and returns the customer's BSB and account number for the specified account.                                                                                                                                                                                                                                                                                                                                     |
| `accountIdentity,balanceDetails,paymentInstruction` or `include=` (empty value) | Calls all three services. When you do not include a value, the response contains all four data elements (account details, account owner, balance, and money transfer details), which results in three billable events.                                                                                                                                                                                                                        |

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

This endpoint returns all accounts associated with the supplied
`institutionLoginId`. The `institutionLoginId` is the unique identifier for
a set of accounts linked under the same set of institution credentials. See
[Customer Accounts](https://developer.mastercard.com/open-finance-au/documentation/access-and-config/accounts/index.md#key-account-record-fields)
for more on key account identifiers.

Use the optional `include`, `balance_cache_interval`, and `accountIdentityInsights`
query parameters to control the data returned.

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

<br />

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

This endpoint returns details for a single account, based on the supplied
`accountId`. The `accountId` is the unique identifier Mastercard assigns to
the account and is used for account data retrieval. See
[Customer Accounts](https://developer.mastercard.com/open-finance-au/documentation/access-and-config/accounts/index.md#key-account-record-fields)
for more on key account identifiers.

Use the optional `include`, `balance_cache_interval`, and `accountIdentityInsights`
query parameters to control the data returned.

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

## Testing {#testing}

Use the test profiles listed in
[Test the APIs](https://developer.mastercard.com/open-finance-au/documentation/integration-and-testing/test-the-apis/index.md)
to exercise the Payment Enablement Bundle endpoints in the Sandbox.
