Developer docs
Mark delivered
POST /escrow/:reference/deliver — seller (merchant) confirms goods were dispatched/delivered.
HTTP
POST https://www.harrenapay.com/api/public/v1/escrow/:reference/deliverBehavior
- Requires status
funded. - Sets
seller_marked_delivered_at(exposed asseller_delivered_aton GET). - DB trigger sets
auto_release_at= delivered +inspection_window_days(default 1 day / 24 hours). - Fires webhook
escrow.delivered(includes tracking fields when present). - Idempotent: repeat calls return
already_delivered: true.
Body (self-managed)
New merchant escrows default to delivery_mode: "self_managed". For those (and legacy none), tracking_number and proof_photo_url are required.
cURL
curl -X POST https://www.harrenapay.com/api/public/v1/escrow/order_4821/deliver \
-H "Authorization: Bearer hpay_live_…" \
-H "Content-Type: application/json" \
-d '{
"tracking_number": "GIG123456",
"courier_name": "GIG Logistics",
"proof_photo_url": "https://cdn.example.com/dispatch/order_4821.jpg",
"notes": "Left with security"
}'JSON
{
"ok": true,
"delivered_at": "2026-07-16T12:00:00.000Z",
"dispatch_proof": {
"tracking_number": "GIG123456",
"courier_name": "GIG Logistics",
"proof_photo_url": "https://cdn.example.com/dispatch/order_4821.jpg",
"notes": "Left with security",
"submitted_at": "…",
"submitted_via": "api"
},
"delivery_tracking": "GIG Logistics GIG123456"
}