Pay Advantage 11.1.0

Production implementation date: 27th January 2026

Payment Request Webhooks

Overview

Payment Request webhooks notify third-party systems when the status of a Payment Request changes, allowing real-time tracking without polling the API.

Supported Webhook Events

EventWhen it fires
payment_request.createdA Payment Request is created
payment_request.cancelledThe request is manually cancelled
payment_request.completedThe payment is successfully completed
payment_request.expiredThe request expires without payment

Testing Scenarios

Payment Request Created

  • Action: Create a Payment Request via API or Merchant Dashboard
  • Webhook: payment_request.created
  • Status: active

Payment Request Completed

  • Action: Open the hosted payment link and complete payment using a test card
  • Webhook: payment_request.completed
  • Status: completed
  • Note: Payment details appear in the Payments array

Example Payload:

{
  "Entity": "payment_request",
  "Event": "payment_request.completed",
  "ResourceCode": "PR_ABC123",
  "Data": {
    "Code": "PR_ABC123",
    "Status": "completed",
    "Amount": 150.00
  }
}

Retry Behaviour

  • If the webhook endpoint does not return 200 OK or 202 Accepted, delivery is retried.
  • Retry attempts are visible in the Webhook Logs in the Merchant Dashboard.

Delete Customers via API

Overview

Merchants can now delete customers via the API if they were created but never used for a payment or direct debit. This helps keep your customer list clean and up to date.

When Can you Delete a Customer?

  • The customer** has not had any payments**
  • The customer has no Direct Debit Requests (DDRs) linked

Customers that have had payments or DDRs cannot be deleted for record-keeping reasons.

How to Delete a Customer

API Endpoint

DELETE /v1/customers/{customerCode}
  • Replace {customerCode} with the customer’s code.
  • The operation is permanent and cannot be undone.

What Happens

  • Success: Customer is removed from the system
  • Failure: Customer cannot be deleted if they have payments or DDRs; the API returns an error