Skip to Content
Menu
This question has been flagged
1 Reply
1841 Views

How do I compute sha512 key for a new payment acquirer using the following parameters: signaturekey ; MerchantID ; u_reference ; u_amount ; u_currency. Output example should be something like this(Combined String): 

ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789;M19-U-959;UPO-12345;10000;USD

Note: The combined string should be in UPPERCASE before the SHA512 hash computation like the example above.

Avatar
Discard
Best Answer

Hi,

First import the following library in your python file,

from hashlib import sha512

now convert your parameters to uppercase using the .upper() 

key = str("%s:%s:%s:%s:%s" % (
signaturekey.upper(), MerchantID.upper(), u_reference.upper(), u_amount.upper(), u_currency.upper()))
hash = sha512(key.encode('utf-8')).hexdigest()

Now the variable hash will contain the SHA512 encrypted value for your key.


Regards


Avatar
Discard
Author

Hi Savya,
I tried something like this:
def _generate_sign(self):
signaturekey = 'signature',
MerchantID= 'MID',
u_reference= 'reference',
u_amount= 'amount',
u_currency= 'currency',
key = str("%s;%s;%s;%s;%s" % (signaturekey, MerchantID, u_reference, u_amount, u_currency))
shasign = sha512(key.encode('utf-8')).hexdigest()
return shasign

I get the following error:
Server Error:
We are not able to redirect you to the payment form. _generate_sign() takes 1 positional argument but 3 were given

I'm not sure if I'm doing the right thing.

Related Posts Replies Views Activity
2
Feb 24
3072
1
Feb 24
2083
0
May 21
1960
1
May 25
3930
2
Oct 23
56