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.

Payment APISee how this works at MulenPay

More questions on this topic

Still have questions?

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

Phone

+1 (767) 555-0147

International number

Telegram bot

@mulen_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