{
"paymentLink": {
"id": "usmer-n1hpx2d89pdpnmpdjlorb995",
"createdAt": "2026-10-08T12:49:09.223Z",
"updatedAt": "2026-10-08T12:49:09.223Z",
"linkToken": "fb78cf90-cf34-44d3-b3d3-074168b8c81a",
"userId": null,
"status": "ACTIVE",
"statusReason": null,
"initialAccessBy": "2026-10-09T12:49:09.194Z",
"merchantId": "usmer-rtn86be1xb9jzb5qwib6z0i9",
"recurrenceType": "SINGLE",
"referenceId": "INV-7755-1791463748",
"referenceLabel": "Invoice",
"description": "ENG-7755 webhook test",
"creditAmount": "150.00",
"creditCurrency": "USD",
"debitCurrency": "USD",
"nextPaymentDate": null,
"lastPaymentDate": null,
"paymentAttempts": 0,
"startDate": null,
"endDate": null,
"collectionCount": null,
"customFields": {
"orderId": "ORD-99812"
},
"autopays": []
},
"transaction": {
"id": "uspay-echo1fuz76usacpgicexz5vb",
"createdAt": "2026-10-08T12:51:39.147Z",
"updatedAt": "2026-10-08T12:51:39.147Z",
"completedAt": null,
"status": "PENDING",
"previousStatus": null,
"statusReason": null,
"debitAmount": "150.00",
"debitCurrency": "USD",
"creditAmount": "150.00",
"creditCurrency": "USD",
"fee": "0.00"
}
}Payment Link Transaction
Learn when the payment link transaction webhooks are sent and what data they include.
{
"paymentLink": {
"id": "usmer-n1hpx2d89pdpnmpdjlorb995",
"createdAt": "2026-10-08T12:49:09.223Z",
"updatedAt": "2026-10-08T12:49:09.223Z",
"linkToken": "fb78cf90-cf34-44d3-b3d3-074168b8c81a",
"userId": null,
"status": "ACTIVE",
"statusReason": null,
"initialAccessBy": "2026-10-09T12:49:09.194Z",
"merchantId": "usmer-rtn86be1xb9jzb5qwib6z0i9",
"recurrenceType": "SINGLE",
"referenceId": "INV-7755-1791463748",
"referenceLabel": "Invoice",
"description": "ENG-7755 webhook test",
"creditAmount": "150.00",
"creditCurrency": "USD",
"debitCurrency": "USD",
"nextPaymentDate": null,
"lastPaymentDate": null,
"paymentAttempts": 0,
"startDate": null,
"endDate": null,
"collectionCount": null,
"customFields": {
"orderId": "ORD-99812"
},
"autopays": []
},
"transaction": {
"id": "uspay-echo1fuz76usacpgicexz5vb",
"createdAt": "2026-10-08T12:51:39.147Z",
"updatedAt": "2026-10-08T12:51:39.147Z",
"completedAt": null,
"status": "PENDING",
"previousStatus": null,
"statusReason": null,
"debitAmount": "150.00",
"debitCurrency": "USD",
"creditAmount": "150.00",
"creditCurrency": "USD",
"fee": "0.00"
}
}Headers
Resource type carried by the webhook.
"payment_link_transaction"The payment link transaction event that occurred.
payment_link_transaction_created, payment_link_transaction_status_updated, payment_link_transaction_succeeded, payment_link_transaction_failed API key issued by Meridian, sent so you can authenticate the webhook. Sent only when your webhook endpoint is configured for Meridian HMAC signing.
Time the webhook was generated, in milliseconds since the Unix epoch. Sent only when your webhook endpoint is configured for Meridian HMAC signing.
HMAC SHA-256 signature of the webhook request, for verifying that Meridian sent it. Sent only when your webhook endpoint is configured for Meridian HMAC signing.
Body
The payment link and the transaction the event relates to.
Webhook payload sent when a payment link transaction is created or changes status. The body has no envelope. The event name is in the X-Meridian-Event-Type header.
The payment link the transaction belongs to, as it was when Meridian sent the webhook. The link and the transaction are updated separately, so the link's status can lag the transaction. Use transaction.status as the source of truth for the payment outcome.
Show child attributes
Show child attributes
The transaction and the status change that triggered the event.
Show child attributes
Show child attributes
Response
Return any 2xx status to acknowledge the webhook. Any other status causes Meridian to retry.