Per-transaction redirect URL. Overrides the siteUrl from your configuration for the success, failure, and pending return URLs
Unlike most providers, the user does not get redirected to a hosted page. The voucher PIN is collected in your own interface and submitted directly. No data.url is returned.
Neosurf transport failures are mapped to normalized Mozarto errorCode values. Use errorCode for programmatic handling rather than parsing raw response fields.
Mozarto errorCode
PSP raw signal
When
INVALID_PSP_CREDENTIALS
HTTP 404 / 401 / 403
API key, merchant ID, or site URL is missing or rejected by Neosurf
PSP_TIMEOUT
HTTP 408 or response body contains "timeout"
Neosurf did not respond in time - safe to retry
PSP_UNAVAILABLE
HTTP 5xx
Neosurf service error - safe to retry with backoff
PSP_RATE_LIMITED
HTTP 429
Too many requests - retry after a delay
UNKNOWN_PSP_ERROR
Any other response
Unrecognised error - check data.error for the raw message and contact support if it persists
Voucher-level rejections (invalid voucher, declined amount) are returned by Neosurf with an HTTP 200 and a populated data.error / data.errorcode; these surface in the standard error response with the raw message.For the full list of errorCode values and retryability guidance, see Errors.