# A Payment-Linked Acceptance Scenario

An illustrative workflow that keeps invoice settlement, execution, acceptance and payout separate.

Canonical HTML: <https://damagebdd.com/articles/simplepaymentfeature.html>



<a id="specify-the-payment-state-explicitly"></a>

## Specify the payment state explicitly

A useful acceptance scenario records which job was requested, which payment
was confirmed, what work ran and whether a reviewer accepted the result.
This page is a conceptual example, not a working step-library reference or
proof of a deployed Lightning escrow service.

```text
Job: controlled API verification
Input: approved feature and target
Payment: quoted invoice, with separately confirmed settlement
Execution: report and feature identities
Acceptance: named reviewer and agreed criteria
Payout, if required: separately authorised transfer and receipt
```

Test payment without completed execution, execution failure, duplicate
notifications and restart during reconciliation. Define the outcome for each
case before selling the service. A passing scenario is not proof that a
contractor transfer occurred.

Ordinary top-ups are not documented as funds held until tests pass. A
conditional hold-invoice job needs its own settle/cancel, timeout and recovery
behaviour. See [payment flows](../payments.md),
[swap integration](../features/funding_swap.md) and
[the paid-job evaluation](lightning_api_economics.md).

