Skip to main content
When a program is configured to deliver cards via webhook, iQpay sends a POST request to your configured endpoint with the card activation details and member information.
Webhook endpoints are configured during program setup in the iQpay Admin portal.

Webhook Payload

When an order is created and the program uses webhook delivery, iQpay sends the following payload to your endpoint:
activation_code
object
Card activation details.
member
object
Member details associated with the order.
external_transaction_id
string
The sponsor-supplied identifier for tracing, matching the value sent in the Create Order request.

Example Payload

{
  "activation_code": {
    "url": "https://activate.iqpay.com/card/abc123",
    "code": "ACT-789XYZ",
    "status": ""
  },
  "member": {
    "first_name": "Jane",
    "last_name": "Smith",
    "email": "member@example.com",
    "phone_number": "5551234567",
    "external_id": "EXT-MBR-12345"
  },
  "external_transaction_id": "TXN-2024-00001"
}

Scheduled Orders

When an order includes a processingDate set in the future, the webhook is not sent at the time the order is placed. Instead, iQpay holds the order until the scheduled processing date arrives, then processes the order and sends the webhook payload at that time. The API returns a 200 or 201 response immediately to confirm the order was accepted, but card activation details are only delivered via webhook once the order is actually processed on the scheduled date.
ScenarioWebhook Timing
No processingDate (or null)Webhook sent immediately after order creation
processingDate set to a future dateWebhook sent on the scheduled date when the order is processed

Response

Your webhook endpoint must return a 200 HTTP status code on success. Any other status code is treated as a failure.
If your webhook fails to respond with 200, the card delivery notification may not be retried automatically. Ensure your endpoint is reliable and handles errors gracefully.

Testing

In the Demo environment, configure a test webhook endpoint (e.g., using a service like webhook.site) to inspect payloads during integration.