Skip to content

Online payments

Online payments let you take a payment from your own checkout. Your backend generates a link, you send the payer to it, and Paydot returns them to your site when they are done.

The flow is synchronous for the payer and asynchronous for you. The payer comes back to your callback URL; the outcome reaches you through a webhook or the status API. Those are two separate things, and only the second one is reliable.

Everything is configured under Online Payments in the Paydot portal. Only an account owner can change it.

SettingRequiredWhat it does
Callback URLYesWhere Paydot sends the payer once they are done. The switch will not turn on until this is saved.
API TokenYesThe bearer token for the generate-link call. If you have not generated one, enabling the feature generates it for you.
Online Payments switchYesTurns the feature on. While it is off, the generate-link call answers 409.
Webhook URLNoWhere Paydot posts a signed event when a payment reaches a final status.

The webhook endpoint and its signing secret are configured on the same screen. See Payment webhooks for the endpoint requirements, signature verification and the test event.

StepWhat happensPage
1Your backend posts an amount, a reference and your own data to the generate endpoint.Generate a payment link
2You send the payer to the url you got back.Generate a payment link
3The payer picks their bank and authorises the payment.—
4The payer follows the return step and lands on your callback URL, carrying paymentId and data.Return to shop
5You confirm what actually happened.Checking payment status and Payment webhooks

The three channels do not carry the same things. Design your integration around what each one actually gives you.

Callback URLWebhook eventGET /payments/{paymentId}
ArrivesWhen the payer follows the return stepWhen the payment reaches a final statusWhenever you ask for it
Carries the statusNoYesYes
Carries the amount paidNoYesYes
Carries your dataYesYesNo
SignedNoYesNot applicable
Will reach youOnly if the payer comes backRetried for roughly 22 hoursOn request