Integrations · fiat escrow
Escrow.com
Escrow.com holds funds for a transaction and releases them on the buyer's accept, or refunds through the return flow. It has no dispute API — but it has an approved partner role that may perform the parties' actions on their behalf with an As-Customer header. That is the integration.
How a determination executes
| Determination favours | Escrow.com actions (As-Customer) |
|---|---|
| seller (respondent) | buyer: accept → funds disburse to the seller |
| buyer (claimant) | buyer: reject, ship_return; seller: receive_return, accept_return → buyer refunded |
| a split, on a milestone transaction | items released / returned in proportion (item_ids in the settlement spec) |
Bundle: settlement: { rail: "escrowcom", environment: "sandbox" | "production", transaction_id, buyer_email, seller_email, item_ids? }. The record's rail_instruction lists the exact PATCH /2017-09-01/transaction/{id} calls in order. Both parties name Recourse in the transaction terms; the partner performs the actions accordingly.
Executor
npm run escrowcom-executor (integrations/escrowcom) runs with partner credentials (ESCROWCOM_EMAIL, ESCROWCOM_API_KEY) and prints a dry run without them. Escalated determinations are held, not executed. Partner approval is granted by Escrow.com from its API portal — that approval is the open item before live execution.