Push Notifications
Our Push Notifications API allows you to conveniently automate your status tracking for all of your API-generated payments and money requests. Instead of having to make repeated manual request calls to get the latest status, we'll automatically notify you as soon as your payments progress to the next status.
To get started, please contact your BMO representative.
Overview
| Supported APIs: | All Payments APIs |
| Delivery methods: | API Webhook Text message |
| Limits: | Up to 10 phone numbers/API operation Up to 5 email addresses/API operation |
| Speed: | Instant notifications (trigger status changes are customizable) |
A closer look
Convenient and cost-efficient – Avoid repeated calls to check the latest payment status manually. Instead, let us automatically notify you in real time when something changes.
Tailored to your needs – For each API operation, tell us which status changes you’re interested in and how you would want to receive our notifications. You can choose between real-time API Webhook, email, text message or any combination of the three.
Targeted distribution – To make sure the right people in your company get our updates, you can provide us up to 10 phone numbers and 5 email addresses we should use. For additional targeting of specific teams, they can be different for each API operation (e.g. Send wire payments vs. Collect Fedwire drawdown).
Endpoints Summary
Provide access token
Before we can interact with your application, we need to request an access token from your OAuth server. Here’s the process:
- Step 1: We contact your OAuth endpoint to request an access token.
- Step 2: Your OAuth server returns an access token to BMO.
- Step 3: We validate the signature with your OAuth server.
- Step 4: Your OAuth server returns a public key for validation.
We retrieved and validated your access token. Next, we’ll use it to send the payment status notification.
Provide public key
As a security measure, payment status notifications are encrypted. To do that, we need to request a public key from you. This public key is different from the one we used in the previous step for validation. Here's the process:
- Step 1: We request a new public key from you.
- Step 2: You return the public key using the endpoint (POST /public-keys/v1).
- Note: For technical details including sample code, please download the Encryption key swagger above.
- Step 3: We use the public key to encrypt our status notification.
Now that the payment status notification is encrypted, we proceed to sending it to you.
Get payment status notification
As the final step, we send the encrypted status update to you. Here's the process:
- Step 1: We send the encrypted notification (Pain.002) as a .json request using the endpoint (PUT /paymentStatusUpdate/v1).
- Step 2: You decrypt the message using your private key.
- Step 3: You return a success or failure message as a .json response to BMO.
Once we receive your success response, the push notification is considered to be delivered successfully. If we receive a failure response or don't receive any response at all, we'll retry with 1 attempt per hour for up to 24 hours.
Note: For more details about the possible statuses that can be returned, please review the Response table for the Get payment status endpoint on each API documentation page.