Skip to content

Update payment failed

API v2 is in public beta: endpoints and fields can change before general availability. See the changelog

PATCH/preorders/templates/payment_failed

Costs 2 rate-limit points · Rate limits

Update the payment-failed email STOQ sends when the remaining balance of a partially paid preorder cannot be charged: its subject, heading, body, button text and optional Klaviyo flow. The body is the GET shape, email{...}; an optional body locale writes the copy in that language only (omit it for the shop default).

Deep partial: absent fields are unchanged, unknown or read-only keys are rejected. Errors are 422 keyed "template.<path>". Returns the template.

Also searched aschange payment collection email

Headers

  • Idempotency-Keystring

    A fresh unique key for every write (a new UUID, say); reuse it only to retry that write. Keys are remembered for 1 hour: the same key and the same request within that hour returns the first result, with Idempotent-Replayed: true, without running again; the same key with a different method, path or body is refused (422 idempotency_key_reused); a retry while the first is still running gets 409 idempotency_key_in_progress. Keys are per store. Server errors and rate limits are not kept, so their retry runs.

Request body

  • emailobject
    Show 5 child attributesHide child attributes
    • subjectstring

      Email subject of the payment-failed email, sent when the remaining balance of a partially paid preorder cannot be charged.

    • headingstring

      Heading at the top of the payment-failed email.

    • bodystring

      Message body of the payment-failed email.

    • button_textstring

      Text of the button that takes the customer to complete the payment.

    • klaviyo_flow_namestring

      Klaviyo flow to trigger when a preorder payment fails, instead of sending the email here. Only used while the email platform is Klaviyo.

  • localestring

    Language the translated fields are written in, such as 'fr' or 'pt-BR'. Omitted: the shop's default language. Untranslated fields ignore it.

Errors

401

Missing or invalid X-Auth-Token.

409

An earlier request with the same Idempotency-Key is still running. Wait, then resend the same request with the same key.

422

Invalid fields: one details entry per field error, its path the canonical section path. Nothing was saved.

429

Rate limited: cost-weighted per token (read 1, write 2; 360 points / 60s). Check Retry-After.

Every error has the same shape: see Errors.

PATCH/preorders/templates/payment_failed
curl -X PATCH "https://app.stoqapp.com/api/v2/external/preorders/templates/payment_failed" \
  -H "X-Auth-Token: $STOQ_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "email": {
      "subject": "string",
      "heading": "string",
      "body": "string",
      "button_text": "Preorder now",
      "klaviyo_flow_name": "Summer Sneaker Drop"
    },
    "locale": "fr"
  }'
Response
No body