Straumur payment webhook receiver
Receives signed payment notifications from Straumur. Authenticates the
request by verifying the hmacSignature against the company's HMAC key
(looked up via the payment identified by checkout_reference).
Straumur retries any non-200 response, so this endpoint always returns 200 OK — invalid signatures and unknown references are logged and swallowed rather than surfaced as errors.
/v1/marketplace/payments/webhooks/straumurRequest Body
application/json
Our internal correlation; lookup key for the affected payment.
Straumur's processor reference for the underlying transaction.
Payment ID we sent at session creation.
Minor units, serialized as a string by Straumur.
Stringified boolean ("true" / "false") per Straumur's wire format.
Base64-encoded HMAC-SHA256 over the canonical field order — verified server-side against the company's HMAC key.
Free-form key/value bag. Notable keys: eventType, paymentMethod, authCode, threeDAuthenticated, cardNumber.
Response Body
curl -X POST "https://api.noona.is/v1/marketplace/payments/webhooks/straumur" \ -H "Content-Type: application/json" \ -d '{ "checkoutReference": "string", "merchantReference": "string", "amount": "string", "currency": "string", "success": "string", "hmacSignature": "string" }'