Once your user has used the payment button and paid, it's time listening for webhooks.

Setup your URL

Navigate to your shop and click on the cogwheel bottom left. Click on the developer tab. Type your "Webhook URL" and click setup.

Automatic Retrying

We will continue to send webhook messages until we receive a 200 ok from the endpoint you've setup. Because of that we do recommend that you setup a check for duplicate transactions.

Each retry will be exponentially delayed depending on how many time the message failed, so we don't spam your servers.

Verify Signature

In each request we add a "RDG_WH_SIGNATURE" variable. You can use your secret key (found in the developers tab), to verify the request is from us.

define('SECRET_KEY', '123test');
$request= json_decode(file_get_contents("php://input"), true);
if (!check_signature($request)) {
header("Status: 401 Unauthorized");
function check_signature($request) {
return $signature === hash_hmac(
$request['order']['transaction_id'] . $request['status'],

Payment Statuses




The payment is fully completed.

waiting for payment

The order is currently waiting for the customer to pay.


The order was refunded.


The order has an open dispute.

dispute canceled

The dispute was canceled / won, it will also change to completed status.


The dispute was lost, the money has been returned to the customer.

To see the payload the different statuses will send in the webhook, go to the next step below.