Direct Debit Clearance Webhook
code examples curl request post \\ \ url https //api mpay com au/directdebitclearanceeventwebhook target url \\ \ header 'accept application/json' \\ \ header 'content type application/json' \\ \ header 'authorisation ' \\ \ header 'verification signature e+afaj2w69rawbsgn+rssnfm2iseblo0mxnx9qtoh2k5mst1ceepcrvszgljzoplel2ea/iylbfgzddxvrtcnlinohsxm/smimnjbt8sq30fbvsnmjlfdnrz6foikl3e3cu9b+m4ovl8hafpohb67irndnycncvbm10qhrioiak=' \\ \ header 'webhookid 1234567' \\ \ data '\[ { "totalcount" 3 } ]'var myheaders = new headers(); myheaders append("accept", "application/json"); myheaders append("content type", "application/json"); myheaders append("authorisation", " "); myheaders append("verification signature", "e+afaj2w69rawbsgn+rssnfm2iseblo0mxnx9qtoh2k5mst1ceepcrvszgljzoplel2ea/iylbfgzddxvrtcnlinohsxm/smimnjbt8sq30fbvsnmjlfdnrz6foikl3e3cu9b+m4ovl8hafpohb67irndnycncvbm10qhrioiak="); myheaders append("webhookid", "1234567"); var raw = json stringify(\[ { "totalcount" 3 } ]); var requestoptions = { method 'post', headers myheaders, body raw, redirect 'follow' }; fetch("https //api mpay com au/directdebitclearanceeventwebhook target url", requestoptions) then(response => response text()) then(result => console log(result)) catch(error => console log('error', error));require "uri" require "json" require "net/http" url = uri("https //api mpay com au/directdebitclearanceeventwebhook target url") https = net http new(url host, url port) https use ssl = true request = net http post new(url) request\["accept"] = "application/json" request\["content type"] = "application/json" request\["authorisation"] = " " request\["verification signature"] = "e+afaj2w69rawbsgn+rssnfm2iseblo0mxnx9qtoh2k5mst1ceepcrvszgljzoplel2ea/iylbfgzddxvrtcnlinohsxm/smimnjbt8sq30fbvsnmjlfdnrz6foikl3e3cu9b+m4ovl8hafpohb67irndnycncvbm10qhrioiak=" request\["webhookid"] = "1234567" request body = json dump(\[ { "totalcount" 3 } ]) response = https request(request) puts response read body import requests import json url = "https //api mpay com au/directdebitclearanceeventwebhook target url" payload = json dumps(\[ { "totalcount" 3 } ]) headers = { 'accept' 'application/json', 'content type' 'application/json', 'authorisation' ' ', 'verification signature' 'e+afaj2w69rawbsgn+rssnfm2iseblo0mxnx9qtoh2k5mst1ceepcrvszgljzoplel2ea/iylbfgzddxvrtcnlinohsxm/smimnjbt8sq30fbvsnmjlfdnrz6foikl3e3cu9b+m4ovl8hafpohb67irndnycncvbm10qhrioiak=', 'webhookid' '1234567' } response = requests request("post", url, headers=headers, data=payload) print(response text) responses // success the notification passed validation and your endpoint has accepted responsibility for it return this as soon as the payload is persisted — do not wait for downstream processing monoova treats any 2xx as a successful delivery and will not retry { "status" "received", "webhookid" 1234567, "receivedat" "2026 09 10t14 32 12" }// bad request the notification could not be parsed, or a field failed your validation monoova will not retry a notification that is rejected with a 400, so return it only for a genuinely malformed payload — never for a transient fault on your side { "status" "rejected", "errorcode" "invalid payload", "errormessage" "field 'amount' is not a valid decimal value ", "webhookid" 1234567, "receivedat" "2026 09 10t14 32 12" }// unauthorised the authorisation header was missing or did not match the value registered on the subscription, or the verification signature header failed sha256 verification against the monoova public key return this without processing the payload { "status" "rejected", "errorcode" "invalid payload", "errormessage" "field 'amount' is not a valid decimal value ", "webhookid" 1234567, "receivedat" "2026 09 10t14 32 12" }// internal server error your endpoint accepted the notification but could not process it because of a fault on your side monoova retries a notification that fails with a 5xx, so return this — rather than a 400 — whenever the failure is transient and a redelivery could succeed { "status" "rejected", "errorcode" "invalid payload", "errormessage" "field 'amount' is not a valid decimal value ", "webhookid" 1234567, "receivedat" "2026 09 10t14 32 12" }