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.
Payment agreement
Events for recurring or mandate-based payment agreements.
Payment instrument
Events for stored payment methods (for example, cards or bank accounts).
Fund state
Payment Report
Events for asynchronously generated report files.
Dispute Report
Events for asynchronously generated report files.
| Event type | When you receive it |
|---|---|
REPORT_PROCESSED | The report was generated successfully and is ready to download via downloadUrl. |
REPORT_FAILED | Report generation failed. The payload may include failure details. |
REPORT_EXPIRED | The 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 type | When you receive it |
|---|---|
DISPUTE_OPEN | A new dispute was created that may require an action. |
DISPUTE_ACCEPT_PROCESSING | You accepted the dispute. |
DISPUTE_ACCEPT_FAILED | The accept action failed and can be retried. |
DISPUTE_CHALLENGE_PROCESSING | You submitted a challenge. |
DISPUTE_CHALLENGE_FAILED | The challenge action failed and can be retried. |
DISPUTE_UNDER_REVIEW | The provider or consumer is reviewing the dispute. |
DISPUTE_WON | The dispute was resolved in the merchant's favor. |
DISPUTE_LOST | The dispute was resolved in the consumer's favor. |
DISPUTE_VOIDED | The 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 type | When you receive it |
|---|---|
PRE_DISPUTE_OPEN | A new pre-dispute was created and may require an action. |
PRE_DISPUTE_ACCEPT_PROCESSING | You accepted the pre-dispute. |
PRE_DISPUTE_ACCEPT_FAILED | The accept action failed and can be retried. |
PRE_DISPUTE_CHALLENGE_PROCESSING | You submitted a challenge. |
PRE_DISPUTE_CHALLENGE_FAILED | The challenge action failed and can be retried. |
PRE_DISPUTE_OFFER_PROCESSING | You submitted a custom offer. |
PRE_DISPUTE_OFFER_FAILED | The offer action failed and can be retried. |
PRE_DISPUTE_UNDER_REVIEW | The provider or consumer is reviewing the pre-dispute. |
PRE_DISPUTE_OFFER_ACCEPTED | The consumer accepted your custom offer. |
PRE_DISPUTE_OFFER_REJECTED | The consumer rejected your custom offer. |
PRE_DISPUTE_WON | The pre-dispute was resolved in the merchant's favor. |
PRE_DISPUTE_LOST | The pre-dispute was resolved in the consumer's favor. |
PRE_DISPUTE_VOIDED | The 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 type | When you receive it |
|---|---|
PRE_ARBITRATION_OPEN | A dispute was escalated to pre-arbitration and it may require an action. |
PRE_ARBITRATION_ACCEPT_PROCESSING | You accepted the dispute. |
PRE_ARBITRATION_ACCEPT_FAILED | The accept action failed and can be retried. |
PRE_ARBITRATION_CHALLENGE_PROCESSING | You submitted a challenge. |
PRE_ARBITRATION_CHALLENGE_FAILED | The challenge action failed and can be retried. |
PRE_ARBITRATION_UNDER_REVIEW | The provider or consumer is reviewing the dispute. |
PRE_ARBITRATION_WON | The dispute was resolved in the merchant's favor. |
PRE_ARBITRATION_LOST | The dispute was resolved in the consumer's favor. |
PRE_ARBITRATION_VOIDED | The 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 type | When you receive it |
|---|---|
ARBITRATION_OPEN | A dispute was escalated to arbitration and it may require an action. |
ARBITRATION_ACCEPT_PROCESSING | You accepted the dispute. |
ARBITRATION_ACCEPT_FAILED | The accept action failed and can be retried. |
ARBITRATION_CHALLENGE_PROCESSING | You submitted a challenge. |
ARBITRATION_CHALLENGE_FAILED | The challenge action failed and can be retried. |
ARBITRATION_UNDER_REVIEW | The provider or consumer is reviewing the dispute. |
ARBITRATION_WON | The dispute was resolved in the merchant's favor. |
ARBITRATION_LOST | The dispute was resolved in the consumer's favor. |
ARBITRATION_VOIDED | The 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 type | When you receive it |
|---|---|
CHARGEBACK_CREATED | When funds are debited from your account at PPRO. |
CHARGEBACK_REVERSAL_CREATED | When 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 type | When you receive it |
|---|---|
MERCHANT_STATUS_UPDATED | A 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 type | When you receive it |
|---|---|
ENROLLMENT_STATUS_UPDATED | An 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"
}
}
}Updated 16 days ago