# Support
source: https://developer.mastercard.com/commercial-event-notifications/documentation/support/index.md

## Frequently Asked Questions {#frequently-asked-questions}

### Getting Started {#getting-started}

Engage with your Mastercard representative to discuss integrating your application to this API. If you do not have a contact at Mastercard, click [Get Help](https://developer.mastercard.com/commercial-event-notifications/documentation/support/index.md#get-help) at the end of this page to request that someone contact you to discuss the implementation process. Mastercard provides a [Reference Application](https://developer.mastercard.com/commercial-event-notifications/documentation/developer-tools/reference_application_tutorial/index.md), which contains working code written in Java for all Commercial Event Notifications API calls.  
You can use the reference application as a starting point for your integration. Mastercard recommends using Insomnia with the Mastercard Developer OAuth Signer add-on for making test calls.  
For more information about test data, refer to [Integration and Testing](https://developer.mastercard.com/commercial-event-notifications/documentation/integration-and-testing/index.md). Create a project on Mastercard Developers and generate your Sandbox credentials.  
Refer to the [Quick Start Guide](https://developer.mastercard.com/commercial-event-notifications/documentation/quick-start-guide/index.md) and [API Basics](https://developer.mastercard.com/commercial-event-notifications/documentation/api-basics/index.md). The production environment contains the latest production API release. You can request approval to obtain the production keys.  
Refer to the [Quick Start Guide](https://developer.mastercard.com/commercial-event-notifications/documentation/quick-start-guide/index.md) and [API Basics](https://developer.mastercard.com/commercial-event-notifications/documentation/api-basics/index.md). A sandbox key is intended only for testing purposes. In the sandbox environment, you can make any changes you want. A production key gives you access to the live production environment. Any changes you make in the production environment will affect customers and need to be carefully considered.  
For information about environments, refer to [API Basics](https://developer.mastercard.com/commercial-event-notifications/documentation/api-basics/index.md). Yes, you must already be onboarded with either [In Control for Commercial Payments](https://developer.mastercard.com/product/in-control-for-commercial-payments) or [Business Payment Controls](https://developer.mastercard.com/product/business-payment-controls) before integrating with Commercial Event Notifications API. A Virtual Card Number (VCN) is a credit card number, which is generated dynamically for a particular payment purpose. It is created with a limited validity period and controls on how it should be spent. Corporate buyers can create virtual cards to pay supplier invoices and cover business expenses.

### About Commercial Event Notifications {#about-commercial-event-notifications}

Commercial Event Notifications applies rate limiting to inbound API requests and optionally to outbound Push Notifications.

**Inbound API Requests**   

Mastercard limits the rate at which users can access the service to protect the services offered by API providers. The Commercial Event Notifications rate limit is 500 requests per second (RPS). In certain circumstances, more restrictive rate limits may be applied. Consult with your technical account manager to confirm whether the restrictive rate-limiting policy applies to your API integration.

**Outbound Push Notifications**   

Commercial Event Notifications also supports configurable rate limiting for outbound Push Notifications delivered to customer webhook endpoints. When configured, a Transactions Per Second (TPS) limit controls the rate of outbound Push HTTP requests sent to the webhook endpoint. Notifications exceeding the configured rate are throttled and processed subsequently. For more information about outbound Push Notification rate limiting, see [Rate Limiting for Push Notifications](https://developer.mastercard.com/commercial-event-notifications/documentation/parameters/notifications/notifications/index.md#rate-limiting-for-push-notifications).
The average response time for a Commercial Event Notifications API request is less than 5 seconds.

### Creating and Managing Subscriptions {#creating-and-managing-subscriptions}

You create a subscription to register to receive notifications within a specific scope. Once you have created an active subscription, you will receive notifications that match that subscription.  
For information about subscriptions, refer to [Use Cases](https://developer.mastercard.com/commercial-event-notifications/documentation/use_cases/index.md). By default, a subscriber can create up to 500 subscriptions. If a higher subscription limit is required, the subscriber may request an exception by contacting the Support team.  
For information about subscriptions, refer to [Use Cases](https://developer.mastercard.com/commercial-event-notifications/documentation/use_cases/index.md).

### Field Mappings and Filter Specifications {#field-mappings-and-filter-specifications}

Field mappings are fields that occur in a notification that may be used to create filter specifications to constrain the notifications that you will receive.  
For more information about field mappings, refer to [Field Mappings](https://developer.mastercard.com/commercial-event-notifications/documentation/parameters/fieldmappings/index.md). You construct a filter specification from field mappings, logical operators and expected values, and provide that in the payload when creating a subscription to determine which notifications you will receive.

### Receiving Notifications {#receiving-notifications}

Once you have set up a subscription, the system will generate notifications for events that match your filter criteria and make them available to you. The primary way to obtain the notifications is for Mastercard to send them to you at the URL that you specified when you enrolled. If needed, you can also retrieve notifications for a limited time period after the notification was created, by requesting them through an API call that specifies a date/time range.  
For more information about Notifications, refer to [Notifications](https://developer.mastercard.com/commercial-event-notifications/documentation/parameters/notifications/notifications/index.md). If the service that you have set up will be unavailable for an extended time period, you should deactivate your subscriptions, to avoid unnecessary retransmission attempts from Mastercard to your service. The following fields help you ensure uniqueness for each event type:

* **BPC_PAYMENT_AUTHORIZATION** : Use a combination of the following fields from the notification payload: `systemTraceAuditNumber`, `transactionInformation.acquirerInstitutionIdCode`, `transactionInformation.forwardingInstitutionIdCode`, and `transactionInformation.dateTime`.  
  This set of fields will help you distinguish and track individual authorization events.
* **BPC_CLEARING** : Use `transactionInformation.clearingTransactionId` to distinguish between individual BPC Clearing events.
* **PAYMENT_AUTHORIZATION** : Use a combination of the following fields from the notification payload: `systemTraceAuditNumber`, `banknetReferenceNumber`, `transactionAmount`, `transmissionRawDate`, and `transmissionRawTime`.  
  This set of fields will help you distinguish and track individual In Control Authorization events.
* **CLEARING** : Use `clearingTransactionId` to distinguish between individual In Control Clearing events.

For more information about event notifications, refer to [Notifications](https://developer.mastercard.com/commercial-event-notifications/documentation/parameters/notifications/notifications/index.md).
All notifications returned by our API are in Coordinated Universal Time (UTC). This standardized approach ensures consistency for all users, regardless of their geographic location.  
For more information, refer to [GET /notifications API](https://developer.mastercard.com/commercial-event-notifications/documentation/parameters/index.md). While typically a single notification is dispatched, multiple notifications destined for the same webhook endpoint are grouped into batches. The scheduler operates with a 10 second interval, and due to the near-real-time nature of notifications, a small number may remain in a 'PENDING' state. In such instances, subsequent notifications for the same endpoint will be integrated into the existing batch.  
For more information on delivery methods, refer to [Notification Delivery Modes](https://developer.mastercard.com/commercial-event-notifications/documentation/parameters/notifications/notifications/index.md#notification-delivery-modes).

### Troubleshooting API Calls {#troubleshooting-api-calls}

You need to check the HTTP response status to determine if your request has succeeded or failed.

* If you receive an HTTP error status, then your call has failed. Review the error status and payload content to determine how to correct the error. The status will make clear if the error is temporary and the request can be retried later, or if it is permanent and requires a fix to be made before retrying.
* If you receive an HTTP success response, then your API call has succeeded and the response payload content, if present, will contain the results of your action.  

For more information about a successful call, refer to [What success looks like](https://developer.mastercard.com/commercial-event-notifications/documentation/quick-start-guide/index.md#what-success-looks-like).
Yes, if the Mastercard server received an error code, it will continue to resend the notification for 24 hours.

### Contact support {#contact-support}

Contact Mastercard Commercial support to be enrolled in Mastercard's Commercial Portal Authentication and Entitlements (CPAE) identity service.

#### Phone {#phone}

* In the U.S. region, 1-800-288-3381, Option 4
* Outside the U.S. region, 1-636-722-6636, Option 4

## Get Help {#get-help}

### Contact us for technical support. {#contact-us-for-technical-support}

