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 favoursEscrow.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 transactionitems 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.

All integrationsRails in the API docs