Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Published by Scroll Versions from space ENWORK and version Documentation

...

Step

Task

1

Please log on to

Multiexcerpt include
SpaceWithExcerptEN
MultiExcerptNameHelpdesk-Name
PageWithExcerptWording
, which supplies you with the Hash password.

2

The HMAC value is calculated with the aid of the password and several parameter values. For the calculation, the parameters PayID, TransID, MerchantID, Amount and Currency are used and separated with asterisks:

PayID*TransID*MerchantID*Amount*Currency 

KeyValueComments
PayIdReferenced PayIdMay be empty, e.g. for creating an initial payment process or risk management request; is used with subsequent requests like capture/refund.
TransIdYour transactionId to reference / identify your requestYour own reference to identify each request / payment process.
MerchantId
MerchantIDYour
MerchantId
MerchantID assigned to you
by 
by
Multiexcerpt include
SpaceWithExcerptEN
MultiExcerptNamePartner-Name
PageWithExcerptWording
Your
MerchantId
MerchantID identifiying this request.
AmountAmount in smallest unit of currency, e.g. 123=1,23Amount of this request; may be empty if not used, e.g. for status inquiries.
CurrencyCurrency of payment process in ISO 4217, e.g. EUR, USD, GBPCurrency of this request; may be empty if not used, e.g. for status inquiries.
YourHmacPasswortYour HMAC-password assigned to you by 
Multiexcerpt include
SpaceWithExcerptEN
MultiExcerptNamePartner-Name
PageWithExcerptWording
Your HMAC-password assigned to a specific MID; if you have different MIDs you will have different HMAC passwords, too.

Notice: If a transaction does not support all of these parameters, you can simply omit the missing value.

For example, there is no PayID yet with the first transaction, so you do not have to transfer this. The PayID is a component of the Hash calculation in subsequent transactions:

Samples for MAC calculationFormulaResult
without PayId, with amount/currency
HmacSHA256("*TID-4453732122167114558*
yourMerchantId
YourMerchantID*1234*EUR", "mySecret")
38CED807E293FC634A6C36FFAEA7BD2687038D40615781918AEF2DE7BB9A9903
0522F1AF6A88597D396A5A877499F3C9087EBCF103B1B47D7E4D13421CC7EA36
without PayId, without TransId, with amount/currencyHmacSHA256("**
yourMerchantId
YourMerchantID*1234*EUR", "mySecret")
ECBCAB7361CFFE1694D2E893280AED0FEEC2FCF518A736009D38CBD65F0DC68B
1427748D983478080F22BE0878BD99AF7BE3E1C4B19C07AFD1B372BA552ADC08
with PayId, without amount/currencyHmacSHA256("fe3f002e19814eea8aa733ec4fdacafe*TID-4453732122167114558*
yourMerchantId
YourMerchantID**", "mySecret")
5A3ED13E4BF3492166E8E9B5898F372735B6FDCBFFC41B2AB4574A9A6FC9B734
6ED0CFDCE92CE13399552C4221B44E5B036DE943D7F84E33D1E73DF9871AE7C8

3

Use the HMAC SHA-256 algorithm, which nearly all programming languages support, in order to calculate the Hash value with the password and the parameter values.

4

Use the MAC parameter to transfer the hexadecimal encoded Hash value to the

Multiexcerpt include
SpaceWithExcerptEN
MultiExcerptNamePlatform-Kurz
PageWithExcerptWording
with each transaction in the encoded data field.

 

Info
titleCheck your implementation

You can find an easy application to check the implementation of your MAC calculation here: https://computop.com/paygate-test

The application also allows to play with our 

Multiexcerpt include
SpaceWithExcerptEN
MultiExcerptNamePlatform-Kurz
PageWithExcerptWording
API - just use your MerchantID and Blowfish-Password that you already have received.


Info

Notice: Note that the MAC parameter is obligatory for all subsequent transactions (e.g. capture, credit note) if it was transferred with the first transaction (e.g. authorisation).

Note

Important: The

Multiexcerpt include
SpaceWithExcerptEN
MultiExcerptNamePlatform-Kurz
PageWithExcerptWording
rejects transactions with wrong or missing HMAC values promptly without further processing, because this is an indication of hacker attacks. Therefore, transactions which the
Multiexcerpt include
SpaceWithExcerptEN
MultiExcerptNamePlatform-Kurz
PageWithExcerptWording
rejects with the error codes 20100044 or 20120044 do not appear in
Multiexcerpt include
SpaceWithExcerptEN
MultiExcerptNameBackoffice-Name
PageWithExcerptWording
.

Note

Important: The MerchantID used in HMAC calculation must be identical with the MerchantID provided in plain request (parameter MerchantID). Handling of "MerchantID" is case-sensitive - "YourMerchantId" and "YourMerchantID" must not be mixed up.

Listing with HMAC examples

Request without PayID:

MerchantID=YourMerchantID&TransID=100000001&Amount=11&Currency=EUR&URLSuccess=https://www.shop.de/ok.html&URLFailure=https://www.shop.de/failed.html&OrderDesc=My purchase

String for MAC generation:

*100000001*TestYourMerchantID*11*EUR

Request with MAC (Secret: "mySecret"):

MerchantID=YourMerchantID&TransID=100000001&Amount=11&Currency=EUR&URLSuccess=https://www.shop.de/ok.html&URLFailure=https://www.shop.de/failed.html&OrderDesc=My purchase&MAC=A0E3A8BB9473CF4D3F91181E0859650A9AF3F4AD0AE1E839AC7B750247A2E9470A125E070BD4D7AE614BCB2D5A48FB80E1C4441E262A1024AE7F2A1819052A6F

Request without TransID:

MerchantID=YourMerchantID&PayID=8ee4e922c39446ac9ee66095a4a4b475&Amount=100&Currency=USD

String for MAC generation:

8ee4e922c39446ac9ee66095a4a4b475**TestYourMerchantID*100*USD

Request with MAC (Secret: "mySecret"):

MerchantID=YourMerchantID&PayID=8ee4e922c39446ac9ee66095a4a4b475&Amount=100&Currency=USD&MAC=F1EB4A8BB9473CF4D3F91181F0859659A9AF3F4AD0AE1E839AC7B750247A2D6364016FD6C705399A024D8B4CCB0018814E05A5490DDEBEC04909E6DA138CB5AF8