signPaymentWebhook function

PaymentWebhookSignature signPaymentWebhook({
  1. required String secret,
  2. required String paymentId,
  3. required num amount,
  4. required String externalUserId,
  5. required String status,
  6. int? timestamp,
})

HMAC-SHA256 canĂ³nico (Node/backend only).

`${timestamp}.${paymentId}.${amount}.${externalUserId}.${status}`

Implementation

PaymentWebhookSignature signPaymentWebhook({
  required String secret,
  required String paymentId,
  required num amount,
  required String externalUserId,
  required String status,
  int? timestamp,
}) {
  final ts = timestamp ?? DateTime.now().millisecondsSinceEpoch;
  final canonical = '$ts.$paymentId.$amount.$externalUserId.$status';
  final digest =
      Hmac(sha256, utf8.encode(secret)).convert(utf8.encode(canonical));
  return PaymentWebhookSignature(
    timestamp: ts,
    signature: digest.toString(),
  );
}