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 -> API keys and generate a key. Talivia creates it for the current website.
Copy the secret immediately because it is shown only once. Store it only on your backend and do not expose it in browser code.
Send a payment
Send payment events to Talivia after your backend confirms the money was received.
Before checkout, send window.talivia.getSessionId() to your backend and keep it with the order as sessionId.
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',
sessionId: order.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 the session field when possible:
sessionIdproviderCustomerIdexternalCustomerIdemailemailHash
Talivia uses sessionId to connect the payment to the exact visitor journey. Customer fields can reconnect later renewals after the initial payment has been matched.
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.