Async Notifications

Async Notifications

Welcome to the Open Payment Platform Async Notifications guide.

Async notifications occur to notify you of a change in status of a payment. That change in status may happen for various reasons, often depending on the brand. For example, an offline invoice payment has been fulfilled or a risk transaction has moved from REVIEW status to ACCEPT. Async notifications can occur while using any of the following integration methods:

  • COPYandPAY
  • Server-to-Server

This tutorial explains how the Open Payment Platform provides notifications and what you must do to support them. There are three steps:

NOTE: In case the notificationUrl is not provided we send the notification to the shopperResultUrl. The shopperResultUrl might not work in all cases as this page is usually designed to get called by a browser. We recommend that you specify a notificationUrl if you want to receive notifications.

How it works

Request

Sending the request parameters server-to-server and receive the redirect information back.

Notification

Receive the notification request

Get the status

Retrieve the notification status


Step 1 - Request

Notifications are sent to the notificationUrl that was sent in original request, therefore, to support async notifications requests should include the notificationUrl.

Step 2 - Notification

We send a HTTP GET request to the notificationUrl with the following information:

GET {notificationUrl}?id={id}&resourcePath={resourcePath}

In order to receive this message, you should expose an endpoint that is accessible over the internet (we recommend over https) and use this endpoint as your notificationUrl.

The resourcePath is a path (starting with /) relative to the server URL which you must call in order to obtain the intend information for the notification.

Example of a resourcePath:

/v1/payments/01234567890123456789012345678901

Step 3 - Get Status

GET https://test.oppwa.com{resourcePath}?authentication.userId={userId}&authentication.password={password}&authentication.entityId={entityId}