Satispay · Authentication Profile

Satispay Authentication

Authentication

Satispay secures its APIs with apiKey across 1 declared security scheme, as derived from its OpenAPI definitions.

PaymentsMobile PaymentsFintechE-MoneyE-CommerceItalyEuropeMerchant ServicesRecurring PaymentsRefundsMeal VouchersCompany
Methods: apiKey Schemes: 1 OAuth flows: API key in: header

Security Schemes

sec0 apiKey
· in: header (Authorization)

Source

Authentication Profile

Raw ↑
generated: '2026-08-26'
method: searched
source: >-
  https://developers.satispay.com/reference/introduction,
  https://developers.satispay.com/reference/generate-rsa-keys,
  https://developers.satispay.com/reference/keyid,
  https://developers.satispay.com/reference/compose-the-authentication-header,
  https://developers.satispay.com/reference/testinput, openapi/satispay-sandbox.json
summary:
  model: http-message-signatures
  types:
  - apiKey
  api_key_in:
  - header
  oauth2: false
  openid_connect: false
  mtls: false
  note: >-
    Satispay does not use OAuth. Every request to the GBusiness API is signed with an RSA private key
    following the Signing HTTP Messages (Cavage) draft-10, and the signature travels in the standard
    Authorization header. The OpenAPI declares this as a generic apiKey-in-header scheme (sec0), which
    understates the real model — the header value is a computed signature, not a static key.
schemes:
- name: sec0
  type: apiKey
  in: header
  parameter: Authorization
  sources:
  - openapi/satispay-sandbox.json
  detail: >-
    Authorization: Signature keyId="<KeyId>", algorithm="rsa-sha256",
    headers="(request-target) host date digest", signature="<base64 RSA-SHA256 signature>"
flow:
  standard: https://tools.ietf.org/html/draft-cavage-http-signatures-10
  standard_name: Signing HTTP Messages (Cavage/Sporny draft-10)
  one_time_setup:
  - step: 1
    name: Generate an RSA key pair
    docs: https://developers.satispay.com/reference/generate-rsa-keys
  - step: 2
    name: Exchange the activation code for a KeyId
    docs: https://developers.satispay.com/reference/keyid
    operation: keyid
    endpoint: POST /g_business/v1/authentication_keys
    request:
      public_key: RSA public key in PEM format
      token: the one-time activation code generated in the Satispay Business Dashboard
    response:
      key_id: opaque identifier used as the signature keyId for every later request
    note: Activation codes are single use; re-pairing an already-paired token returns error code 45.
  per_request:
  - step: 3
    name: Create the Digest of the body
    docs: https://developers.satispay.com/reference/create-the-digest
    header: 'Digest: SHA-256=<base64 sha256 of the raw body>'
  - step: 4
    name: Compose the Message (signing string)
    docs: https://developers.satispay.com/reference/create-the-string
    components:
    - (request-target)
    - host
    - date
    - digest
  - step: 5
    name: Sign the Message with the RSA private key
    docs: https://developers.satispay.com/reference/sign-the-string
    algorithm: rsa-sha256
  - step: 6
    name: Compose the Authorization header
    docs: https://developers.satispay.com/reference/compose-the-authentication-header
verification:
  test_endpoint: POST https://staging.authservices.satispay.com/wally-services/protocol/tests/signature
  operation: testinput
  docs: https://developers.satispay.com/reference/testinput
  note: The test endpoint accepts GET, POST, PUT, DELETE and PATCH and echoes whether the signature verified.
credentials:
  sandbox:
    obtain: https://satispay-sandbox.paperform.co/
    docs: https://developers.satispay.com/docs/credentials
    note: A form request; Satispay emails the staging app links and the staging activation code.
  production:
    obtain: https://dashboard.satispay.com
    docs: https://developers.satispay.com/docs/credentials
    note: >-
      Create a Satispay Business account, get the business profile verified, create a shop, then generate
      the shop's activation code in the Dashboard and exchange it for a KeyId.
callback_authentication:
  docs: https://developers.satispay.com/reference/callback-s2s
  digest: Every callback carries a Digest header with the SHA-256 of the body.
  signature: >-
    Callbacks MAY carry an Authorization header with an asymmetric signature over Digest and Date,
    verifiable with Satispay's public key. Whether a given callback is signed depends on how the
    integration is configured — Satispay's own docs say not all callbacks are signed.
device_headers:
  note: >-
    The KeyId exchange accepts optional x-satispay-* device identification headers that are not
    authentication but are recorded here because they travel with the credential exchange.
  headers:
  - x-satispay-deviceinfo
  - x-satispay-devicetype
  - x-satispay-os
  - x-satispay-osv
  - x-satispay-apph
  - x-satispay-appn
  - x-satispay-appv
  - x-satispay-tracking-code
  devicetype_enum:
  - SMARTPHONE
  - TABLET
  - CASH REGISTER
  - POS
  - PC
  - ECOMMERCE_PLUGIN

Work with this as data

Every security artifact here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for security posture

4 MCP tools reach this
  • find_securityBrowse and filter every security artifact in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This security artifact
curl "https://apis.io/api/v1/security/satispay-authentication"
All security posture
curl "https://apis.io/api/v1/security?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.