Skip to main content
Webhooks deliver real-time notifications about events related to orders, transactions, and chargebacks. Base URL: https://webhook.paybyrd.com

Authentication

Authenticate all requests with your API key in the x-api-key request header.

Settings

Configure webhook subscriptions at https://webhook.paybyrd.com/api/v1/settings.

Events

If no events are specified, Paybyrd subscribes to all available events.

Orders

EventDescription
order.createdA new order was created.
order.pendingThe order is awaiting further action or confirmation.
order.paidThe order has been fully paid.
order.refundedThe order amount was refunded.
order.canceledThe order was canceled.
order.expiredThe order expired without a completed payment.
order.temporaryfailedA temporary failure occurred during the order payment process.

Transactions

Pre-authorisation
EventDescription
transaction.preauth.pendingPre-authorisation is awaiting approval.
transaction.preauth.successPre-authorisation was approved.
transaction.preauth.failedPre-authorisation failed.
transaction.preauth.errorAn error occurred during pre-authorisation.
transaction.preauth.canceledPre-authorisation was canceled.
Capture
EventDescription
transaction.capture.pendingCapture is awaiting confirmation.
transaction.capture.successCapture completed successfully.
transaction.capture.failedCapture failed.
transaction.capture.errorAn error occurred during capture.
transaction.capture.canceledCapture was canceled.
Payment
EventDescription
transaction.payment.pendingPayment is awaiting confirmation.
transaction.payment.successPayment completed successfully.
transaction.payment.failedPayment failed.
transaction.payment.errorAn error occurred during payment.
transaction.payment.canceledPayment was canceled.
Refund
EventDescription
transaction.refund.pendingRefund is awaiting confirmation.
transaction.refund.successRefund completed successfully.
transaction.refund.failedRefund failed.
transaction.refund.errorAn error occurred during refund.
transaction.refund.canceledRefund was canceled.

Chargebacks

EventDescription
chargeback.createdA chargeback was initiated.
chargeback.disputingThe chargeback is being disputed.
chargeback.pendingactionThe chargeback requires further action.
chargeback.closedThe chargeback case was closed.
chargeback.wonThe chargeback dispute was won.
chargeback.lostThe chargeback dispute was lost.

Payment methods

If no payment methods are specified, Paybyrd subscribes to all available payment methods.
Payment methodDescription
cardCredit or debit card transactions.
idealiDEAL transactions (Netherlands).
multibancoMultibanco transactions (Portugal).
mbwayMB WAY transactions (Portugal).
multicaixaMulticaixa transactions (Angola).
pickupIn-store or designated pickup transactions.
paypalPayPal transactions.
banktransferBank transfers.
floaFloa transactions.
pixPix instant payment transactions (Brazil).

Webhook authentication

When Paybyrd sends requests to your webhook URL, it authenticates them using one of two credential types:
TypeValueHow it works
API Keyapi-keyPaybyrd adds an x-api-key header to each request.
BasicbasicPaybyrd generates a username and password sent in the Authorization header using Basic authentication format.
You select the credential type when creating the webhook configuration.

Managing configurations

Create a configuration:
curl --location 'https://webhook.paybyrd.com/api/v1/settings' \
--header 'x-api-key: <YourAPIKey>' \
--header 'Content-Type: application/json' \
--data '{
    "url": "<YourWebhookURL>",
    "credentialType": "<DesiredCredentialType>",
    "events": [
        "...events you want to subscribe to"
    ],
    "paymentMethods": [
        "...payment methods you want to subscribe to"
    ]
}'
List configurations:
curl --location 'https://webhook.paybyrd.com/api/v1/settings' \
--header 'x-api-key: <YourAPIKey>'
Delete a configuration:
curl --location --request DELETE 'https://webhook.paybyrd.com/api/v1/settings/<WebhookSettingsId>' \
--header 'x-api-key: <YourAPIKey>'

Querying webhooks

Query generated webhooks, check their status, review attempt responses, and resend them at https://webhook.paybyrd.com/api/v1/webhooks.

Parameters

  • referenceId: An orderId, transactionId, or chargebackId. Filters results to webhooks associated with that entity.

Pagination

Use the following request headers to paginate results:
  • x-page: Page number to retrieve.
  • x-page-size: Number of results per page.
Results are ordered from most recent to oldest.

Examples

Query by referenceId:
curl --location 'https://webhook.paybyrd.com/api/v1/webhooks?referenceId=<YourReferenceId>' \
--header 'x-api-key: <YourApiKey>'
Query with pagination:
curl --location 'https://webhook.paybyrd.com/api/v1/webhooks' \
--header 'x-api-key: <YourApiKey>' \
--header 'x-page-size: 25' \
--header 'x-page: 1'

Retry behaviour

The webhook engine retries failed deliveries automatically. Any HTTP response outside the 2xx range is treated as a failure and triggers a retry.
  • Up to 50 retry attempts per webhook.
  • Retry intervals follow an arithmetic progression: the first retry is 1 minute after the failed attempt, increasing by 1 minute per retry, up to a maximum delay of 1 hour.

Querying attempts

Retrieve the attempt history for a specific webhook: GET https://webhook.paybyrd.com/api/v1/webhooks/{webhookId}/attempts Pagination is supported using the same x-page and x-page-size headers described above.

Resending webhooks

Manually resend one or more webhooks:
curl --location 'https://webhook.paybyrd.com/api/v1/webhooks/resend' \
--header 'x-api-key: <YourApiKey>' \
--header 'Content-Type: application/json' \
--data '{
    "ids": [
        "...webhook IDs to resend"
    ]
}'

Data retention

OutcomeRetention period
Failed webhooksUp to 1 month (all attempts, payloads sent and received)
Successful webhooks1 week from creation timestamp

SDK

A .NET SDK is available on NuGet and open source on GitHub.