<p>默认情况下,付款人商户账户使用md5而不是sha384</p>
<pre><code># build hash on server side:
import hmac
import md5
import hashlib
params = {
'request': 'creditcardcheck',
'responsetype': 'JSON',
'mode': 'test',
'mid': '12345',
'aid': '54321',
'portalid': '2222222',
'encoding': 'UTF-8',
'storecarddata': 'yes',
}
message = ''.join([params[k] for k in sorted(params)])
print message
m = hashlib.md5()
m.update(message)
m.update("secretkey")
print m.hexdigest()
</code></pre>
<p>该输出:</p>
^{pr2}$
<p>然后,打开URL并确保除了在URL中传递的信用卡参数(和回调方法)之外的所有参数都在散列中。在本例中:</p>
<p><a href="https://secure.pay1.de/client-api/?aid=54321&cardcvc2=123&cardexpiredate=1801&cardpan=4111111111111111&cardtype=V&mid=12345&mode=test&portalid=2222222&responsetype=JSON&encoding=UTF-8&request=creditcardcheck&storecarddata=yes&hash=a435bff18234ec02a2dffa4d4850a08f" rel="nofollow noreferrer">https://secure.pay1.de/client-api/?aid=54321&cardcvc2=123&cardexpiredate=1801&cardpan=4111111111111111&cardtype=V&mid=12345&mode=test&portalid=2222222&responsetype=JSON&encoding=UTF-8&request=creditcardcheck&storecarddata=yes&hash=a435bff18234ec02a2dffa4d4850a08f</a></p>