riverty logo

Docs

Webhooks

The Webhooks in Riverty’s Parkin API allows Parking Providers to keep track of their recievables. The end point allows the Parking Provider create webhooks which can be linked to internal systems to track such information as how many receiveables have been accepted/rejected and the reason for dispute on specific recievables. It is strongly suggested that such webhooks are created as they can serve as early indicators of system errors and facility problems (such as camera vandalism).

Event Explanation
CustomerData Notifies your system when a new customer completes their first transaction or when an existing customer's details (e.g., email or address) are updated.
InvoiceCreated Triggered whenever an invoice is captured.
InvoicePurchased Triggered when an invoice is successfully purchased by Riverty (If this webhook is not received, the invoice can be assumed to be an admin invoice).
Refund An invoice got credited / refunded.
InvoiceStatus_PaymentReceived A full or partial payment has been received for the invoice.
DunningLevelChanged Triggered with each change in the dunning status.

Message-Flow for Use Case 1

A customer places their first order with you and selects Riverty as the payment method. Riverty purchases the invoice. The customer pays only after receiving the first reminder.

CustomerData

A customer places their first order with you and selects Riverty as the payment method. Riverty purchases the invoice. The customer pays only after receiving the first reminder.

    
        {
 "Body": {
  "Title": null,
  "VatId": null,
  "Address": "Tråkka 34 D",
  "Country": "Norge",
  "FullName": null,
  "Lastname": "Mulig Skjebring Utsending",
  "OrgnoSSN": "111111111",
  "FirstName": "Ola",
  "PostalCode": "0774",
  "CompanyName": null,
  "CountryCode": "NO",
  "HouseNumber": 7,
  "PostalPlace": "Oslo",
  "SocialTitle": null,
  "LanguageCode": "NOR",
  "CustomerNumber": "C1234",
  "NoSmsCommunication": null,
  "Recno_CustomerRelationshipCategory": 2
 },
 "Header": {
  "ShopId": "RTY00123",
  "Version": "1.0",
  "ClientId": 12345,
  "MessageId": "407acd9d-bc37-45b6-a761-ec60412b1b88",
  "CountryCode": "NO",
  "MessageName": "CustomerData",
  "TransmittedTimeStamp": "2025-01-13T11:12:06.7689171Z"
 }
}
    

InvoiceCreated

    
        {
 "Body": {
  "Currency": "EUR",
  "OrderNumber": "5f08e4e3-1234-4e3a-a3ba-a1fb1664ebb7",
  "InvoiceAmount": 15,
  "InvoiceNumber": "50034",
  "CustomerNumber": "C1234"
 },
 "Header": {
  "ShopId": "RTY00123",
  "Version": "1.0",
  "ClientId": 12345,
  "MessageId": "4333acd9d-bc37-45b6-a761-ec60412b1b00",
  "CountryCode": "NO",
  "MessageName": "InvoiceCreated",
  "TransmittedTimeStamp": "2025-01-13T11:12:06.7689171Z"
 }
}
    

InvoicePurchased

    
        {
 "Body": {
  "Currency": "EUR",
  "OrderNumber": "5f08e4e3-1234-4e3a-a3ba-a1fb1664ebb7",
  "InvoiceAmount": 15,
  "InvoiceNumber": "50034",
  "CustomerNumber": "C1234"
 },
 "Header": {
  "ShopId": "RTY00123",
  "Version": "1.0",
  "ClientId": 12345,
  "MessageId": "4033acd9d-bc37-45b6-a761-ec60412b1b23",
  "CountryCode": "NO",
  "MessageName": "InvoicePurchased",
  "TransmittedTimeStamp": "2025-01-13T11:13:06.7689171Z"
 }
}
    

DunningLevelChanged

Customer receives first reminder.

    
        {
 "Body": {
  "DunningLevel": 1,
  "InvoiceNumber": "50034",
  "CustomerNumber": "C1234"
 },
 "Header": {
  "ShopId": "RTY00123",
  "Version": "1.0",
  "ClientId": 12345,
  "MessageId": "fe4e0f6-f061-45c7-ac62-72c4cd0d3b10",
  "CountryCode": "NO",
  "MessageName": "DunningLevelChanged",
  "TransmittedTimeStamp": "2024-11-22T09:30:48.9661286Z"
 }
}
    

Dunning level mapping:

1: Soft Reminder

2: 1st Reminder

3: 2nd Reminder

InvoiceStatus_PaymentReceived

    
        {
 "Body": {
  "Currency": "EUR",
  "PaidAmount": 15,
  "InvoiceNumber": "50034",
  "CustomerNumber": "C1234",
  "InvoiceOriginalAmount": 15
 },
 "Header": {
  "ShopId": "RTY00123",
  "Version": "1.0",
  "ClientId": 12345,
  "MessageId": "542b6ff7-da37-42a1-b4d3-a4d2b7fdfd2c",
  "CountryCode": "NO",
  "MessageName": "InvoiceStatus_PaymentReceived",
  "TransmittedTimeStamp": "2024-12-02T09:54:28.7032273Z"
 }
}
    

Message-Flow for Use Case 2

A customer disputes an invoice, claiming it is not theirs due to a potential error, such as a camera incorrectly reading a car’s license plate. The customer contacts support to report the issue. After the claim is verified, a refund is issued to the customer.

InvoiceCreated

    
        {
 "Body": {
  "Currency": "EUR",
  "OrderNumber": "2c27668e-f314-4638-b787-fad0317b4264",
  "InvoiceAmount": 50,
  "InvoiceNumber": "500587",
  "CustomerNumber": "C1236"
 },
 "Header": {
  "ShopId": "RTY00123",
  "Version": "1.0",
  "ClientId": 12345,
  "MessageId": "a0fb0f41-055a-48b9-992d-b8bbe8c391af",
  "CountryCode": "NO",
  "MessageName": "InvoiceCreated",
  "TransmittedTimeStamp": "2025-01-11T12:27:02.6811063Z"
 }
}
    

InvoicePurchased

    
        {
 "Body": {
  "Currency": "EUR",
  "OrderNumber": "0c27168e-f319-4638-b787-fad0317b4264",
  "InvoiceAmount": 50,
  "InvoiceNumber": "500587",
  "CustomerNumber": "C1236"
 },
 "Header": {
  "ShopId": "RTY00123",
  "Version": "1.0",
  "ClientId": 12345,
  "MessageId": "c0fb0f41-055a-48b9-992d-b8bbe8c391aj",
  "CountryCode": "NO",
  "MessageName": "InvoicePurchased",
  "TransmittedTimeStamp": "2025-01-11T12:28:03.1774499Z"
 }
}
    

Refund

    
        {
 "Body": {
  "Currency": "EUR",
  "OrderNumber": "0c27168e-f319-4638-b787-fad0317b4264",
  "RefundAmount": 50,
  "InvoiceNumber": "500587",
  "CustomerNumber": "C1236"
 },
 "Header": {
  "ShopId": "RTY00123",
  "Version": "1.0",
  "ClientId": 12345,
  "MessageId": "d0fb0f41-055a-48b9-992d-b9bbe8cr91aj",
  "CountryCode": "NO",
  "MessageName": "Refund",
  "TransmittedTimeStamp": "2025-01-21T10:38:03.1774499Z"
 }
}
    

Do you find this page helpful?