customer.payment_failed

Triggered when a customer's payment has failed after all retry attempts have been exhausted.

customer.payment_failed

Payload Structure

{
  "payload": {
    "customerId": "7733560541315",
    "merchantId": "inveterate",
    "createdAt": "2025-05-30T11:01:00.674Z",
    "updatedAt": "2025-05-30T11:01:00.674Z",
    "customer": {
      "id": "7733560541315",
      "email": "[email protected]",
      "phoneNumber": null
    },
    "detail": {
      "amount": 100,
      "currency": "USD",
      "errorMessage": "Payment method was revoked",
      "billingDate": "2025-06-30T07:00:00.000Z",
      "billingAttempts": 3,
      "billingTierId": "3a636361",
      "isFinal": true
    }
  },
  "metadata": {
    "id": "1c77f905-8a5c-eaf7-ab62-1db3405eec81",
    "retryCount": 0,
    "shopDomain": "inveterate.myshopify.com",
    "topic": "customer.payment_failed",
    "version": "2025-06",
    "triggerredAt": "2025-05-30T11:01:00.713Z"
  }
}

Payload Fields

payload

  • createdAt (string): ISO timestamp when the event was created

  • updatedAt (string): ISO timestamp when the event was last updated

  • merchantId (string): Merchant identifier

  • customerId (string): Customer identifier

  • customer (object): Customer information

    • id (string): Customer identifier

    • email (string): Customer's email address

    • phoneNumber (string|null): Customer's phone number

  • detail (object): Payment failure details

    • amount (number): Amount that failed to be charged

    • currency (string): Currency code (e.g., "USD")

    • errorMessage (string): Description of the payment failure

    • billingDate (string): ISO timestamp of when billing was attempted

    • billingAttempts (number): Total number of billing attempts made

    • billingTierId (string): ID of the billing tier being charged

    • isFinal (boolean): Whether this is the final attempt (always true for this event)

metadata

  • id (string): Unique event identifier

  • retryCount (number): Number of retry attempts for this event

  • shopDomain (string): Shopify domain of the merchant

  • topic (string): Event topic name

  • version (string): API version

  • triggerredAt (string): ISO timestamp when the event was triggered

Last updated

Was this helpful?