Manual Payment API Reference
Record transactions from Stripe, Paddle, Gumroad, Lemon Squeezy, or any internal system using our simple REST endpoint.
Overview
If you aren't using our native Stripe, Razorpay, or Dodo integrations, the Manual Payment API lets you send transaction details directly from your backend. Metrivo takes the payload parameters, matches it with tracked browser sessions, and builds your revenue attribution dashboard.
Retrieve your workspace API token in the Metrivo dashboard under Settings → API Keys. Secure the token in your environment variables; never share it or use it on the frontend.
Before starting checkout, call window.Metrivo.getAttributionMetadata() in the browser and send that object to your backend. Copy metrivo_visitor_id, metrivo_session_id, and UTM/referrer/click ID fields into the Manual Payment API payload when the payment succeeds.
API Endpoints
Best Practices
HTTP Status Error Codes
401Missing or invalid Authorization header. Check your Bearer token.400Invalid payload parameters. Ensure website_id, amount, and provider_payment_id satisfy formatting constraints.403Scope mismatch. Your API key lacks payments:write access or is not permitted to write to the requested website.500Internal database failure. Typically caused by duplicate provider_payment_id entries.