跳至内容
菜单
此问题已终结
1 回复
1721 查看

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.

形象
丢弃
最佳答案

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


形象
丢弃
编写者

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.

相关帖文 回复 查看 活动
2
2月 24
2842
1
2月 24
1974
0
5月 21
1860
1
5月 25
3771
2
10月 23
56