Skip to content
veycera

Approved refund is issued correctly

5 checks · within 2 minutes after resolution

MonitoringApproved version 1Approved 3 h ago8 recorded outcomes

3 policy decisions are unrecorded for approved version 1. Approval is retained; review before renewed approval.

What retained approval means

This retained or seeded approval does not prove that a person accepted its policy assumptions. Existing approval has been preserved without inventing decisions. New approval still requires acceptance on the version being approved.

Approved policy

When
A refund ticket is resolved after the agent approves the request.
Verify
  • Succeeded refunds on the named payment equal the requested amount
  • Without a requested amount, the payment is refunded in full
  • The payment's currency matches the requested currency
  • At most one refund was issued against the payment
  • No other payment of the customer was refunded for this request

4 checks are conditional. Their applicability is defined under Accepted alternatives.

Within
2 minutes after the ticket is resolved. Observed unmet conditions become violated at that deadline; condition evidence still unknown after the deadline is indeterminate.
Missing evidence handling
Use the order explicitly named in the ticket. If that reference cannot be resolved, the result is indeterminate and needs review. No match is inferred from email or recency.
Accepted alternatives
When the 4 conditional checks apply
  • Succeeded refunds on the named payment equal the requested amount

    Check only when a payment is present and the requested refund amount is specified. Otherwise this check is not applicable.

  • Without a requested amount, the payment is refunded in full

    Check only when a payment is present and the requested refund amount is not specified. Otherwise this check is not applicable.

  • The payment's currency matches the requested currency

    Check only when a payment is present and the requested currency is specified. Otherwise this check is not applicable.

  • At most one refund was issued against the payment

    Check only when a payment is present. Otherwise this check is not applicable.

Policy decisions

3 need acceptance on version 1

Accept, request a change, or defer. Each decision records who decided and which version it applies to.

  • A request without a structured amount means a full refund of the payment.Undecided
    Source and effect on the rule
    Source: policy document Approved refund workflowNo historical sample behind itGoverns: refund_full_when_unspecified, refund_amount_correct

    Changing it touches condition "Without a requested amount, the payment is refunded in full" (refund_full_when_unspecified, applies only when charge.exists eq true and ticket.requestedAmountMinor eq null); condition "Succeeded refunds on the named payment equal the requested amount" (refund_amount_correct, applies only when charge.exists eq true and ticket.requestedAmountMinor neq null). Recording a change does not alter monitoring: v1 keeps being enforced as written until the conditions are edited, which creates v2 and resets approval.

  • Split refunds are not allowed: at most one refund per payment per request.Undecided
    Source and effect on the rule
    Source: policy document Approved refund workflowNo historical sample behind itGoverns: refund_single

    Changing it touches condition "At most one refund was issued against the payment" (refund_single, applies only when charge.exists eq true). Recording a change does not alter monitoring: v1 keeps being enforced as written until the conditions are edited, which creates v2 and resets approval.

  • Tickets resolved without agent approval (declined or escalated requests) are not monitored.Undecided
    Source and effect on the rule
    Source: policy document Approved refund workflowNo historical sample behind itField: trigger.requiresAgentApproval

    Changing it touches the trigger (currently only tickets the agent approved are monitored). Recording a change does not alter monitoring: v1 keeps being enforced as written until the conditions are edited, which creates v2 and resets approval.

Edit rule and preview changes

Changes create a new unapproved version. Read the preview before saving; historical executions keep their original policy.

Basic settings

Change preview

No policy fields changed.

Saving creates version 2, resets approval, and stops new monitoring until that version's assumptions are accepted and it is approved. Existing execution evidence keeps its evaluated version.

Verify

Edit a check to change its requirement or Accepted alternatives. Other checks stay collapsed.

Succeeded refunds on the named payment equal the requested amountEdit check 1
Check succeeded refunds on the named payment
Compare withthe requested refund amount
Technical field mapping

succeeded refunds on the named payment is the requested refund amount

Amount fields ending in Minor use the currency's minor units.

Accepted alternatives · applicability

Check only when all of the following are true. Otherwise this check is not applicable.

Check a payment
Technical field mapping

a payment is present

Check the requested refund amount
Technical field mapping

the requested refund amount is specified

Without a requested amount, the payment is refunded in fullEdit check 2
Check succeeded refunds on the named payment
Compare withthe original payment amount
Technical field mapping

succeeded refunds on the named payment is the original payment amount

Amount fields ending in Minor use the currency's minor units.

Accepted alternatives · applicability

Check only when all of the following are true. Otherwise this check is not applicable.

Check a payment
Technical field mapping

a payment is present

Check the requested refund amount
Technical field mapping

the requested refund amount is not specified

The payment's currency matches the requested currencyEdit check 3
Check the payment currency
Compare withthe requested currency
Technical field mapping

the payment currency is the requested currency

Amount fields ending in Minor use the currency's minor units.

Accepted alternatives · applicability

Check only when all of the following are true. Otherwise this check is not applicable.

Check a payment
Technical field mapping

a payment is present

Check the requested currency
Technical field mapping

the requested currency is specified

At most one refund was issued against the paymentEdit check 4
Check the number of refunds on the payment
Technical field mapping

the number of refunds on the payment is at most 1

Amount fields ending in Minor use the currency's minor units.

Accepted alternatives · applicability

Check only when all of the following are true. Otherwise this check is not applicable.

Check a payment
Technical field mapping

a payment is present

No other payment of the customer was refunded for this requestEdit check 5
Check refunds on the customer's other payments since the request
Technical field mapping

refunds on the customer's other payments since the request is 0

Amount fields ending in Minor use the currency's minor units.

Accepted alternatives · applicability

This check always applies. Use Advanced rule definition to add an applicability condition.

When and missing evidence handling

When

A refund ticket is resolved after the agent approves the request.

The existing trigger is retained when editing this rule.

Missing evidence handling

The existing correlation rule is retained. A missing required order reference remains indeterminate; unknown condition evidence is never a guessed success.

Advanced rule definition

Edit the supported condition JSON, including identifiers and exceptions. Trigger and correlation fields remain unchanged by this editor.

Review changes and save
Rule sources and technical definition

When the support agent approves a refund request and resolves the ticket, the payment for the order named in the ticket must carry a succeeded refund for exactly the requested amount, in the requested currency, within two minutes. Refunds on other payments of the same customer do not count.

  • onboarding instruction · customer request

    Approved refunds must land on the named payment for exactly the requested amount.

  • Approved refund workflow · policy document

    issues one refund for the requested amount (minor units, requested currency) against that charge

  • Support API (requestedAmountMinor, requestedCurrency), Payments API · api schema
Advanced rule definition (JSON)
{
  "id": "ctr_refund_executed_yc-recording-v1",
  "tenantId": "yc-recording-v1",
  "name": "Approved refund is issued correctly",
  "description": "When the support agent approves a refund request and resolves the ticket, the payment for the order named in the ticket must carry a succeeded refund for exactly the requested amount, in the requested currency, within two minutes. Refunds on other payments of the same customer do not count.",
  "version": 1,
  "trigger": {
    "object": "ticket",
    "categories": [
      "refund"
    ],
    "status": "resolved",
    "requiresAgentApproval": true
  },
  "identifiers": {
    "order": {
      "source": "ticket.orderRef",
      "required": true
    }
  },
  "conditions": [
    {
      "path": "refunds.succeededMinor",
      "op": "eq",
      "ref": "ticket.requestedAmountMinor",
      "id": "refund_amount_correct",
      "description": "Succeeded refunds on the named payment equal the requested amount",
      "applicableWhen": [
        {
          "path": "charge.exists",
          "op": "eq",
          "value": true
        },
        {
          "path": "ticket.requestedAmountMinor",
          "op": "neq",
          "value": null
        }
      ]
    },
    {
      "path": "refunds.succeededMinor",
      "op": "eq",
      "ref": "charge.amountMinor",
      "id": "refund_full_when_unspecified",
      "description": "Without a requested amount, the payment is refunded in full",
      "applicableWhen": [
        {
          "path": "charge.exists",
          "op": "eq",
          "value": true
        },
        {
          "path": "ticket.requestedAmountMinor",
          "op": "eq",
          "value": null
        }
      ]
    },
    {
      "path": "charge.currency",
      "op": "eq",
      "ref": "ticket.requestedCurrency",
      "id": "refund_currency_matches",
      "description": "The payment's currency matches the requested currency",
      "applicableWhen": [
        {
          "path": "charge.exists",
          "op": "eq",
          "value": true
        },
        {
          "path": "ticket.requestedCurrency",
          "op": "neq",
          "value": null
        }
      ]
    },
    {
      "path": "refunds.count",
      "op": "lte",
      "value": 1,
      "id": "refund_single",
      "description": "At most one refund was issued against the payment",
      "applicableWhen": [
        {
          "path": "charge.exists",
          "op": "eq",
          "value": true
        }
      ]
    },
    {
      "path": "siblingRefunds.sinceTicketMinor",
      "op": "eq",
      "value": 0,
      "id": "no_refund_on_other_payments",
      "description": "No other payment of the customer was refunded for this request",
      "applicableWhen": []
    }
  ],
  "instance": {
    "eventTypes": [
      "ticket.resolved"
    ],
    "initialRetrySeconds": 30,
    "maxRetrySeconds": 600,
    "maxAgeSeconds": 86400
  },
  "deadlineSeconds": 120,
  "severity": "high",
  "approved": true,
  "approvedAt": "2026-10-30T14:32:32.938Z",
  "enabled": true,
  "draftedBy": "template",
  "provenance": {
    "sources": [
      {
        "kind": "customer_request",
        "ref": "onboarding instruction",
        "excerpt": "Approved refunds must land on the named payment for exactly the requested amount."
      },
      {
        "kind": "policy_document",
        "ref": "Approved refund workflow",
        "excerpt": "issues one refund for the requested amount (minor units, requested currency) against that charge"
      },
      {
        "kind": "api_schema",
        "ref": "Support API (requestedAmountMinor, requestedCurrency), Payments API"
      }
    ],
    "assumptions": [
      "A request without a structured amount means a full refund of the payment.",
      "Split refunds are not allowed: at most one refund per payment per request.",
      "Tickets resolved without agent approval (declined or escalated requests) are not monitored."
    ]
  },
  "createdAt": "2026-10-30T14:32:32.938Z",
  "updatedAt": "2026-10-30T14:32:32.938Z"
}
Recorded outcomes (8)
Version and policy decision history

Rule versions

  • Version 1

    5 checks · 2 minutes · 3 h ago · 8 recorded executions

Policy decisions

No human policy decisions recorded. Approval alone is not retrofitted as acceptance.