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:

EventDescription
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 cancelledA refund preview cancelled transaction (Not applicable for OnlinePay)
Refund preview customer approvedA refund preview customer approved transaction (Not applicable for OnlinePay)
Sale confirmedA confirmation of sale (Not applicable for OnlinePay)

Checkout event notification triggers

The following table lists the checkout events that can trigger a notification:

EventDescription
Checkout - Transaction succeededA successful Checkout transaction
Checkout - Transaction failedCheckout transaction failed
Checkout - Card token succeededSuccessful card token transaction
Checkout - Card token failedFailed card token transaction
Checkout - 3DS authentication succeededA successful checkout 3DS transaction
Checkout - 3DS authentication failedA failed checkout 3DS authentication
Checkout - 3DS lookup failed3DS lookup failed
Checkout - 3DS lookup succeeded3DS lookup succeeded
Checkout - SMS delivery succeededPBL SMS delivery succeeded
Checkout - Email delivery succeededPBL Email delivery succeeded
Checkout - SMS delivery failedPBL SMS delivery failed
Checkout - Email delivery failedPBL Email delivery failed

View and create notifications

To access the Notifications section of the dashboard, navigate to Administration > Advanced Settings > Notifications.

Notifications navigation in the OnlinePay dashboard

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:

  1. Click the Create new notification at the top of the page.

  2. Provide a Notification name.

  3. 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).

  4. 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.
    Create a notification with selected event types

  5. 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.

      Create a notification with selected delivery method

      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.

  6. 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:

  1. Click on the notification name to view the notification details.
  2. Click Disable to disable the notification.
  3. 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.
  4. 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 NameTypeFormatEmailFull payloadMetadataDescription
eventTypeStringThe event type for which the notification was sent. E.g. Transaction declined.
objectTypeStringIn a transaction event this would be TransactionEvent, and in a Checkout event this would be StandardEvents.
eventIdStringUUIDIn transaction events this would be the Transaction ID, and in Checkout events this would be the Checkout ID.
itemIdStringUUIDIn transaction events this would be the Transaction ID. The itemId is not applicable to Checkout events.
recordIdStringUUIDIn transaction events this would be the Transaction ID, and in Checkout events this would be the Checkout ID.
entityUidStringUUIDThe OnlinePay-assigned organisation identifier.
eventDateTimeDatetimeYYYY-MM-DDThh:mm:ss.msZThe date and time at which the event occurred.
sourceStringThe source of the event information.
contentObjectThe associated event data. This is optional and if specified will vary according to the event type.
content.idStringUUIDThe Transaction ID.
content.currency_codeStringthree-letter ISO 4217 alphabetic currency codesA three-letter alphabetic code that represents the currency used for the transaction.
content.country_codeString2-letter ISO 3166 alpha-2 country codeA 2-letter ISO 3166 alpha-2 country code representing the consumer's address.
content.created_atDatetimeYYYY-MM-DDThh:mm:ss.msZThe date and time the transaction was created.
content.customer_ipString32-bit numberA 32-bit number that identifies a host on a TCP/IP network of the consumer.
content.dynamic_descriptorStringA 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.amountFloatThe transaction amount.
content.payment_productStringThe type of product used for payment. E.g., CARD
content.payment_product_typeStringThe brand of the payment type used for payment. E.g., VISA, MASTERCARD, AMEX, etc.
content.processor_referenceStringReference identifying the transaction, as provided by the processor.
content.transaction_typeStringThe transaction type, such as SALE, AUTHORISATION, PREAUTH, etc.
content.transaction_statusStringThe current status of the transaction. E.g., AUTHORISED, CAPTURED, SETTLED, CANCELLED, etc.
content.reason_codeStringA reason code assigned by the bank; '0000' in case of success.
content.arnStringThe acquirer reference number (ARN), generated by the bank at the time of clearing for card transactions.
content.authorisation_codeStringThe credit card authorisation code represents the five or six numbers generated by the card issuing bank.
content.shipping_informationObjectAn optional object that includes the consumer's shipping information.
content.shipping_information.addressStringThe shipping (street) address.
content.shipping_information.cityStringThe shipping city.
content.shipping_information.countryStringA 2-letter ISO 3166 alpha-2 country codeThe shipping country.
content.shipping.phoneStringThe shipping phone number.
content.shipping.postal_codeStringThe shipping postal code.
content.shipping.stateStringThe shipping state.
content.user_agentStringThe full user agent string of the device the customer used to submit the transaction.
content.cvv_presentBooleanTrue if the card was used with a CVV.
content.rrnStringThe payment processor's retrieval reference number.
content.shopper_interactionStringThe sales channel that was used to capture the transaction. E.g., ECOMMERCE, MAIL, PHONE, POS. etc.
content.stanStringA 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_brandStringSame as the payment product type.
content.merchant_idStringThe identifier assigned to the merchant entity under the Payment Provider Contract.
content.merchant_referenceStringA reference specified by the merchant to identify the transaction.
content.poi_idStringThe Verifone assigned ID to the point of the interaction used for the transaction, where applicable.
content.masked_card_numberStringMasked number of the card used for payment.
content.payment_summary.captured_amountStringThe amount that was captured out of the total transaction amount.
content.threed_authenticationObject3DS authentication information, where applicable. Read our 3D Secure article for additional information.
content.threed_authentication.eci_flagStringThe Electronic Commerce Indicator (ECI).
content.threed_authentication.enrolledBooleanThe payment card's 3DS enrolment status.
content.threed_authentication.cavvStringThe Cardholder Authentication Verification Value (CAVV) cryptographic value.
content.threed_authentication.pares_statusStringThe Payment Authentication Response (PARes) status.
content.threed_authentication.ds_transaction_idStringA unique transaction identifier assigned by the 3DS server.
content.threed_authentication.threeds_versionStringThe 3DS version used to authenticate the transaction.


St. George BankSA Bank of Melbourne

This information is a general statement for information purposes only and should only be used as a guide. While all care has been taken in preparation of this document, no member of the Westpac Group, nor any of their employees or directors gives any warranty of accuracy or reliability nor accepts any liability in any other way, including by reason of negligence for any errors or omissions contained herein, to the extent permitted by law. Unless otherwise specified, the products and services described are available only in Australia.

© St.George, Bank of Melbourne and BankSA – Divisions of Westpac Banking Corporation ABN 33 007 457 141 AFSL and Australian credit licence 233714.