signPaymentWebhook function
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(),
);
}