Listening for payout webhooks

📘

We covered how to create a webhook listener here in the getting setup guide - if you haven't done this already, go back to this step to get ready to receive webhooks.

In the payout workflow you should expect to receive the following webhooks:

EventDescription
statusChangedThe payout has transitioned to a new state.

For example:

{
  "source": "payment",
  "event": "statusChanged",
  "data": {
    "uuid": "e4d7860b-f683-4130-bb29-cfa08b07e9e4",
    "merchantDisplayName": "Merchant 1",
    "merchantId": "e9472fb3-e5b7-49fa-b00f-400c3ba34e67",
    "dateCreated": 1666626983000,
    "expiryDate": 1666628780000,
    "quoteExpiryDate": 1666627888000,
    "acceptanceExpiryDate": 1666627008000,
    "quoteStatus": "PAYMENT_OUT_PROCESSED",
    "reference": "123456789",
    "type": "OUT",
    "subType": "merchantPayOut",
    "status": "PROCESSING",
    "displayCurrency": {
      "currency": "XRP",
      "amount": 48.46881112,
      "actual": 48.46881112
    },
    "walletCurrency": {
      "currency": "XRP",
      "amount": 48.46881112,
      "actual": 48.46881112
    },
    "paidCurrency": {
      "currency": "XRP",
      "amount": 48.46881112,
      "actual": 48.46881112
    },
    "feeCurrency": {
      "currency": "XRP",
      "amount": 0.48468811,
      "actual": 0.48468811
    },
    "displayRate": {
      "base": "XRP",
      "counter": "XRP",
      "rate": 1
    },
    "exchangeRate": {
      "base": "XRP",
      "counter": "XRP",
      "rate": 1
    },
    "address": {
      "protocol": null,
      "address": "rUCiEz1egTcqBcDKHp9zeMC8Ho8beC328X",
      "tag": "1234567",
      "uri": null,
      "alternatives": []
    },
    "redirectUrl": "https://pay.sandbox.bvnk.com/payout?uuid=e4d7860b-f683-4130-bb29-cfa08b07e9e4",
    "returnUrl": "",
    "transactions": [
      {
        "dateCreated": 1666626991000,
        "dateConfirmed": null,
        "hash": null,
        "amount": 48.46880112,
        "risk": {
          "level": "LOW",
          "resourceName": "UNKNOWN",
          "resourceCategory": "UNKNOWN",
          "alerts": []
        },
        "networkFeeCurrency": "XRP",
        "networkFeeAmount": 0.00001,
        "sources": null,
        "exchangeRate": {
          "base": "XRP",
          "counter": "XRP",
          "rate": 1
        },
        "displayRate": {
          "base": "XRP",
          "counter": "XRP",
          "rate": 1
        }
      }
    ],
    "refund": null,
    "refunds": []
  }
}
{
  "source": "payment",
  "event": "statusChanged",
  "data": {
    "uuid": "e4d7860b-f683-4130-bb29-cfa08b07e9e4",
    "merchantDisplayName": "Merchant 1",
    "merchantId": "e9472fb3-e5b7-49fa-b00f-400c3ba34e67",
    "dateCreated": 1666626983000,
    "expiryDate": 1666628780000,
    "quoteExpiryDate": 1666627888000,
    "acceptanceExpiryDate": 1666627008000,
    "quoteStatus": "PAYMENT_OUT_PROCESSED",
    "reference": "123456789",
    "type": "OUT",
    "subType": "merchantPayOut",
    "status": "COMPLETE",
    "displayCurrency": {
      "currency": "XRP",
      "amount": 48.46881112,
      "actual": 48.46881112
    },
    "walletCurrency": {
      "currency": "XRP",
      "amount": 48.46881112,
      "actual": 48.46881112
    },
    "paidCurrency": {
      "currency": "XRP",
      "amount": 48.46881112,
      "actual": 48.46881112
    },
    "feeCurrency": {
      "currency": "XRP",
      "amount": 0.48468811,
      "actual": 0.48468811
    },
    "displayRate": {
      "base": "XRP",
      "counter": "XRP",
      "rate": 1
    },
    "exchangeRate": {
      "base": "XRP",
      "counter": "XRP",
      "rate": 1
    },
    "address": {
      "protocol": null,
      "address": "rUCiEz1egTcqBcDKHp9zeMC8Ho8beC328X",
      "tag": "1234567",
      "uri": null,
      "alternatives": []
    },
    "redirectUrl": "https://pay.sandbox.bvnk.com/payout?uuid=e4d7860b-f683-4130-bb29-cfa08b07e9e4",
    "returnUrl": "",
    "transactions": [
      {
        "dateCreated": 1666626991000,
        "dateConfirmed": null,
        "hash": null,
        "amount": 48.46880112,
        "risk": {
          "level": "LOW",
          "resourceName": "UNKNOWN",
          "resourceCategory": "UNKNOWN",
          "alerts": []
        },
        "networkFeeCurrency": "XRP",
        "networkFeeAmount": 0.00001,
        "sources": null,
        "exchangeRate": {
          "base": "XRP",
          "counter": "XRP",
          "rate": 1
        },
        "displayRate": {
          "base": "XRP",
          "counter": "XRP",
          "rate": 1
        }
      }
    ],
    "refund": null,
    "refunds": []
  }
}
{
  "source": "payment",
  "event": "statusChanged",
  "data": {
    "uuid": "e4d7860b-f683-4130-bb29-cfa08b07e9e4",
    "merchantDisplayName": "Merchant 1",
    "merchantId": "e9472fb3-e5b7-49fa-b00f-400c3ba34e67",
    "dateCreated": 1666626983000,
    "expiryDate": 1666628780000,
    "quoteExpiryDate": 1666627888000,
    "acceptanceExpiryDate": 1666627008000,
    "quoteStatus": "PAYMENT_OUT_PROCESSED",
    "reference": "123456789",
    "type": "OUT",
    "subType": "merchantPayOut",
    "status": "CANCELLED",
    "displayCurrency": {
      "currency": "XRP",
      "amount": 48.46881112,
      "actual": 0
    },
    "walletCurrency": {
      "currency": "XRP",
      "amount": 48.46881112,
      "actual": 0
    },
    "paidCurrency": {
      "currency": "XRP",
      "amount": 48.46881112,
      "actual": 0
    },
    "feeCurrency": {
      "currency": "XRP",
      "amount": 0.48468811,
      "actual": 0
    },
    "displayRate": {
      "base": "XRP",
      "counter": "XRP",
      "rate": 1
    },
    "exchangeRate": {
      "base": "XRP",
      "counter": "XRP",
      "rate": 1
    },
    "address": {
      "protocol": null,
      "address": "rUCiEz1egTcqBcDKHp9zeMC8Ho8beC328X",
      "tag": "1234567",
      "uri": null,
      "alternatives": []
    },
    "redirectUrl": "https://pay.sandbox.bvnk.com/payout?uuid=e4d7860b-f683-4130-bb29-cfa08b07e9e4",
    "returnUrl": "",
    "transactions": [],
    "refund": null,
    "refunds": []
  }
}