Webhooks Event Payloads

PPRO sends webhooks to notify you of changes across the payment, agreement, instrument, funds, reporting, and dispute lifecycles. Each webhook includes an eventType that identifies what happened and a payload with the current resource state.

Use this page as a reference for every supported event type and when you should expect to receive it.

The source, id, type, subject, time, specversion, and datacontenttype fields are common to all PPRO webhooks. Each webhook also contains the data object, which exposes different fields depending on the webhook type


Payment charge

Events for a single payment attempt—from creation through authorization, capture, void, and refund.

Webhooks Reference


Payment agreement

Events for recurring or mandate-based payment agreements.

Webhooks Reference


Payment instrument

Events for stored payment methods (for example, cards or bank accounts).

Webhooks Reference


Fund state

Webhooks Reference


Payment Report

Events for asynchronously generated report files.

Webhooks Reference


Dispute Report

Events for asynchronously generated report files.

Event typeWhen you receive it
REPORT_PROCESSEDThe report was generated successfully and is ready to download via downloadUrl.
REPORT_FAILEDReport generation failed. The payload may include failure details.
REPORT_EXPIREDThe report download link has expired and is no longer accessible.
{
    "source": "https://www.ppro.com",
    "id": "qjS6hgt4ACZdFH6L0JpyI",
    "type": "REPORT_PROCESSED",
    "subject": "report_Lo2Cfpm40xMp4hvJwvmeQ",
    "time": "2026-08-25T12:54:16.566067612Z",
    "specversion": "1.0.2",
    "datacontenttype": "application/json",
    "data": {
      "entityId": "report_Lo2Cfpm40xMp4hvJwvmeQ",
      "eventId": "qjS6hgt4ACZdLH6L0JpyI",
      "generatedAt": "2026-08-25T12:54:10.601968277Z",      
      "merchantId": "MERCHANT_ID",
      "startDate": "2026-05-28T12:54:03.143Z",
      "endDate": "2026-08-25T12:54:03.143Z",
      "downloadUrl": "https://ppro-gdp-reports...",
      "contentLength": "${contentLength}",
      "type": "REPORT_PROCESSED"
    }
  }
{
    "source": "https://www.ppro.com",
    "id": "qjS6hgt4ACZdFH6L0JpyI",
    "type": "REPORT_EXPIRED",
    "subject": "report_Lo2Cfpm40xMp4hvJwvmeQ",
    "time": "2026-08-25T12:54:16.566067612Z",
    "specversion": "1.0.2",
    "datacontenttype": "application/json",
    "data": {
      "entityId": "report_Lo2Cfpm40xMp4hvJwvmeQ",
      "eventId": "qjS6hgt4ACZdLH6L0JpyI",
      "generatedAt": "2026-08-25T12:54:10.601968277Z",      
      "merchantId": "MERCHANT_ID",
      "startDate": "2026-05-28T12:54:03.143Z",
      "endDate": "2026-08-25T12:54:03.143Z",
      "type": "REPORT_EXPIRED"
    }
  }
{
    "source": "https://www.ppro.com",
    "id": "qjS6hgt4ACZdFH6L0JpyI",
    "type": "REPORT_FAILED",
    "subject": "report_Lo2Cfpm40xMp4hvJwvmeQ",
    "time": "2026-08-25T12:54:16.566067612Z",
    "specversion": "1.0.2",
    "datacontenttype": "application/json",
    "data": {
      "entityId": "report_Lo2Cfpm40xMp4hvJwvmeQ",
      "eventId": "qjS6hgt4ACZdLH6L0JpyI",
      "generatedAt": "2026-08-25T12:54:10.601968277Z",      
      "merchantId": "MERCHANT_ID",
      "startDate": "2026-05-28T12:54:03.143Z",
      "endDate": "2026-08-25T12:54:03.143Z",
      "type": "REPORT_FAILED"
    }
  }

Dispute

Events for chargebacks and disputes after they enter the formal dispute flow.

Event typeWhen you receive it
DISPUTE_OPENA new dispute was created that may require an action.
DISPUTE_ACCEPT_PROCESSINGYou accepted the dispute.
DISPUTE_ACCEPT_FAILEDThe accept action failed and can be retried.
DISPUTE_CHALLENGE_PROCESSINGYou submitted a challenge.
DISPUTE_CHALLENGE_FAILEDThe challenge action failed and can be retried.
DISPUTE_UNDER_REVIEWThe provider or consumer is reviewing the dispute.
DISPUTE_WONThe dispute was resolved in the merchant's favor.
DISPUTE_LOSTThe dispute was resolved in the consumer's favor.
DISPUTE_VOIDEDThe dispute is no longer valid.
{
  "source": "https://www.ppro.com",
  "id": "qjS6hgt4ACZdFH6L0JpyI",
  "type": "EVENT_TYPE",
  "subject": "dispute_*****",
  "time": "2025-10-23T10:15:30Z",
  "specversion": "1.0.2",
  "datacontenttype": "application/json",
  "data": {
    "eventId": "qjS6hgt4ACZdFH6L0JpyI",
    "disputeId": "dispute_*****",
    "phase": "DISPUTE",
    "paymentChargeId": "charge_*****",
    "merchantPaymentChargeReference": "123abc*****",
    "merchantId": "123abc***",
  }
}

Pre-dispute

Events for pre-dispute programs (for example, early resolution before a formal chargeback).

Event typeWhen you receive it
PRE_DISPUTE_OPENA new pre-dispute was created and may require an action.
PRE_DISPUTE_ACCEPT_PROCESSINGYou accepted the pre-dispute.
PRE_DISPUTE_ACCEPT_FAILEDThe accept action failed and can be retried.
PRE_DISPUTE_CHALLENGE_PROCESSINGYou submitted a challenge.
PRE_DISPUTE_CHALLENGE_FAILEDThe challenge action failed and can be retried.
PRE_DISPUTE_OFFER_PROCESSINGYou submitted a custom offer.
PRE_DISPUTE_OFFER_FAILEDThe offer action failed and can be retried.
PRE_DISPUTE_UNDER_REVIEWThe provider or consumer is reviewing the pre-dispute.
PRE_DISPUTE_OFFER_ACCEPTEDThe consumer accepted your custom offer.
PRE_DISPUTE_OFFER_REJECTEDThe consumer rejected your custom offer.
PRE_DISPUTE_WONThe pre-dispute was resolved in the merchant's favor.
PRE_DISPUTE_LOSTThe pre-dispute was resolved in the consumer's favor.
PRE_DISPUTE_VOIDEDThe pre-dispute is no longer valid.
{
  "source": "https://www.ppro.com",
  "id": "qjS6hgt4ACZdFH6L0JpyI",
  "type": "EVENT_TYPE",
  "subject": "dispute_*****",
  "time": "2025-10-23T10:15:30Z",
  "specversion": "1.0.2",
  "datacontenttype": "application/json",
  "data": {
    "eventId": "qjS6hgt4ACZdFH6L0JpyI",
    "disputeId": "dispute_*****",
    "phase": "PRE_DISPUTE",
    "paymentChargeId": "charge_*****",
    "merchantPaymentChargeReference": "123abc*****",
    "merchantId": "123abc***",
  }
}

Pre-Arbitration

Event typeWhen you receive it
PRE_ARBITRATION_OPENA dispute was escalated to pre-arbitration and it may require an action.
PRE_ARBITRATION_ACCEPT_PROCESSINGYou accepted the dispute.
PRE_ARBITRATION_ACCEPT_FAILEDThe accept action failed and can be retried.
PRE_ARBITRATION_CHALLENGE_PROCESSINGYou submitted a challenge.
PRE_ARBITRATION_CHALLENGE_FAILEDThe challenge action failed and can be retried.
PRE_ARBITRATION_UNDER_REVIEWThe provider or consumer is reviewing the dispute.
PRE_ARBITRATION_WONThe dispute was resolved in the merchant's favor.
PRE_ARBITRATION_LOSTThe dispute was resolved in the consumer's favor.
PRE_ARBITRATION_VOIDEDThe dispute is no longer valid.
{
  "source": "https://www.ppro.com",
  "id": "qjS6hgt4ACZdFH6L0JpyI",
  "type": "EVENT_TYPE",
  "subject": "dispute_*****",
  "time": "2025-10-23T10:15:30Z",
  "specversion": "1.0.2",
  "datacontenttype": "application/json",
  "data": {
    "eventId": "qjS6hgt4ACZdFH6L0JpyI",
    "disputeId": "dispute_*****",
    "phase": "PRE_ARBITRATION",
    "paymentChargeId": "charge_*****",
    "merchantPaymentChargeReference": "123abc*****",
    "merchantId": "123abc***",
  }
}

Arbitration

Event typeWhen you receive it
ARBITRATION_OPENA dispute was escalated to arbitration and it may require an action.
ARBITRATION_ACCEPT_PROCESSINGYou accepted the dispute.
ARBITRATION_ACCEPT_FAILEDThe accept action failed and can be retried.
ARBITRATION_CHALLENGE_PROCESSINGYou submitted a challenge.
ARBITRATION_CHALLENGE_FAILEDThe challenge action failed and can be retried.
ARBITRATION_UNDER_REVIEWThe provider or consumer is reviewing the dispute.
ARBITRATION_WONThe dispute was resolved in the merchant's favor.
ARBITRATION_LOSTThe dispute was resolved in the consumer's favor.
ARBITRATION_VOIDEDThe dispute is no longer valid.
{
  "source": "https://www.ppro.com",
  "id": "qjS6hgt4ACZdFH6L0JpyI",
  "type": "EVENT_TYPE",
  "subject": "dispute_*****",
  "time": "2025-10-23T10:15:30Z",
  "specversion": "1.0.2",
  "datacontenttype": "application/json",
  "data": {
    "eventId": "qjS6hgt4ACZdFH6L0JpyI",
    "disputeId": "dispute_*****",
    "phase": "ARBITRATION",
    "paymentChargeId": "charge_*****",
    "merchantPaymentChargeReference": "123abc*****",
    "merchantId": "123abc***",
  }
}

Chargebacks

Event typeWhen you receive it
CHARGEBACK_CREATEDWhen funds are debited from your account at PPRO.
CHARGEBACK_REVERSAL_CREATEDWhen funds are credited in your account at PPRO after originally being debited.
{
  "source": "https://www.ppro.com",
  "id": "qjS6hgt4ACZdFH6L0JpyI",
  "type": "EVENT_TYPE",
  "subject": "cb_*****",
  "time": "2025-10-23T10:15:30Z",
  "specversion": "1.0.2",
  "datacontenttype": "application/json",
  "data": {
    "eventId": "qjS6hgt4ACZdFH6L0JpyI",
    "entityId": "cb_*****",
    "disputeId": "dispute_*****",
    "paymentChargeId": "charge_*****",
    "merchantPaymentChargeReference": "123abc*****",
    "merchantId": "123abc***",
    "type": "EVENT_TYPE",
    "generatedAt": "2025-10-23T10:15:30Z"
  }
}

Merchant Onboarding Status

Events for merchant lifecycle status changes.

Event typeWhen you receive it
MERCHANT_STATUS_UPDATEDA merchant's status changed — for example, moving from PENDING to ACTIVE, or becoming SUSPENDED.
{
  "specversion": "1.0.2",
  "source": "https://www.ppro.com",
  "datacontenttype": "application/json",
  "id": "evt_bcdefghijklmnop234567",
  "type": "MERCHANT_STATUS_UPDATED",
  "subject": "MIDNITH123",
  "time": "2026-04-08T14:15:00.000Z",
  "data": {
    "type": "MERCHANT_STATUS_UPDATED",
    "merchantId": "MIDNITH123",
    "currentStatus": {
      "status": "PENDING",
      "updatedAt": "2026-04-08T14:14:55.000Z"
    },
    "previousStatus": null
  }
}
{
  "specversion": "1.0.2",
  "source": "https://www.ppro.com",
  "datacontenttype": "application/json",
  "id": "evt_abcdefghijklmno123456",
  "type": "MERCHANT_STATUS_UPDATED",
  "subject": "MIDNITH123",
  "time": "2026-04-08T14:15:00.000Z",
  "data": {
    "type": "MERCHANT_STATUS_UPDATED",
    "merchantId": "MIDNITH123",
    "currentStatus": {
      "status": "SUSPENDED",
      "updatedAt": "2026-04-08T14:14:55.000Z",
      "statusReason": {
        "reasonCode": "RISK_CHECK",
        "reasonMessage": "The merchant has been flagged for risk and is under review"
      }
    },
    "previousStatus": {
      "status": "ACTIVE",
      "updatedAt": "2026-04-07T10:00:00.000Z"
    }
  }
}

Merchant Payment Method Enrollment Status

Events for enrollment status changes.

Event typeWhen you receive it
ENROLLMENT_STATUS_UPDATEDAn enrollment's status changed — for example, moving to ACTIVE, or FAILED with a reason.
{
  "specversion": "1.0.2",
  "source": "https://www.ppro.com",
  "datacontenttype": "application/json",
  "id": "evt_bcdefghijklmnop234567",
  "type": "ENROLLMENT_STATUS_UPDATED",
  "subject": "enrollment_lUj4DR28ygrIgcuhhdZZa",
  "time": "2026-10-06T14:15:00.000Z",
  "data": {
    "type": "ENROLLMENT_STATUS_UPDATED",
    "enrollmentId": "enrollment_lUj4DR28ygrIgcuhhdZZa",
    "merchantId": "PPROULRICHTEEPTCORP855605A49436F",
    "paymentMethod": "TWINT",
    "currentStatus": {
      "status": "ACTIVE",
      "updatedAt": "2026-10-06T14:14:55.000Z"
    },
    "previousStatus": null
  }
}
{
  "specversion": "1.0.2",
  "source": "https://www.ppro.com",
  "datacontenttype": "application/json",
  "id": "evt_abcdefghijklmno123456",
  "type": "ENROLLMENT_STATUS_UPDATED",
  "subject": "enrollment_lUj4DR28ygrIgcuhhdZZa",
  "time": "2026-10-06T14:15:00.000Z",
  "data": {
    "type": "ENROLLMENT_STATUS_UPDATED",
    "enrollmentId": "enrollment_lUj4DR28ygrIgcuhhdZZa",
    "merchantId": "PPROULRICHTEEPTCORP855605A49436F",
    "paymentMethod": "TWINT",
    "currentStatus": {
      "status": "FAILED",
      "updatedAt": "2026-10-06T14:14:55.000Z",
      "statusReason": {
        "reasonType": "PROVIDER_DECLINE",
        "reasonCode": "GENERIC_DECLINE",
        "reasonMessage": "enrollment declined"
      }
    },
    "previousStatus": {
      "status": "ACTIVE",
      "updatedAt": "2026-10-05T10:00:00.000Z"
    }
  }
}

Did this page help you?