Skip to content
All questionsSecurity

Why are payment notifications signed? | MULENPAY

The address that receives payment notifications is available to anyone who knows it. Without an authenticity check the store would trust an outside request too — so the notification is signed with the secret key, and the handler on the store side must verify that signature.

What happens without verification

  • Anyone who knows the handler address and an order id can post a "successful payment" to it.
  • The store marks the order paid and ships the goods, while no money arrives.
  • The discrepancy surfaces only when reconciling with the payout register — that is, late.

How the signature is verified

  • The secret key is known only to you and the service — it is never sent in API requests.
  • A checksum is computed from the notification body and the key and passed in a header.
  • The handler computes it too and compares: on mismatch the request is rejected with 401.

What to check in your code

  • The signature is verified before anything is done with the order, not after.
  • Comparison uses a timing-safe function rather than plain string equality.
  • A failed request is rejected rather than silently ignored — otherwise nobody notices the problem.

What to do if the secret key leaks is covered separately.

See how this works at MulenPay

Still have questions?

Write to us — we will answer and help you start accepting payments.

Telegram bot

@Mulenpay_support_bot

Quick answers 24/7

Legal address

RBY Commerce Ltd.

8 Copthall, Roseau Valley, 00152, Commonwealth of Dominica

Leave a request

Fill out the form — a manager will get in touch, tailor the terms and help with the integration.

By clicking the button, you agree to the processing of personal data.

TelegramTelegram