跳至內容
選單
此問題已被標幟
1 回覆
1708 瀏覽次數

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
2832
1
2月 24
1961
0
5月 21
1843
1
5月 25
3762
2
10月 23
56