Webhooks

A webhook is a simple mechanism that allows PPRO to push event-driven messages using HTTP POST calls to an endpoint that you define, they are crucial for keeping your systems synchronized with the latest status of the entities. Webhooks are an essential feature of a successful integration with PPRO.

This request contains a JSON payload describing the event and the associated resource. You need to accept webhooks that you receive with a 2xx HTTP status code, store the message, and process the contents of the message.

Webhooks remove the need to continuously poll an API endpoint for status updates in asynchronous processes. They are particularly useful for long-running operations, where changes to a resource or its status may occur after seconds, minutes, hours, or even days. Instead, you can initiate an API request and continue with other tasks. When a relevant event occurs, PPRO notifies you via a webhook, allowing you to respond to the status change as needed.

For maximum compatibility and ease of integration with your cloud infrastructure, all PPRO webhooks follow the CloudEvents 1.0.2 specification. This provides a consistent, standardized envelope for all event data, regardless of the event type.

Endpoint requirements

Before you can receive webhooks, you must configure a dedicated endpoint on your server. This endpoint acts as a callback URL for PPRO.

HTTPS only

Your endpoint must be secured with HTTPS and configured to listen for incoming requests on an open TCP port for HTTPS traffic (typically port 443).

Set the URL

Specify your endpoint URL using the webhooksUrl parameter in your initial API requests (e.g., when creating a payment charge or payment agreement).
Alternatively, you can ask your technical account manager to set a default webhooksUrl configuration for your account. If required separate URLs can be configured for payments and dispute events.

Custom headers

You can optionally include custom headers (key-value pairs) in the webhook configuration if your endpoint requires them for internal routing or security.

Signing secret

To protect your server from unauthorized webhooks, we strongly recommend using Hash-based Message Authentication Code (HMAC) signatures which are provided in the PPRO-Signature header. By verifying the signature included in each webhook event, you can ensure that the event originated from PPRO and has not been altered in transit. Please contact your technical account manager to set the secret for your account.

Note - The support for the non-HMAC Webhook-Signature headers is deprecated for new customers.

Responding to webhooks

To ensure reliable delivery and avoid unnecessary retries, your endpoint must respond quickly and correctly. Do this before executing any complex business logic:

  1. Acknowledge immediately: Your server must return an HTTP 2xx response code (e.g., 200 OK) as soon as possible after receiving the request. This signal confirms receipt to PPRO.
  2. Store first: Immediately store the webhook payload in your database. Defer the actual processing (updating inventory, sending customer emails, etc.) to a background job queue. This practice prevents timeouts and ensures you don't lose events.

Retrying webhooks

If PPRO does not receive a successful acknowledgement (an HTTP 2xx response), we automatically retry the delivery to ensure you don't miss a critical event.

We use an exponential backoff model for retries:

  • First retry: Occurs after 15 seconds.
  • Subsequent attempts: The interval is doubled for each subsequent attempt.
  • Maximum: The system attempts a maximum of 15 deliveries.
  • Total window: The total retry window for a single webhook event spans approximately 68 hours.

Verifying webhooks

To ensure that a webhook truly originates from PPRO and has not been altered in transit, we strongly recommend that you validate the signature included in the respective headers.

How to verify HMAC signatures

ppro-signature: t=1776785532,s=5271af077eb3525e5c50ceaa44834ff10cc6f32f6bd060e341e0dad60bae49bb
  1. Compute a hash using the following formula:
sha256(t + "." + payload)
  • t is the UNIX timestamp from the PPRO-Signature header.
  • payload is the raw content string payload in the webhook body (NOT in prettified JSON format).
  • Use the pre-configured secret as the HMAC signing key.
  • It is best advised to validate the timestamp to know if the webhook is recent enough as it is also used to calculate the SHA.
  1. Compare your computed HMAC hash with the s value from the PPRO-Signature header.

How to verify Custom signatures (deprecated)

webhook-signature: fccb970608324c31c8f1bdf2cd6af76b9b28733a08f297bd9e693bd813aec041
  1. Compute a hash using the following formula:
sha256(payload + "." + signingSecret)
  • signingSecret is the secret key that is pre-configured.
  • payload is the raw content string payload in the webhook body (NOT in prettified JSON format).
  1. Compare your computed hash with the value from the Webhook-Signature header.

If they match: the webhook is authentic.

If they don't: reject the webhook.

Example

HMAC Webhook Signing secret

ppro-hmac-secret

Raw payload

{"specversion":"1.0.2","source":"https://www.ppro.com","datacontenttype":"application/json","id":"XvpFAF6I7ypsaxv0xJ9BW","type":"PAYMENT_CHARGE_CREATED","subject":"charge_bcxWI3Xf7X9P3etLPUOv8","time":"2026-04-21T15:32:12.343Z","data":{"paymentChargeId":"charge_bcxWI3Xf7X9P3etLPUOv8","paymentChargeStatus":"AUTHORIZATION_PROCESSING","paymentMethod":"IDEAL","merchantId":"merch_applauselive","merchantPaymentChargeReference":"ABCD-1234-PQRS-5678","type":"PAYMENT_CHARGE_CREATED","paymentMedium":"ECOMMERCE","paymentDescriptor":"Acme Inc - Order No 12345","amount":{"value":10000,"currency":"EUR"},"consumer":{"name":"Julia Nowak","email":"[email protected]","country":"NL"},"authenticationSettings":[{"settings":{"returnUrl":"https://www.ppro.com/"},"type":"REDIRECT"}],"instrument":{"id":"instr_JKDpw81fJ8g2uPtsiI8MU","type":"BANK_ACCOUNT"}}}

PPRO-Signature

ppro-signature: t=1776785532,s=5271af077eb3525e5c50ceaa44834ff10cc6f32f6bd060e341e0dad60bae49bb

Webhook Events

PPRO sends webhooks to notify you of key events in the boarding, payment and dispute lifecycle. Each event type corresponds to a specific action or status update in our system.

Event TypeDetails
PAYMENT_CHARGE_CREATEDA new payment charge was created and recorded in PPRO.
PAYMENT_CHARGE_AUTHENTICATION_PENDINGThe payment charge is awaiting consumer authentication before authorization can proceed.
PAYMENT_CHARGE_DISCARDEDThe consumer failed to complete authentication within the allowed timeframe or the discard endpoint was called, discardType shows which occured. Refer to the payment method guides for method-specific timeout limits.
PAYMENT_CHARGE_DISCARD_FAILEDThe discard request failed.
PAYMENT_CHARGE_PROVIDER_CONFIRMATION_PENDINGThe authorization request has been sent and is awaiting a definitive success or failure confirmation from the payment provider (i.e., the provider could not give an immediate response).
PAYMENT_CHARGE_AUTHORIZATION_SUCCEEDEDThe authorization was successfully completed. The payload includes a flag indicating whether the payment is multi-step and requires a separate capture. For multi-step methods, if the auto-capture flag was not set, you must explicitly send a capture request.
PAYMENT_CHARGE_AUTHORIZATION_FAILEDThe authorization attempt failed. The payload includes an error object with details about the failure.
PAYMENT_CHARGE_CAPTURE_SUCCEEDEDThe requested amount was successfully captured.
PAYMENT_CHARGE_CAPTURE_FAILEDThe capture for the requested amount failed.
PAYMENT_CHARGE_VOID_SUCCEEDEDThe payment charge was successfully voided, canceling the authorization before any capture occurred.
PAYMENT_CHARGE_VOID_FAILEDThe attempt to void the payment charge failed, leaving the authorization active.
PAYMENT_CHARGE_REFUND_PENDINGA refund has been requested and is awaiting processing by PPRO or the provider.
PAYMENT_CHARGE_REFUND_SUCCEEDEDThe requested refund was successfully processed.
PAYMENT_CHARGE_REFUND_FAILEDThe refund attempt failed. The payload includes an error object with details about the failure.

Example Webhooks

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

{
  "specversion": "1.0.2",
  "source": "https://www.ppro.com",
  "datacontenttype": "application/json",
  "id": "p2enTSNZMUXf9VJFUqCeq",
  "type": "PAYMENT_CHARGE_CREATED",
  "subject": "charge_df0FELNuG0L6ENt0Wzs4T",
  "time": "2026-04-13T19:40:38.021Z",
  "data": {
    "paymentChargeId": "charge_df0FELNuG0L6ENt0Wzs4T",
    "paymentChargeStatus": "AUTHORIZATION_PROCESSING",
    "paymentMethod": "IDEAL",
    "merchantId": "MERCHANT_ID",
    "merchantPaymentChargeReference": "ABCD-1234-PQRS-5678",
    "type": "PAYMENT_CHARGE_CREATED",
    "paymentMedium": "ECOMMERCE",
    "paymentDescriptor": "Acme Inc - Order No 12345",
    "amount": {
      "value": 10000,
      "currency": "EUR"
    },
    "consumer": {
      "name": "Julia Nowak",
      "email": "[email protected]",
      "country": "NL"
    },
    "authenticationSettings": [
      {
        "settings": {
          "returnUrl": "https://www.ppro.com/"
        },
        "type": "REDIRECT"
      }
    ],
    "instrument": {
      "id": "instr_hlhPqhOoU4unj5cH3uybm",
      "type": "BANK_ACCOUNT"
    }
  }
}
{
  "specversion": "1.0.2",
  "source": "https://www.ppro.com",
  "datacontenttype": "application/json",
  "id": "lul53W0G5GOeL49bko0bo",
  "type": "PAYMENT_CHARGE_AUTHENTICATION_PENDING",
  "subject": "charge_4s20gLu6wxBjTvGZSRq7F",
  "time": "2026-04-13T19:28:13.711Z",
  "data": {
    "paymentChargeId": "charge_4s20gLu6wxBjTvGZSRq7F",
    "paymentChargeStatus": "AUTHENTICATION_PENDING",
    "paymentMethod": "IDEAL",
    "merchantId": "MERCHANT_ID",
    "merchantPaymentChargeReference": "ABCD-1234-PQRS-5678",
    "type": "PAYMENT_CHARGE_AUTHENTICATION_PENDING",
    "authorizationId": "authz_fRKZ98Q040jxxOske3eNq",
    "amount": {
      "value": 10000,
      "currency": "EUR"
    },
    "authenticationMethods": [
      {
        "details": {
          "requestUrl": "https://authman.sandbox.lp-pl.ppro.com/f?redirection_token=eyJhbGciOiJIUzUxMiJ9.eyJzZXNzaW9uIjp7InIiOiJjaGFyZ2VfNHMyMGdMdTZ3eEJqVHZHWlNScTdGIn19.UX9ZNvhLuGThAgIXUA9A5JojcQYcflkeOEvZpL0AVK7qSxdeUTPDcf3b7D55PbQ_wKr9u7caPJ5IIbiOjaMClg",
          "requestMethod": "GET"
        },
        "type": "REDIRECT"
      }
    ]
  }
}
{
  "specversion": "1.0.2",
  "source": "https://www.ppro.com",
  "datacontenttype": "application/json",
  "id": "QVtqk5RsgXl7E0AjOierm",
  "type": "PAYMENT_CHARGE_AUTHORIZATION_SUCCEEDED",
  "subject": "charge_4s20gLu6wxBjTvGZSRq7F",
  "time": "2026-04-13T19:30:15.674Z",
  "data": {
    "paymentChargeId": "charge_4s20gLu6wxBjTvGZSRq7F",
    "paymentChargeStatus": "CAPTURED",
    "paymentMethod": "IDEAL",
    "merchantId": "MERCHANT_ID",
    "merchantPaymentChargeReference": "ABCD-1234-PQRS-5678",
    "type": "PAYMENT_CHARGE_AUTHORIZATION_SUCCEEDED",
    "authorizationId": "authz_OWo9qLp4i5WjaIVxtsewQ",
    "amount": {
      "value": 10000,
      "currency": "EUR"
    },
    "isMultiStep": false
  }
}
{
  "specversion": "1.0.2",
  "source": "https://www.ppro.com",
  "datacontenttype": "application/json",
  "id": "cf58tintUBxm8cvnNnM1S",
  "type": "PAYMENT_CHARGE_CAPTURE_SUCCEEDED",
  "subject": "charge_4s20gLu6wxBjTvGZSRq7F",
  "time": "2026-04-13T19:30:16.729Z",
  "data": {
    "paymentChargeId": "charge_4s20gLu6wxBjTvGZSRq7F",
    "paymentChargeStatus": "CAPTURED",
    "paymentMethod": "IDEAL",
    "merchantId": "MERCHANT_ID",
    "merchantPaymentChargeReference": "ABCD-1234-PQRS-5678",
    "type": "PAYMENT_CHARGE_CAPTURE_SUCCEEDED",
    "captureId": "capture_zlI2krAD8etu6LATynmvU",
    "amount": {
      "value": 10000,
      "currency": "EUR"
    },
    "merchantCaptureReference": "ABCD-1234-PQRS-5678"
  }
}
{
  "source": "https://www.ppro.com",
  "id": "s3BJsvyiYRBJOvQTLk8oa",
  "type": "PAYMENT_CHARGE_DISCARDED",
  "subject": "charge_NlB91cmKbL4v0tUHtho3d",
  "time": "2025-10-27T14:46:11.752Z",
  "data": {
    "paymentChargeId": "charge_NlB91cmKbL4v0tUHtho3d",
    "paymentChargeStatus": "DISCARDED",
    "paymentMethod": "IDEAL",
    "merchantId": "MERCHANT_ID",
    "type": "PAYMENT_CHARGE_DISCARDED",
    "discardType": "MERCHANT_INITIATED_DISCARD",
    "authorizationId": "authz_sLC4hEmEp79zXznsJrQ9O",
    "amount": {
      "value": 1000,
      "currency": "CHF"
    },
    "merchantDiscardReference": "Discard test"
  },
  "specversion": "1.0.2",
  "datacontenttype": "application/json"
}
{
  "source": "https://www.ppro.com",
  "id": "3sReOGKGY6kPTEUH8j8mZ",
  "type": "PAYMENT_CHARGE_VOID_SUCCEEDED",
  "subject": "PAYMENT_CHARGE_VOID_SUCCEEDED",
  "time": "2024-01-08T23:45:39.014Z",
  "data": {
    "paymentChargeId": "charge_75HV7qzznWIN5hIWbmhXw",
    "paymentChargeStatus": "VOIDED",
    "paymentMethod": "IDEAL",
    "merchantId": "MERCHANT_ID",
    "merchantPaymentChargeReference": "YOUR_REFERENCE_HERE",
    "type": "PAYMENT_CHARGE_VOID_SUCCEEDED",
    "voidId": "void_cy0R2EcqD8J1kteCBkHse",
    "amount": {
      "value": 1000,
      "currency": "BRL"
    },
    "merchantVoidReference": "optional_different_refence_for_operation"
  },
  "specversion": "1.0.2",
  "datacontenttype": "application/json"
}
{
  "specversion": "1.0.2",
  "source": "https://www.ppro.com",
  "datacontenttype": "application/json",
  "id": "NfnZIHdNf3OTqRr0ajrzX",
  "type": "PAYMENT_CHARGE_VOID_FAILED",
  "subject": "charge_KaFzYH0ui2B6Tflhjlash",
  "time": "2025-12-17T09:44:47.144Z",
  "data": {
    "paymentChargeId": "charge_KaFzYH0ui2B6Tflhjlash",
    "paymentChargeStatus": "AUTHENTICATION_PENDING",
    "paymentMethod": "IDEAL",
    "merchantId": "MERCHANT_ID",
    "merchantPaymentChargeReference": "YOUR_ORDER_NUMBER",
    "orderReferenceNumber": "ORDER TEST",
    "type": "PAYMENT_CHARGE_VOID_FAILED",
    "voidId": "void_KvXg3HVwrqThIwp04E10X",
    "amount": {
      "value": 89912,
      "currency": "PLN"
    },
    "failure": {
      "failureType": "INTERNAL_DECLINE",
      "failureCode": "NO_AUTHORIZED_AMOUNT",
      "failureMessage": "Unexpected charge status while processing void request: AUTHENTICATION_PENDING"
    },
    "merchantVoidReference": "YOUR_REFUND_REFERENCE"
  }
}
{
  "specversion": "1.0.2",
  "source": "https://www.ppro.com",
  "datacontenttype": "application/json",
  "id": "3yITrEH8M7jp5FnSlCtZ9",
  "type": "PAYMENT_CHARGE_AUTHORIZATION_FAILED",
  "subject": "charge_kupE1TgAZwDHGlFo0ZCgQ",
  "time": "2026-04-13T19:31:55.076Z",
  "data": {
    "paymentChargeId": "charge_kupE1TgAZwDHGlFo0ZCgQ",
    "paymentChargeStatus": "FAILED",
    "paymentMethod": "IDEAL",
    "merchantId": "MERCHANT_ID",
    "merchantPaymentChargeReference": "ABCD-1234-PQRS-5678",
    "type": "PAYMENT_CHARGE_AUTHORIZATION_FAILED",
    "authorizationId": "authz_Rj0LEjpCVo4kyAsbaiegL",
    "amount": {
      "value": 10000,
      "currency": "EUR"
    },
    "failure": {
      "failureType": "PROVIDER_DECLINE",
      "failureCode": "GENERIC_DECLINE",
      "failureMessage": "Generic decline"
    }
  }
}
{
  "specversion": "1.0.2",
  "source": "https://www.ppro.com",
  "datacontenttype": "application/json",
  "id": "aGT3L3P8cbR41ZNCORV45",
  "type": "PAYMENT_CHARGE_CAPTURE_FAILED",
  "subject": "charge_KaFzYH0ui2B6Tflhjlash",
  "time": "2025-12-17T09:43:52.591Z",
  "data": {
    "paymentChargeId": "charge_KaFzYH0ui2B6Tflhjlash",
    "paymentChargeStatus": "AUTHENTICATION_PENDING",
    "paymentMethod": "IDEAL",
    "merchantId": "MERCHANT_ID",
    "merchantPaymentChargeReference": "YOUR_ORDER_NUMBER",
    "orderReferenceNumber": "ORDER TEST",
    "type": "PAYMENT_CHARGE_CAPTURE_FAILED",
    "captureId": "capture_79vKuFCfFeUpqXeucRoag",
    "amount": {
      "value": 123123,
      "currency": "PLN"
    },
    "failure": {
      "failureType": "INTERNAL_DECLINE",
      "failureCode": "NO_AUTHORIZED_AMOUNT",
      "failureMessage": "Unexpected charge status while processing capture request: AUTHENTICATION_PENDING"
    },
    "merchantCaptureReference": "YOUR_CAPTURE_REFERENCE"
  }
}
{
  "source": "https://www.ppro.com",
  "id": "1eyjX7KcrPk7UFz0NuQwj",
  "type": "PAYMENT_CHARGE_REFUND_SUCCEEDED",
  "subject": "PAYMENT_CHARGE_REFUND_SUCCEEDED",
  "time": "2024-01-08T23:18:14.847Z",
  "data": {
    "paymentChargeId": "charge_suhuFV3903klVteuCvDp7",
    "paymentChargeStatus": "REFUNDED",
    "paymentMethod": "IDEAL",
    "merchantId": "MERCHANT_ID",
    "merchantPaymentChargeReference": "YOUR_REFERENCE_HERE",
    "type": "PAYMENT_CHARGE_REFUND_SUCCEEDED",
    "refundId": "refund_xAlYloaS9RSAdzSFB5fJh",
    "amount": {
      "value": 1000,
      "currency": "EUR"
    },
    "merchantRefundReference": "optional_set_different_reference_for_operation"
  },
  "specversion": "1.0.2",
  "datacontenttype": "application/json"
}
{
  "specversion": "1.0.2",
  "source": "https://www.ppro.com",
  "datacontenttype": "application/json",
  "id": "BwkDaHlMeFGJpDuFQyqRP",
  "type": "PAYMENT_CHARGE_REFUND_FAILED",
  "subject": "charge_kupE1TgAZwDHGlFo0ZCgQ",
  "time": "2026-04-13T19:32:57.124Z",
  "data": {
    "paymentChargeId": "charge_kupE1TgAZwDHGlFo0ZCgQ",
    "paymentChargeStatus": "FAILED",
    "paymentMethod": "IDEAL",
    "merchantId": "MERCHANT_ID",
    "merchantPaymentChargeReference": "ABCD-1234-PQRS-5678",
    "type": "PAYMENT_CHARGE_REFUND_FAILED",
    "refundId": "refund_lcjKavXFR8GJWxqbUb004",
    "amount": {
      "value": 10,
      "currency": "EUR"
    },
    "failure": {
      "failureType": "INTERNAL_DECLINE",
      "failureCode": "NO_CAPTURED_AMOUNT",
      "failureMessage": "Unexpected charge status while processing refund request: FAILED"
    },
    "merchantRefundReference": "74a6d7bd-84bd-4318-92a7-aeaa4f3c941c"
  }
}
{
  "specversion": "1.0.2",
  "source": "https://www.ppro.com",
  "datacontenttype": "application/json",
  "id": "HCrrl1F7SgJsijAJ1cpgW",
  "type": "PAYMENT_CHARGE_REFUND_PENDING",
  "subject": "charge_K3ATK7gpkLUNm0eFNGMCF",
  "time": "2026-04-13T19:33:49.319Z",
  "data": {
    "paymentChargeId": "charge_K3ATK7gpkLUNm0eFNGMCF",
    "paymentChargeStatus": "CAPTURED",
    "paymentMethod": "IDEAL",
    "merchantId": "MERCHANT_ID",
    "merchantPaymentChargeReference": "ABCD-1234-PQRS-5678",
    "type": "PAYMENT_CHARGE_REFUND_PENDING",
    "refundId": "refund_i6fWj9BPMijOL1FS4RDUX",
    "amount": {
      "value": 10,
      "currency": "EUR"
    },
    "merchantRefundReference": "de45b2b8-1a1f-456b-9349-b4ec2b26bfe2"
  }
}

Payment agreement

{
  "specversion": "1.0.2",
  "source": "https://www.ppro.com",
  "datacontenttype": "application/json",
  "id": "mTF3uW83S6nG3uBr1npsx",
  "type": "PAYMENT_AGREEMENT_CREATED",
  "subject": "agr_zFfuEHbCLxUBVa6rU7YJf",
  "time": "2026-04-13T19:41:56.310Z",
  "data": {
    "paymentAgreementId": "agr_zFfuEHbCLxUBVa6rU7YJf",
    "paymentAgreementStatus": "INITIALIZING",
    "paymentMethod": "IDEAL",
    "type": "PAYMENT_AGREEMENT_CREATED",
    "merchantId": "MERCHANT_ID",
    "instrument": {
      "id": "instr_k9aBvxESa1pCcHXD1839s",
      "type": "BANK_ACCOUNT",
      "details": {
        "debitMandateId": "ADOBE-12345-Photoshop"
      }
    },
    "startDate": "2026-04-13T19:41:55.049Z",
    "amount": {
      "value": 1500,
      "currency": "EUR"
    },
    "consumer": {
      "country": "NL"
    }
  }
}
{
  "specversion": "1.0.2",
  "source": "https://www.ppro.com",
  "datacontenttype": "application/json",
  "id": "N4LQXJWscXIUQtwsQy110",
  "type": "PAYMENT_AGREEMENT_AUTHENTICATION_PENDING",
  "subject": "agr_zFfuEHbCLxUBVa6rU7YJf",
  "time": "2026-04-13T19:41:57.381Z",
  "data": {
    "paymentAgreementId": "agr_zFfuEHbCLxUBVa6rU7YJf",
    "paymentAgreementStatus": "AUTHENTICATION_PENDING",
    "paymentMethod": "IDEAL",
    "type": "PAYMENT_AGREEMENT_AUTHENTICATION_PENDING",
    "merchantId": "MERCHANT_ID",
    "authenticationMethods": [
      {
        "details": {
          "requestUrl": "https://authman.sandbox.lp-pl.ppro.com/f?redirection_token=eyJhbGciOiJIUzUxMiJ9.eyJzZXNzaW9uIjp7InIiOiJjaGFyZ2VfaXlBU2hmT09wMUpwR1dwaVlGSVg0In19.EkGk8nyeZGDnpZMfX8rL8tGbK91V7DbdxHt5ieYh1u_CPStTGV6rF9bQYWtzXrUYhHWmRfu0LPEIDJRT4-SFaA",
          "requestMethod": "GET"
        },
        "type": "REDIRECT"
      }
    ]
  }
}
{
  "specversion": "1.0.2",
  "source": "https://www.ppro.com",
  "datacontenttype": "application/json",
  "id": "j1xXZXzOiBPygTuNZa5vD",
  "type": "PAYMENT_AGREEMENT_ACTIVE",
  "subject": "agr_zFfuEHbCLxUBVa6rU7YJf",
  "time": "2026-04-13T19:43:14.013Z",
  "data": {
    "paymentAgreementId": "agr_zFfuEHbCLxUBVa6rU7YJf",
    "paymentAgreementStatus": "ACTIVE",
    "paymentMethod": "IDEAL",
    "type": "PAYMENT_AGREEMENT_ACTIVE",
    "merchantId": "MERCHANT_ID"
  }
}
{
    "specversion": "1.0.2",
    "source": "global-payment-gateway/0.0.0",
    "datacontenttype": "application/json",
    "id": "060ac805cf0b0455a9a92",
    "type": "PAYMENT_AGREEMENT_FAILED",
    "subject": "PAYMENT_AGREEMENT_FAILED",
    "time": "2022-11-03T11:23:47.123Z",
    "data": {
      "paymentAgreementId": "agr_FlTZQyHL4DeUYLYtXmOdq",
      "paymentAgreementStatus": "FAILED",
      "type": "PAYMENT_AGREEMENT_FAILED",
      "merchantId": "MERCHANT_ID",
      "failure": {
        "failureType": "PROVIDER_ERROR",
        "failureCode": "internal-failure-code",
        "providerFailureCode": "provider-failure-code",
        "failureMessage": "Failed to authorize agreement"
      }
    }
  }
{
  "source": "https://www.ppro.com",
  "id": "0OyISq3CF24QAeTPTie8T",
  "type": "PAYMENT_AGREEMENT_REVOKED_BY_CONSUMER",
  "subject": "PAYMENT_AGREEMENT_REVOKED_BY_CONSUMER",
  "time": "2024-01-10T10:57:10.403Z",
  "data": {
    "paymentAgreementId": "agr_f8MckPveVACvBfzkHLdMB",
    "paymentAgreementStatus": "REVOKED",
    "type": "PAYMENT_AGREEMENT_REVOKED_BY_CONSUMER",
    "merchantId": "MERCHANT_ID",
  },
  "specversion": "1.0.2",
  "datacontenttype": "application/json"
}
{
  "specversion": "1.0.2",
  "source": "https://www.ppro.com",
  "datacontenttype": "application/json",
  "id": "4PzCrXlq2JJl4W4eVUwv3",
  "type": "PAYMENT_AGREEMENT_REVOKED_BY_MERCHANT",
  "subject": "agr_zFfuEHbCLxUBVa6rU7YJf",
  "time": "2026-04-13T19:44:34.220Z",
  "data": {
    "paymentAgreementId": "agr_zFfuEHbCLxUBVa6rU7YJf",
    "paymentAgreementStatus": "REVOKED_BY_MERCHANT",
    "paymentMethod": "IDEAL",
    "type": "PAYMENT_AGREEMENT_REVOKED_BY_MERCHANT",
    "merchantId": "MERCHANT_ID"
  }
}
{
  "specversion": "1.0.2",
  "source": "https://www.ppro.com",
  "datacontenttype": "application/json",
  "id": "4PzCrXlq2JJl4W4eVUwv3",
  "type": "PAYMENT_AGREEMENT_REVOKED_BY_PROVIDER",
  "subject": "agr_zFfuEHbCLxUBVa6rU7YJf",
  "time": "2026-04-13T19:44:34.220Z",
  "data": {
    "paymentAgreementId": "agr_zFfuEHbCLxUBVa6rU7YJf",
    "paymentAgreementStatus": "REVOKED_BY_MERCHANT",
    "paymentMethod": "IDEAL",
    "type": "PAYMENT_AGREEMENT_REVOKED_BY_MERCHANT",
    "merchantId": "MERCHANT_ID"
  }
}

Payment instrument

{
  "source": "https://www.ppro.com",
  "id": "PFDkXMQe1CFqcECSH89di",
  "type": "PAYMENT_INSTRUMENT_DETAILS_UPDATED",
  "subject": "PAYMENT_INSTRUMENT_DETAILS_UPDATED",
  "time": "2025-05-26T07:31:47.767Z",
  "data": {
    "paymentInstrumentId": "instr_FlTZQyHL4DeUYLYtXmOdq",
    "updateTimestamp": "2025-05-26T07:31:47.123Z",
    "merchantId": "MERCHANT_ID",
    "details": {
      "type": "CARD_PPRO_VAULTED",
      "details": {
        "brand": "VISA",
        "bin": "44443333",
        "last4Digits": "1111",
        "expiryMonth": 1,
        "expiryYear": 2030,
        "holderName": "John Doe",
        "panAlias": "ppro_tkn_06cf6d1",
        "isCvvPresent": false
    },
  },
  "specversion": "1.0.2",
  "datacontenttype": "application/json"
}

Fund state

{
  "source": "https://www.ppro.com",
  "id": "PFDkXMQe1CFqcECSH89di",
  "type": "FUNDS_STATE_CHANGED",
  "subject": "FUNDS_STATE_CHANGED",
  "time": "2024-01-08T23:56:10.106Z",
  "data": {
    "paymentChargeId": "charge_5fZInvMbTGGNvMaaXJYsK",
    "merchantId": "MERCHANT_ID",
    "paymentChargeStatus": "CAPTURE_PENDING",
    "paymentMethod": "CARD",
    "merchantPaymentChargeReference": "YOUR_REFERENCE_HERE",
    "type": "FUNDS_STATE_CHANGED",
    "fundsState": "FUNDS_RECEIVED",
    "fundsStateChangedTimestamp": "2024-01-08T23:56:09.106Z",
    "captureId": "capture_bHuFnULwQCSGcar1beMVt",
    "amount": {
      "value": 1000,
      "currency": "BRL"
    },
  },
  "specversion": "1.0.2",
  "datacontenttype": "application/json"
}

Report

{
    "source": "gpg-payment-reports/0.0.0",
    "id": "0OyISq3CF27GAeTPTie8T",
    "type": "REPORT_PROCESSED",
    "subject": "REPORT_PROCESSED",
    "time": "2022-11-03T11:23:47.123Z",
    "specversion": "1.0.2",
    "datacontenttype": "application/json",
    "data": {
      "reportId": "report_0OyISq3CF24QAeTPTd48T",
      "merchantId": "MERCHANT_ID",
      "status": "PROCESSED",
      "operationType": "CAPTURE",
      "startDate": "2023-01-10T10:57:10.403Z",
      "endDate": "2024-01-10T10:57:10.403Z",
      "downloadUrl": "http://payment-reports-bucket/...",
      "contentLength": "${contentLength}",
      "type": "REPORT_PROCESSED"
    }
  }
{
    "source": "gpg-payment-reports/0.0.0",
    "id": "0OyISq3CF24TAeTPTie8T",
    "type": "REPORT_EXPIRED",
    "subject": "REPORT_EXPIRED",
    "time": "2022-11-03T11:23:47.123Z",
    "specversion": "1.0.2",
    "datacontenttype": "application/json",
    "data": {
      "reportId": "report_0OyISq3CF24QAeTPTd48T",
      "merchantId": "MERCHANT_ID",
      "status": "EXPIRED",
      "operationType": "CAPTURE",
      "startDate": "2023-01-10T10:57:10.403Z",
      "endDate": "2024-01-10T10:57:10.403Z",
      "type": "REPORT_EXPIRED"
    }
  }
{
    "source": "gpg-payment-reports/0.0.0",
    "id": "0OyISq3H627GAeTPTie8T",
    "type": "REPORT_FAILED",
    "subject": "REPORT_FAILED",
    "time": "2022-11-03T11:23:47.123Z",
    "specversion": "1.0.2",
    "datacontenttype": "application/json",
    "data": {
      "reportId": "report_0OyISq3CF24QAeTPTd48T",
      "merchantId": "MERCHANT_ID",
      "status": "FAILED",
      "operationType": "CAPTURE",
      "startDate": "2023-01-10T10:57:10.403Z",
      "endDate": "2024-01-10T10:57:10.403Z",
      "type": "REPORT_FAILED"
    }
  }

Dispute

{
  "source": "https://www.ppro.com",
  "id": "event_*****",
  "type": "DISPUTE_OPEN",
  "subject": "dispute_*****",
  "time": "2025-10-23T10:15:30Z",
  "specversion": "1.0.2",
  "datacontenttype": "application/json",
  "data": {
    "eventId": "event_*****",
    "disputeId": "dispute_*****",
    "phase": "DISPUTE",
    "paymentChargeId": "charge_*****",
    "merchantPaymentChargeReference": "txp_*****",
    "merchantId": "123***",
  }
}
{
  "source": "https://www.ppro.com",
  "id": "event_*****",
  "type": "DISPUTE_ACCEPT_PROCESSING",
  "subject": "dispute_*****",
  "time": "2025-10-23T10:15:30Z",
  "specversion": "1.0.2",
  "datacontenttype": "application/json",
  "data": {
    "eventId": "event_*****",
    "disputeId": "dispute_*****",
    "phase": "DISPUTE",
    "paymentChargeId": "charge_*****",
    "merchantPaymentChargeReference": "txp_*****",
    "merchantId": "123***",
  }
}
{
  "source": "https://www.ppro.com",
  "id": "event_*****",
  "type": "DISPUTE_CHALLENGE_PROCESSING",
  "subject": "dispute_*****",
  "time": "2025-10-23T10:15:30Z",
  "specversion": "1.0.2",
  "datacontenttype": "application/json",
  "data": {
    "eventId": "event_*****",
    "disputeId": "dispute_*****",
    "phase": "DISPUTE",
    "paymentChargeId": "charge_*****",
    "merchantPaymentChargeReference": "txp_*****",
    "merchantId": "123***",
  }
}
{
  "source": "https://www.ppro.com",
  "id": "event_*****",
  "type": "DISPUTE_UNDER_REVIEW",
  "subject": "dispute_*****",
  "time": "2025-10-23T10:15:30Z",
  "specversion": "1.0.2",
  "datacontenttype": "application/json",
  "data": {
    "eventId": "event_*****",
    "disputeId": "dispute_*****",
    "phase": "DISPUTE",
    "paymentChargeId": "charge_*****",
    "merchantPaymentChargeReference": "txp_*****",
    "merchantId": "123***",
  }
}
{
  "source": "https://www.ppro.com",
  "id": "event_*****",
  "type": "DISPUTE_WON",
  "subject": "dispute_*****",
  "time": "2025-10-23T10:15:30Z",
  "specversion": "1.0.2",
  "datacontenttype": "application/json",
  "data": {
    "eventId": "event_*****",
    "disputeId": "dispute_*****",
    "phase": "DISPUTE",
    "paymentChargeId": "charge_*****",
    "merchantPaymentChargeReference": "txp_*****",
    "merchantId": "123***",
  }
}
{
  "source": "https://www.ppro.com",
  "id": "event_*****",
  "type": "DISPUTE_LOST",
  "subject": "dispute_*****",
  "time": "2025-10-23T10:15:30Z",
  "specversion": "1.0.2",
  "datacontenttype": "application/json",
  "data": {
    "eventId": "event_*****",
    "disputeId": "dispute_*****",
    "phase": "DISPUTE",
    "paymentChargeId": "charge_*****",
    "merchantPaymentChargeReference": "txp_*****",
    "merchantId": "123***",
  }
}
{
  "source": "https://www.ppro.com",
  "id": "event_*****",
  "type": "DISPUTE_UPDATED",
  "subject": "dispute_*****",
  "time": "2025-10-23T10:15:30Z",
  "specversion": "1.0.2",
  "datacontenttype": "application/json",
  "data": {
    "eventId": "event_*****",
    "disputeId": "dispute_*****",
    "phase": "DISPUTE",
    "paymentChargeId": "charge_*****",
    "merchantPaymentChargeReference": "txp_*****",
    "merchantId": "123***",
  }
}

Pre-Dispute

{
  "source": "https://www.ppro.com",
  "id": "event_*****",
  "type": "PRE_DISPUTE_OPEN",
  "subject": "dispute_*****",
  "time": "2025-10-23T10:15:30Z",
  "specversion": "1.0.2",
  "datacontenttype": "application/json",
  "data": {
    "eventId": "event_*****",
    "disputeId": "dispute_*****",
    "phase": "PRE_DISPUTE",
    "paymentChargeId": "charge_*****",
    "merchantPaymentChargeReference": "txp_*****",
    "merchantId": "123***",
  }
}
{
  "source": "https://www.ppro.com",
  "id": "event_*****",
  "type": "PRE_DISPUTE_ACCEPT_PROCESSING",
  "subject": "dispute_*****",
  "time": "2025-10-23T10:15:30Z",
  "specversion": "1.0.2",
  "datacontenttype": "application/json",
  "data": {
    "eventId": "event_*****",
    "disputeId": "dispute_*****",
    "phase": "PRE_DISPUTE",
    "paymentChargeId": "charge_*****",
    "merchantPaymentChargeReference": "txp_*****",
    "merchantId": "123***",
  }
}
{
  "source": "https://www.ppro.com",
  "id": "event_*****",
  "type": "PRE_DISPUTE_CHALLENGE_PROCESSING",
  "subject": "dispute_*****",
  "time": "2025-10-23T10:15:30Z",
  "specversion": "1.0.2",
  "datacontenttype": "application/json",
  "data": {
    "eventId": "event_*****",
    "disputeId": "dispute_*****",
    "phase": "PRE_DISPUTE",
    "paymentChargeId": "charge_*****",
    "merchantPaymentChargeReference": "txp_*****",
    "merchantId": "123***",
  }
}
{
  "source": "https://www.ppro.com",
  "id": "event_*****",
  "type": "PRE_DISPUTE_OFFER_PROCESSING",
  "subject": "dispute_*****",
  "time": "2025-10-23T10:15:30Z",
  "specversion": "1.0.2",
  "datacontenttype": "application/json",
  "data": {
    "eventId": "event_*****",
    "disputeId": "dispute_*****",
    "phase": "PRE_DISPUTE",
    "paymentChargeId": "charge_*****",
    "merchantPaymentChargeReference": "txp_*****",
    "merchantId": "123***",
  }
}
{
  "source": "https://www.ppro.com",
  "id": "event_*****",
  "type": "PRE_DISPUTE_UNDER_REVIEW",
  "subject": "dispute_*****",
  "time": "2025-10-23T10:15:30Z",
  "specversion": "1.0.2",
  "datacontenttype": "application/json",
  "data": {
    "eventId": "event_*****",
    "disputeId": "dispute_*****",
    "phase": "PRE_DISPUTE",
    "paymentChargeId": "charge_*****",
    "merchantPaymentChargeReference": "txp_*****",
    "merchantId": "123***",
  }
}
{
  "source": "https://www.ppro.com",
  "id": "event_*****",
  "type": "PRE_DISPUTE_OFFER_ACCEPTED",
  "subject": "dispute_*****",
  "time": "2025-10-23T10:15:30Z",
  "specversion": "1.0.2",
  "datacontenttype": "application/json",
  "data": {
    "eventId": "event_*****",
    "disputeId": "dispute_*****",
    "phase": "PRE_DISPUTE",
    "paymentChargeId": "charge_*****",
    "merchantPaymentChargeReference": "txp_*****",
    "merchantId": "123***",
  }
}
{
  "source": "https://www.ppro.com",
  "id": "event_*****",
  "type": "PRE_DISPUTE_OFFER_REJECTED",
  "subject": "dispute_*****",
  "time": "2025-10-23T10:15:30Z",
  "specversion": "1.0.2",
  "datacontenttype": "application/json",
  "data": {
    "eventId": "event_*****",
    "disputeId": "dispute_*****",
    "phase": "PRE_DISPUTE",
    "paymentChargeId": "charge_*****",
    "merchantPaymentChargeReference": "txp_*****"
  }
}
{
  "source": "https://www.ppro.com",
  "id": "event_*****",
  "type": "PRE_DISPUTE_WON",
  "subject": "dispute_*****",
  "time": "2025-10-23T10:15:30Z",
  "specversion": "1.0.2",
  "datacontenttype": "application/json",
  "data": {
    "eventId": "event_*****",
    "disputeId": "dispute_*****",
    "phase": "PRE_DISPUTE",
    "paymentChargeId": "charge_*****",
    "merchantPaymentChargeReference": "txp_*****"
  }
}
{
  "source": "https://www.ppro.com",
  "id": "event_*****",
  "type": "PRE_DISPUTE_LOST",
  "subject": "dispute_*****",
  "time": "2025-10-23T10:15:30Z",
  "specversion": "1.0.2",
  "datacontenttype": "application/json",
  "data": {
    "eventId": "event_*****",
    "disputeId": "dispute_*****",
    "phase": "PRE_DISPUTE",
    "paymentChargeId": "charge_*****",
    "merchantPaymentChargeReference": "txp_*****"
  }
}
{
  "source": "https://www.ppro.com",
  "id": "event_*****",
  "type": "PRE_DISPUTE_UPDATED",
  "subject": "dispute_*****",
  "time": "2025-10-23T10:15:30Z",
  "specversion": "1.0.2",
  "datacontenttype": "application/json",
  "data": {
    "eventId": "event_*****",
    "disputeId": "dispute_*****",
    "phase": "PRE_DISPUTE",
    "paymentChargeId": "charge_*****",
    "merchantPaymentChargeReference": "txp_*****",
    "merchantId": "123***",
  }
}

Pre-Arbitration

{
  "source": "https://www.ppro.com",
  "id": "event_*****",
  "type": "PRE_ARBITRATION_OPEN",
  "subject": "dispute_*****",
  "time": "2025-10-23T10:15:30Z",
  "specversion": "1.0.2",
  "datacontenttype": "application/json",
  "data": {
    "eventId": "event_*****",
    "disputeId": "dispute_*****",
    "phase": "PRE_ARBITRATION",
    "paymentChargeId": "charge_*****",
    "merchantPaymentChargeReference": "txp_*****",
    "merchantId": "123***",
  }
}
{
  "source": "https://www.ppro.com",
  "id": "event_*****",
  "type": "PRE_ARBITRATION_ACCEPT_PROCESSING",
  "subject": "dispute_*****",
  "time": "2025-10-23T10:15:30Z",
  "specversion": "1.0.2",
  "datacontenttype": "application/json",
  "data": {
    "eventId": "event_*****",
    "disputeId": "dispute_*****",
    "phase": "PRE_ARBITRATION",
    "paymentChargeId": "charge_*****",
    "merchantPaymentChargeReference": "txp_*****",
    "merchantId": "123***",
  }
}
{
  "source": "https://www.ppro.com",
  "id": "event_*****",
  "type": "PRE_ARBITRATION_CHALLENGE_PROCESSING",
  "subject": "dispute_*****",
  "time": "2025-10-23T10:15:30Z",
  "specversion": "1.0.2",
  "datacontenttype": "application/json",
  "data": {
    "eventId": "event_*****",
    "disputeId": "dispute_*****",
    "phase": "PRE_ARBITRATION",
    "paymentChargeId": "charge_*****",
    "merchantPaymentChargeReference": "txp_*****",
    "merchantId": "123***",
  }
}
{
  "source": "https://www.ppro.com",
  "id": "event_*****",
  "type": "PRE_ARBITRATION_UNDER_REVIEW",
  "subject": "dispute_*****",
  "time": "2025-10-23T10:15:30Z",
  "specversion": "1.0.2",
  "datacontenttype": "application/json",
  "data": {
    "eventId": "event_*****",
    "disputeId": "dispute_*****",
    "phase": "PRE_ARBITRATION",
    "paymentChargeId": "charge_*****",
    "merchantPaymentChargeReference": "txp_*****",
    "merchantId": "123***",
  }
}
{
  "source": "https://www.ppro.com",
  "id": "event_*****",
  "type": "PRE_ARBITRATION_WON",
  "subject": "dispute_*****",
  "time": "2025-10-23T10:15:30Z",
  "specversion": "1.0.2",
  "datacontenttype": "application/json",
  "data": {
    "eventId": "event_*****",
    "disputeId": "dispute_*****",
    "phase": "PRE_ARBITRATION",
    "paymentChargeId": "charge_*****",
    "merchantPaymentChargeReference": "txp_*****",
    "merchantId": "123***",
  }
}
{
  "source": "https://www.ppro.com",
  "id": "event_*****",
  "type": "PRE_ARBITRATION_LOST",
  "subject": "dispute_*****",
  "time": "2025-10-23T10:15:30Z",
  "specversion": "1.0.2",
  "datacontenttype": "application/json",
  "data": {
    "eventId": "event_*****",
    "disputeId": "dispute_*****",
    "phase": "PRE_ARBITRATION",
    "paymentChargeId": "charge_*****",
    "merchantPaymentChargeReference": "txp_*****",
    "merchantId": "123***",
  }
}
{
  "source": "https://www.ppro.com",
  "id": "event_*****",
  "type": "PRE_ARBITRATION_UPDATED",
  "subject": "dispute_*****",
  "time": "2025-10-23T10:15:30Z",
  "specversion": "1.0.2",
  "datacontenttype": "application/json",
  "data": {
    "eventId": "event_*****",
    "disputeId": "dispute_*****",
    "phase": "PRE_ARBITRATION",
    "paymentChargeId": "charge_*****",
    "merchantPaymentChargeReference": "txp_*****",
    "merchantId": "123***",
  }
}

Chargebacks

{
  "source": "https://www.ppro.com",
  "id": "event_*****",
  "type": "CHARGEBACK_CREATED",
  "subject": "cb_*****",
  "time": "2025-10-23T10:15:30Z",
  "specversion": "1.0.2",
  "datacontenttype": "application/json",
  "data": {
		"eventId": "event_*****",
    "entityId": "cb_*****",
    "disputeId": "dispute_*****",
    "paymentChargeId": "charge_*****",
    "merchantPaymentChargeReference": "txp_*****",
    "merchantId": "123***",
    "type": "CHARGEBACK_CREATED",
    "generatedAt": "2025-10-23T10:15:30Z"
  }
}
{
  "source": "https://www.ppro.com",
  "id": "event_*****",
  "type": "CHARGEBACK_REVERSAL_CREATED",
  "subject": "cr_*****",
  "time": "2025-10-23T10:15:30Z",
  "specversion": "1.0.2",
  "datacontenttype": "application/json",
  "data": {
		"eventId": "event_*****",
    "entityId": "cr_*****",
    "disputeId": "dispute_*****",
    "paymentChargeId": "charge_*****",
    "merchantPaymentChargeReference": "txp_*****",
    "merchantId": "123***",
    "type": "CHARGEBACK_REVERSAL_CREATED",
    "generatedAt": "2025-10-23T10:15:30Z"
  }
}