generatePaymentStatusHash function
Builds the SHA-512 hash for /v2/paymentstatus (matches Android/iOS/PHP).
Implementation
String generatePaymentStatusHash({
required String salt,
required String apiKey,
required String orderId,
required String mode,
}) {
final params = <String, String>{
'api_key': apiKey,
'mode': mode,
'order_id': orderId,
};
final sortedKeys = params.keys.toList()..sort();
final sb = StringBuffer(salt);
for (final key in sortedKeys) {
final value = params[key] ?? '';
if (value.isNotEmpty) {
sb.write('|$value');
}
}
final digest = sha512.convert(utf8.encode(sb.toString()));
return digest.bytes
.map((b) => b.toRadixString(16).padLeft(2, '0'))
.join()
.toUpperCase();
}