# Notifications and reports overview > Power real-time workflows with Payabli's notification engine. Receive instant alerts via email, SMS, or webhooks for payments, disputes, settlements, boarding events, and more with customizable event triggers Payabli has a notifications engine that lets you create notifications for various events using different communication channels: **email**, **phone (SMS)** and **web (webhooks)**. The engine also lets you autogenerate reports and send them via email or webhook. ## Notifications Get near-instant notifications via email, SMS, or webhooks for important events like new payment disputes, merchant activations, fraud alerts, approved transactions, settlement history, vendor payouts, and more. Use webhooks with notifications to get real-time updates and automate operations based on key those key events. An event alerts you when an action has been completed. When you create a notification for an event, Payabli adds a notification to the notification queue within 5 minutes of the event trigger. The notification engine sends the notification's information to the target via the channel you configure, either web (webhooks), SMS, or email. The information provided with each notification varies by type. In the following tables: * The **Event** column is the `eventType` value used with the notification API. * The **Trigger** column describes what triggers the event. * The **Name in Web App** column describes the notification name in the web app's notification settings page. ### Pay In events
Event Trigger Name in UI Webhook Payload
ApprovedPayment A transaction is approved Approved payment View
AuthorizedPayment A transaction is authorized, capture pending Authorized payment View
DeclinedPayment A transaction is declined Declined payment View
FundedPayment A transaction is funded Funded payment View
InvoiceCreated An invoice is created Invoice created View
InvoicePaid Any payment is received for an invoice Invoices paid View
InvoiceSent An invoice is sent to customer Invoices sent View
OriginatedPayment A transaction is originated Originated payments View
RefundedPayment A transaction is refunded Refunded payments View
RecoveredTransaction A timed-out transaction is recovered Recovered transaction View
SettledPayment A transaction is settled or sent to funding Settled payments View
SubscriptionCreated A subscription is created Subscription created View
SubscriptionCompleted A subscription is completed (past the end date). Subscription completed View
SubscriptionCanceled A subscription is canceled Subscription canceled View
SubscriptionUpdated A subscription is updated Subscription updated View
BatchClosed A batch is closed Batch closed View
BatchNotClosed A batch isn't closed Batch not closed View
TransferAdjusted A transfer has been adjusted by Payabli Transfer adjusted View
TransferDisabledCreditFund Credit funding failed because the merchant doesn't have an active credit service Transfer credit fund disabled View
TransferDisabledDebitFund Debit funding failed because the merchant doesn't have an active debit service Transfer debit fund disabled View
TransferError Funding execution failed Transfer error View
TransferNotAvailableBalance Funding execution pending because available balance doesn't cover the transfer Transfer not available balance View
TransferReadyforRetry A transfer is ready to be retried by Payabli Transfer ready for retry View
TransferResolved A transfer has been resolved by Payabli Transfer resolved View
TransferReturn Funding execution experienced a return, which is commonly due to insufficient funds, or problems with the external bank account Transfer return View
TransferSuccess Funding execution was successful Transfer success View
TransferSuspended Merchant funding suspended Transfer suspended View
VoidedPayment A payment is voided or canceled Voided payments View
### Pay Out events
Event Trigger Name in UI Webhook Payload
BillApproved A bill is approved to be paid Bills were approved View
BillCanceled A bill is canceled Bills were canceled View
BillDisApproved A bill is disapproved to be paid Bills were rejected View
BillPaid A bill is paid Bills paid View
BillProcessing A payout is being processed for a bill Payment for bills in transit View
CardCreated A virtual card was created Card created View
CardActivated A virtual card was activated Card activated View
CardDeactivated A virtual card was deactivated Card deactivated View
CardExpired A virtual card has expired Card expired View
CardExpiring A virtual card is about to expire Card expiring View
CardLimitUpdated The limit of a virtual card was updated Card limit updated View
PayOutCanceled A payout is canceled Payouts were canceled View
PayOutFunded A payout is funded Payout funded View
PayOutPaid A payout is paid Payouts were paid View
PayOutProcessed A payout is processed Payouts were processed View
PayOutCanceled A payout is canceled Payouts were canceled View
PayOutReturned A payout is returned Payouts were returned View
PayoutSubscriptionCreated A payout subscription is created Payout subscription created View
PayoutSubscriptionUpdated A payout subscription is updated Payout subscription updated View
PayoutSubscriptionCanceled A payout subscription is canceled Payout subscription canceled View
PayoutSubscriptionCompleted A payout subscription is completed Payout subscription completed View
PayoutSubscriptionReminder A payout subscription is about to be paid Payout subscription reminder View
### Pay Ops events #### Fraud and Risk events
Event Trigger Name in UI Webhook Payload
FraudAlert A fraud alert is triggered Fraud alerts View
HoldTransaction A transaction is held Hold transaction View
HoldBatch A batch is held Hold batch View
ReleasedBatch A held batch is released Released batch View
ReleasedTransaction A held transaction is released Released transaction View
#### Boarding events
Event Trigger Name in UI Webhook Payload
ActivatedMerchant A new merchant account is activated Paypoints activated View
BoardingApplication An application sent to "boarding" status Paypoints boarded View
CreatedApplication A new boarding application is created Applications newly created View
FailedBoardingApplication A boarding application failed to process N/A View
ApprovedApplication A boarding application is approved Applications approved View
DeclinedApplication An application is declined Applications declined View
HoldingApplication An application is put on hold Application is under review View
SubmittedApplication A boarding application is sent to processing Applications submitted View
UnderWritingApplication An application is sent to underwriting Application is in underwriting View
#### Other
Event Trigger Name in UI Webhook Payload
exportFileError There was an error generating an export file File transmission aborted View
exportFileSent A generated export file is sent File sent View
importFileError An imported file was rejected because of errors File processing aborted by errors View
importFileProcessed An imported file was processed File processed View
importFileReceived A file is received for import data via Payabli eXchange File received View
UpdatedMerchant A paypoint (merchant) record is updated N/A View
SystemAlert A system alert occurs N/A View
UserPasswordExpired A user password expires N/A View
UserPasswordExpiring A user password is about to expire N/A View
ReceivedAchReturn A returned ACH is received ACH returns View
ReceivedChargeBack A chargeback is received Credit card chargebacks View
ChargebackUpdated A chargeback is updated Chargeback status updated View
ReceivedRetrieval A retrieval request is received Credit card retrieval View
RetrievalUpdated A retrieval request is updated Retrieval status updated View
TransactionNotFound A transaction can't be found N/A View
Report Pre-defined event name for methods **report-email** and **report-web** N/A
For email and SMS methods, The notification includes only the notification content in the email body or in the text for SMS. ## Set up and receive events using Web (webhooks)\[#set-up-webhooks] For webhook notifications, Payabli offers flexibility so you can build and use the notifications as needed. See [Webhook Payload Reference](/guides/pay-ops-webhooks-payloads) for example notification webhook payloads. The web notifications are sent to the target URL via HTTP POST. When you create the notification, specify any custom headers or fields to submit with the event in the request. The notification uses standard HTTPS ports: `80`, `443`, `8080`, or `4443`. If needed, you can include an Authorization header for your webhook server in the field `webHeaderParameter` in the `content` object. For example, if your webhook server requires basic authorization and your key is `AD4566F3S2T76901`, then your request would look like this: ```json { "ownerId": 20, "ownerType": 0, "method": "web", "frequency": "untilcancelled", "target": "https://mywebhook.domain.com/entrypoint", "content": { "eventType": "ApprovedPayment", "webHeaderParameters":[ {"Authorization":"Basic AD4566F3S2T76901"} ] } } ``` You can also send any other variable in the body with some custom data using the field `internalData` in the content object: ```json { "ownerId": 20, "ownerType": 0, "method": "web", "frequency": "untilcancelled", "target": "https://mywebhook.domain.com/entrypoint", "content": { "eventType": "ApprovedPayment", "webHeaderParameters":[ {"Authorization":"Basic AD4566F3S2T76901"} ], "internalData":[ {"myData1":"Value1"}, {"myData2":"Value2"} ] } } ``` ### Retry logic If sending a webhook fails, Payabli retries the webhook POST 2 times in 5-minute intervals. If the request fails after 2 retries, you can manually resend the failed webhook notification via the API. Follow the steps below to manually resend a failed webhook notification: To find the ID of the failed notification, you can search Payabli's notification logs by calling the **POST /api/v2/notificationlogs** endpoint. When calling the endpoint, make sure to pass the `"succeeded": false` field in the request to filter for failed notifications. See [Search notification logs](/developers/api-reference/notification-logs/search-notification-logs-with-filtering-and-pagination) for more information. To resend a failed notification, call the **GET /api/v2/notificationlogs/\{uuid}/retry** endpoint. Replace **\{uuid}** with the ID of the failed notification you found in the previous step. When you call the endpoint, Payabli attempts to resend the webhook notification to your server. Your server must respond to the webhook with a success HTTP response code (example: 200). See [Retry notification](/developers/api-reference/notification-logs/retry-notification-log) for more information. ### Send a success response Your webhook server must send a success HTTP response code (example: 200) when the payload is successfully received. If you send nothing, or send an error response code (example: 401), Payabli assumes it has failed and the retry logic causes the payload to be sent several times. ## Automated reports Automated reporting lets you gather critical reports without manually filtering and exporting the data. Get automated daily, weekly, and monthly report for daily sales, ACH returns, settlements, and more. You can send these reports via email or via webhook. The notification engine lets you schedule autogenerated reports with different frequencies: "daily", "weekly", "biweekly", "monthly", "quarterly", "semiannually", "annually". The reports are sent to the target (destination) using either `report-email` or `report-web` where the expected targets are email address or a URL. For method `report-email` the report is attached to an email. For the method `report-web` the file is sent via HTTP POST as "multipart/form-data" and in the field `file`. Like with events, you can specify custom headers and internal data to be passed to your application in the HTTP request. You can generate the files in CSV, XLSX, and JSON format. This example creates a daily transaction report and sends it via email: ```json { "ownerId": 20, "ownerType": 0, "method": "report-email", "frequency": "daily", "target": "myemail@myDomain.com", "content": { "fileFormat":"csv", "reportName":"Transaction" } } ``` ## Notification status When you create or manage a notification or autogenerated report via the API, you can enable or disable it with the `status` parameter. Setting a notification to Inactive disables it, and setting it to Active enables it.
Value Key
Active 1
Inactive 0
## Related resources See these related resources to help you get the most out of Payabli. * **[Webhook notification response reference](/guides/pay-ops-webhooks-payloads)** - Learn more about the payload for each webhook notification response body