Notifications
Overview
Notifications can be sent via email or webhook to notify merchants of certain events that occur in OnlinePay. Notifications can be triggered by transaction events or checkout events and can be configured using the OnlinePay administration section of the dashboard.
Only Merchant Admin, Merchant Cashier, or Merchant Supervisor roles can access the Notifications section of the dashboard.
Event notification triggers
Notifications can be triggered by transaction events or checkout events. Transaction events are related to transactions that occur in OnlinePay, such as a successful sale or a declined sale. Checkout events are related to the checkout process, such as a successful checkout transaction or a failed 3DS authentication.
For example:
- A successful sale (Transaction Event)
- A failed 3DS authentication (Checkout Event)
Transaction events notification triggers
The following table lists the transaction events that can trigger a notification:
Event | Description |
---|---|
Authorisation approved Authorisation declined | An authorisation or pre-authorisation |
Capture approved Capture declined | A capture or completion |
Delay charge approved Delay charge declined | A single message sale (auth+capture) related to a pre-auth chain |
Preauth increment approved Preauth increment declined | An increment for a pre-auth |
Refund approved Refund declined | A refund |
Sale approved Sale declined | A sale approved or a sale declined |
Refund preview cancelled | A refund preview cancelled transaction (Not applicable for OnlinePay) |
Refund preview customer approved | A refund preview customer approved transaction (Not applicable for OnlinePay) |
Sale confirmed | A confirmation of sale (Not applicable for OnlinePay) |
Checkout event notification triggers
The following table lists the checkout events that can trigger a notification:
Event | Description |
---|---|
Checkout - Transaction succeeded | A successful Checkout transaction |
Checkout - Transaction failed | Checkout transaction failed |
Checkout - Card token succeeded | Successful card token transaction |
Checkout - Card token failed | Failed card token transaction |
Checkout - 3DS authentication succeeded | A successful checkout 3DS transaction |
Checkout - 3DS authentication failed | A failed checkout 3DS authentication |
Checkout - 3DS lookup failed | 3DS lookup failed |
Checkout - 3DS lookup succeeded | 3DS lookup succeeded |
Checkout - SMS delivery succeeded | PBL SMS delivery succeeded |
Checkout - Email delivery succeeded | PBL Email delivery succeeded |
Checkout - SMS delivery failed | PBL SMS delivery failed |
Checkout - Email delivery failed | PBL Email delivery failed |
View and create notifications
To access the Notifications section of the dashboard, navigate to Administration > Advanced Settings > Notifications.

View notifications
The Notifications section displays a list of all notifications that have been created and their status.
You can filter existing notifications by Organisation, Event type, or Status. Alternatively, search for notifications from the search bar by providing the notification Name
, Email
, or webhook URL
.
To view the details of a notification, click on the notification name. From the notification details page, you can edit the notification, disable or delete the notification, or re-enable a disabled notification.
Create a notification
To create a new notification, navigate to the Notifications section of the dashboard and follow these steps:
-
Click the Create new notification at the top of the page.
-
Provide a Notification name.
-
Select the organisation. or multiple organisations, from the drop-down list. The notification will be triggered for transactions or checkouts that are associated with the selected organisation(s).
-
Select the Event types that will trigger the notification. You can select multiple event types from the drop-down list, which includes both transaction and checkout events. You will receive a notification for each event type selected.
-
Choose the notification delivery method.
-
Email: Select Email to provide the email address where the notification will be sent. The notification can only be sent to one email address. You can preview the email template by clicking Preview email next to the Email address selector.
-
Webhook: Select URL endpoint to provide the URL of the webhook where the notification will be sent. Selecting the URL endpoint option will display additional options to send Event metadata only or Full event payload (ony available for transaction events). You can preview the webhook payload by clicking Preview payload.
Your webhook will receive a
POST
http call with a JSON payload including values related to the notification. See Webhook notification example for more information.
-
-
Click Save to save the notification.
New webhooks are active within 60 seconds. Updates to existing webhooks may take between 10 to 60 minutes to update depending on server load.
Disable or delete a notification
To disable or delete a notification, navigate to the Notifications section of the dashboard and follow these steps:
- Click on the notification name to view the notification details.
- Click Disable to disable the notification.
- In the confirmation alert, click Disable notification to confirm. A disabled notification will not trigger any notifications. A disabled notification can be re-enabled by clicking Enable notification on the notification details screen.
- Notifications can only be deleted if they are disabled. To delete a notification, click Delete on the disabled notification details screen. In the confirmation alert, click Delete notification to confirm.
Example notifications
The following examples show the content of notifications that are sent via email or webhook.
Email notification example
The following example is a sample email preview with generic data values:
Subject: New event - Refund approved
array (
eventId: aefd58f2-7d4d-4afc-b3a8-b841aba5d833,
eventDateTime : {dateTime={date={year=2021, month=11, day=16}, time={hour=14, minute=36, second=12, nano=921000000}}, offset={totalSeconds=0}},
recordId : aefd58f2-7d4d-4afc-b3a8-b841aba5d833,
entityUid :9aea8c9c-d54e-4811-b8d3-6d33aa3a702c,
eoEntityUid:,
eventType:Void Approved,
estateOwner:,
source:pdsp,
component:,
received:
objectType:TransactionEvent
content:
UUID :aefd58f2-7d4d-4afc-b3a8-b841aba5d833,
TRANSACTIONTYPE : VOID,
INITIATORTRACEID : 002709,
GATEWAYTRACEID : ,
CREATEDDATETIME : 2021-11-16T14:36:12.921Z,
POI : {},
MERCHANT : {UUID=9aea8c9c-d54e-4811-b8d3-6d33aa3a702c, ID=87654, LOCALE={COUNTRYCODE=AU}, CONTRACTS=[{MCC=7654, MERCHANTID=87654}]},
AMOUNT :{VALUE=10.03, CURRENCYCODE=AUD},
INSTRUMENT :[{CARDBRAND=VISA, INSTRUMENTTYPE=CARD, MASKEDCARDNUMBER=411111******1111}, {INSTRUMENTTYPE=TOKEN}],
OUTCOME:[{ACQUIRERRESPONSECODE=00}, {RESPONSE=SUCCESS, RESPONSECODE=0000}],
CUSTOMER :,
CONTEXT:
)
Webhook notification example
Webhooks are sent to your specified URL endpoint in the form of a POST
request with a JSON payload. The payload includes values and data related to the transaction that triggered the notification.
These values are sample data only and cannot be used to search for transactions or events in the OnlinePay dashboard.
The following example is a sample webhook payload when selecting the Full event payload
option:
{
"eventType": "TxnRefundApproved",
"objectType": "TransactionEvent",
"eventId": "5b5f42f6-db9f-4fd8-8396-1527ec621ab8",
"eventDateTime": "2023-03-02T13:16:44.654Z",
"recordId": "5b5f42f6-db9f-4fd8-8396-1527ec621ab8",
"entityUid": "07652580-1037-4901-92f2-74676cb8aa7e",
"source": "pdsp",
"content": {
"id": "5b5f42f6-db9f-4fd8-8396-1527ec621ab8",
"currency_code": "AUD",
"country_code": "AU",
"created_at": "2023-03-02T13:16:44.654Z",
"customer": "18c4694c-b498-40fa-ab9d-fbe671c0afca",
"customer_ip": "127.0.0.1",
"dynamic_descriptor": "Test Transaction",
"payment_product": "CARD",
"payment_product_type": "VISA",
"transaction_type": "SALE",
"transaction_status": "FAILED",
"shipping_information": {
"address": "201 Sussex St",
"city": "Sydney",
"country": "AU",
"phone": "61292677099",
"postal_code": "2000",
"state": "NSW"
},
"user_agent": "string",
"cvv_present": false,
"card_brand": "VISA",
"masked_card_number": "430000******7107",
"merchant_id": "290010026",
"merchant_reference": "200001",
"shopper_interaction": "ecommerce",
"threed_authentication": {
"eci_flag": "05",
"enrolled": "Y",
"cavv": "MTIzNDU2Nzg5MDEyMzQ1Njc4OTA=",
"pares_status": "Y",
"ds_transaction_id": "020100004317fdc3ad2454438000000000000891",
"threeds_version": "2.1.0"
},
"amount": "3.0",
"payment_summary": {}
}
}
The following example shows a webhook payload included in the Event metadata only
option:
{
"eventType": "TxnSaleApproved",
"eventId": "72d2da83-ac4f-11e8-a4d5-c2941f1b9e6a",
"eventDateTime": "2020-08-07T15:47:37.391+12:00",
"recordId": "ddb21f1f-a691-4a62-9083-4ab9155b9739"
}
See the Notification parameters section for a list of parameters that can be included in notifications.
Notification parameters
The following table lists the parameters that can be included in notifications:
Parameter Name | Type | Format | Full payload | Metadata | Description | |
---|---|---|---|---|---|---|
eventType | String | — | ✅ | ✅ | ✅ | The event type for which the notification was sent. E.g. Transaction declined. |
objectType | String | — | ✅ | ✅ | ⛔ | In a transaction event this would be TransactionEvent , and in a Checkout event this would be StandardEvents . |
eventId | String | UUID | ✅ | ✅ | ✅ | In transaction events this would be the Transaction ID, and in Checkout events this would be the Checkout ID. |
itemId | String | UUID | ⛔ | ✅ | ⛔ | In transaction events this would be the Transaction ID. The itemId is not applicable to Checkout events. |
recordId | String | UUID | ✅ | ✅ | ✅ | In transaction events this would be the Transaction ID, and in Checkout events this would be the Checkout ID. |
entityUid | String | UUID | ✅ | ✅ | ✅ | The OnlinePay-assigned organisation identifier. |
eventDateTime | Datetime | YYYY-MM-DDThh:mm:ss.msZ | ✅ | ✅ | ✅ | The date and time at which the event occurred. |
source | String | — | ✅ | ✅ | ✅ | The source of the event information. |
content | Object | — | ✅ | ✅ | ⛔ | The associated event data. This is optional and if specified will vary according to the event type. |
content.id | String | UUID | ✅ | ✅ | ⛔ | The Transaction ID. |
content.currency_code | String | three-letter ISO 4217 alphabetic currency codes | ✅ | ✅ | ⛔ | A three-letter alphabetic code that represents the currency used for the transaction. |
content.country_code | String | 2-letter ISO 3166 alpha-2 country code | ✅ | ✅ | ⛔ | A 2-letter ISO 3166 alpha-2 country code representing the consumer's address. |
content.created_at | Datetime | YYYY-MM-DDThh:mm:ss.msZ | ✅ | ✅ | ⛔ | The date and time the transaction was created. |
content.customer_ip | String | 32-bit number | ✅ | ✅ | ⛔ | A 32-bit number that identifies a host on a TCP/IP network of the consumer. |
content.dynamic_descriptor | String | — | ⛔ | ✅ | ⛔ | A short transaction description that can be included when creating a transaction via the Virtual Terminal, the Checkout API, or the eCommmerce API. This description might be included in the bank statement issued to the consumer by some card issuers. |
content.amount | Float | — | ✅ | ✅ | ⛔ | The transaction amount. |
content.payment_product | String | — | ✅ | ✅ | ⛔ | The type of product used for payment. E.g., CARD |
content.payment_product_type | String | — | ✅ | ✅ | ⛔ | The brand of the payment type used for payment. E.g., VISA, MASTERCARD, AMEX, etc. |
content.processor_reference | String | — | ⛔ | ✅ | ⛔ | Reference identifying the transaction, as provided by the processor. |
content.transaction_type | String | — | ✅ | ✅ | ⛔ | The transaction type, such as SALE, AUTHORISATION, PREAUTH, etc. |
content.transaction_status | String | — | ✅ | ✅ | ⛔ | The current status of the transaction. E.g., AUTHORISED, CAPTURED, SETTLED, CANCELLED, etc. |
content.reason_code | String | — | ✅ | ✅ | ⛔ | A reason code assigned by the bank; '0000' in case of success. |
content.arn | String | — | ⛔ | ✅ | ⛔ | The acquirer reference number (ARN), generated by the bank at the time of clearing for card transactions. |
content.authorisation_code | String | — | ⛔ | ✅ | ⛔ | The credit card authorisation code represents the five or six numbers generated by the card issuing bank. |
content.shipping_information | Object | — | ⛔ | ✅ | ⛔ | An optional object that includes the consumer's shipping information. |
content.shipping_information.address | String | — | ⛔ | ✅ | ⛔ | The shipping (street) address. |
content.shipping_information.city | String | — | ⛔ | ✅ | ⛔ | The shipping city. |
content.shipping_information.country | String | A 2-letter ISO 3166 alpha-2 country code | ⛔ | ✅ | ⛔ | The shipping country. |
content.shipping.phone | String | — | ⛔ | ✅ | ⛔ | The shipping phone number. |
content.shipping.postal_code | String | — | ⛔ | ✅ | ⛔ | The shipping postal code. |
content.shipping.state | String | — | ⛔ | ✅ | ⛔ | The shipping state. |
content.user_agent | String | — | ⛔ | ✅ | ⛔ | The full user agent string of the device the customer used to submit the transaction. |
content.cvv_present | Boolean | — | ⛔ | ✅ | ⛔ | True if the card was used with a CVV. |
content.rrn | String | — | ✅ | ✅ | ⛔ | The payment processor's retrieval reference number. |
content.shopper_interaction | String | — | ✅ | ✅ | ⛔ | The sales channel that was used to capture the transaction. E.g., ECOMMERCE, MAIL, PHONE, POS. etc. |
content.stan | String | — | ⛔ | ✅ | ⛔ | A number assigned by a transaction initiator (originator) to assist in identifying a transaction uniquely. This property can be used to store the System Trace Audit Number (STAN) as used in the ISO 8583 and AS2805 specifications. |
content.card_brand | String | — | ✅ | ✅ | ⛔ | Same as the payment product type. |
content.merchant_id | String | — | ✅ | ✅ | ⛔ | The identifier assigned to the merchant entity under the Payment Provider Contract. |
content.merchant_reference | String | — | ✅ | ✅ | ⛔ | A reference specified by the merchant to identify the transaction. |
content.poi_id | String | — | ✅ | ✅ | ⛔ | The Verifone assigned ID to the point of the interaction used for the transaction, where applicable. |
content.masked_card_number | String | — | ✅ | ✅ | ⛔ | Masked number of the card used for payment. |
content.payment_summary.captured_amount | String | — | ✅ | ✅ | ⛔ | The amount that was captured out of the total transaction amount. |
content.threed_authentication | Object | — | ✅ | ✅ | ⛔ | 3DS authentication information, where applicable. Read our 3D Secure article for additional information. |
content.threed_authentication.eci_flag | String | — | ✅ | ✅ | ⛔ | The Electronic Commerce Indicator (ECI). |
content.threed_authentication.enrolled | Boolean | — | ✅ | ✅ | ⛔ | The payment card's 3DS enrolment status. |
content.threed_authentication.cavv | String | — | ✅ | ✅ | ⛔ | The Cardholder Authentication Verification Value (CAVV) cryptographic value. |
content.threed_authentication.pares_status | String | — | ✅ | ✅ | ⛔ | The Payment Authentication Response (PARes) status. |
content.threed_authentication.ds_transaction_id | String | — | ⛔ | ✅ | ⛔ | A unique transaction identifier assigned by the 3DS server. |
content.threed_authentication.threeds_version | String | — | ⛔ | ✅ | ⛔ | The 3DS version used to authenticate the transaction. |
Updated about 2 months ago