Manual Payment API
Send custom payment events to Talivia from your backend.
Use the Manual Payment API when revenue comes from a custom checkout, bank transfer, crypto processor, app store, invoice system, or another provider that Talivia does not connect to directly.
Create an API key
Open Website settings -> Revenue and create an API key with the payments:write scope.
Store the key only on your backend. Do not expose it in browser code.
Send a payment
Send payment events to Talivia after your backend confirms the money was received.
await fetch('https://talivia.com/api/payments/manual', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-talivia-api-key': process.env.TALIVIA_API_KEY,
},
body: JSON.stringify({
websiteId: 'YOUR_WEBSITE_ID',
transactionId: 'order_123',
amount: 49,
currency: 'USD',
providerName: 'manual',
providerPaymentId: 'payment_123',
providerCustomerId: 'customer_123',
visitorKey: talivia?.visitorKey,
sessionKey: talivia?.sessionKey,
sessionId: talivia?.sessionId,
}),
});Use stable ids. transactionId should be unique for the payment in your system. Reuse the same id if you retry the request.
Supported attribution fields
Send at least one visitor/session field when possible:
visitorKeysessionKeysessionIdproviderCustomerIdexternalCustomerIdemailemailHash
Talivia uses these fields to connect the payment to the visitor journey and the revenue source.
Verify
- Send a test payment from your backend.
- Open Talivia payments for the website.
- Confirm the amount, currency, provider name, and transaction id.
- Open the session detail and verify the spend amount appears on the matched session.