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:
accessValidUntilon subscription events, and thesubscription.payment_failedandsubscription.canceledevents.clientReference— the partner's account reference passed at checkout.taxAmount— VAT charged to an EU buyer on top ofamountat checkout, in the same currency;amountstays the price without VAT, andtaxAmountis 0 when no VAT applied.creditsandcreditsUnit— on a top-up order, the number of credits bought and the unit name;nullon every other order and on subscription events.refundedAmount— onorder.refunded_partialandorder.refunded_full, the amount this refund returned, without VAT, in the units ofamount;nullon 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 oneventId.
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 atestfield in the response of/api/v1/checkouts— added, not changed; live keys issued earlier keep working.
