Consume the Push Message
After the push URL has been set, you will receive a push message for major status changes. Such include the arrival of an advance payment, payment issues, and the like. This way your system doesn't need to constantly check for status changes.
Our system sends an HTTP POST request to your server, that contains some information about the object and the event. The message is sent repeatedly until your system responds with 200 OK. After 48 hours without acknowledgement, our system discards the notification.
This is an example request from our system to your server:
POST /order/payment/status-push?order=OID_100716
Host: shop.example.com
Content-Type: application/json
Accept: */*
...
{
"object"
:
"event.pushes"
,
"id"
:
"evt_12345678"
,
"created"
:
"2018-10-19T09:28:48+02:00"
,
"target"
:
"payment.secupaydebits"
,
"type"
:
"changed"
,
"data"
: [
{
"object"
:
"payment.secupaydebits"
,
"id"
:
"gcacbezjwtrt12052450"
}
]
}
These are the details of the notification:
Field |
Type |
Meaning |
object |
string |
object type (always "event.pushes") |
id |
string |
object ID of the push event |
created |
string |
time of the event |
target |
string |
object type |
type |
string |
event type |
data |
array |
related data objects |
These events are supported:
changed: The object has changed
added: The object has been added
display: ...
Every related object (data) has these fields:
Field |
Type |
Meaning |
object |
string |
object type |
id |
string |
object ID |
In our situation there should always be one object only.
Now you need to read the related data object. The endpoints are related to the event type:
Object Type |
Endpoint |
payment.secupaycreditcards |
GET /api/v2/Payment/Secupaycreditcards/{id} |
payment.secupaydebits |
GET /api/v2/Payment/Secupaydebits/{id} |
The answer contains the same object representation, that is familiar from the payment process.