NorelioDeveloper documentation

Changelog

The notification payload version and the compatibility commitment.

The notification payload is versioned by its version field; the current version is 1. Payload fields are only ever ADDED: we never rename or remove an existing field and never change its meaning. An incompatible change is rare and always increments version. Your code can safely ignore fields it does not know: a new field never requires changing a check you have already written, and a version you have already seen keeps arriving in the same shape.

Payload version 1

Fields today: version, event, test, productId, customerEmail, paymentId, amount, currency, taxAmount, occurredAt, accessValidUntil, clientReference, credits, creditsUnit, refundedAmount, eventId. The version was introduced together with the version and test fields and the test notification. Added since then without a version change, as the commitment promises for additions, oldest first:

  • accessValidUntil on subscription events, and the subscription.payment_failed and subscription.canceled events.
  • clientReference — the partner's account reference passed at checkout.
  • taxAmount — VAT charged to an EU buyer on top of amount at checkout, in the same currency; amount stays the price without VAT, and taxAmount is 0 when no VAT applied.
  • credits and creditsUnit — on a top-up order, the number of credits bought and the unit name; null on every other order and on subscription events.
  • refundedAmount — on order.refunded_partial and order.refunded_full, the amount this refund returned, without VAT, in the units of amount; null on every other event. eventId — our id of the event: the same on every delivery of one event, different for every other event, including two partial refunds of one order. Deduplicate on eventId.

The Webhooks section describes every field as it is today; the OpenAPI document is regenerated from the same definitions on every deployment.

Server API

  • Test mode: a test API key (nrl_test_…), test payments on a Norelio test page, /api/v1/test/orders/{id}/{action} to trigger refunds, disputes and subscription events, and a test field in the response of /api/v1/checkouts — added, not changed; live keys issued earlier keep working.