6.3. Metoda weryfikacji podpisu notyfikacji

Add MCP server to your AI tool

Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

https://bump.sh/pgw/doc/axepta-api/mcp

Standard setup for AI tools providing an mcp.json file

mcp.json
"axepta API MCP server": {
  "url": "https://bump.sh/pgw/doc/axepta-api/mcp"
}
Close

Nagłówek zawierający podpis notyfikacji ma postać:

X-axepta-Signature: merchantid=[...];serviceid=[...];signature=[...];alg=[...]

Aby uwierzytelnić pochodzenie oraz zweryfikować integralność wiadomości powiadomienia należy wykonać następujące czynności:

  1. Z nagłówków pakietu przychodzącego na adres notyfikacji należy pobrać zawartość X-Axepta-Signature,
  2. Następnie należy pobrać wartość parametru signature oraz alg,
  3. W zależności od algorytmu funkcji skrótu określonego w parametrze alg należy obliczyć odpowiednią funkcją skrót:

    string incoming_signature = x_axepta_signature[signature]
    string body = notification_body
    string own_signature = hash(body + private_key, alg)
    
  4. Obliczoną wartość own_signature należy porównać z wartością incoming_signature, która została pobrana z nagłówka,

  5. Jeżeli wartości own_signature i incoming_signature są identyczne oznacza to, że wiadomość notyfikacji jest poprawna i pochodzi z zaufanego źródła.

Zmiany statusów transakcji należy dokonywać tylko gdy weryfikacja podpisu przebiegła poprawnie.