Appcharge · Authentication Profile

Appcharge Authentication

Authentication

Appcharge uses three distinct authentication surfaces: (1) the publisher REST API authenticates with the x-publisher-token API key header (from the Publisher Dashboard > Settings > Integration); (2) webhooks and Appcharge-> publisher callbacks are verified with an HMAC-SHA256 signature over "{timestamp}.{json_payload}" carried in the `signature: t=...,v1=...` header (plus x-publisher-token and x-project-id), with a ~5-minute replay window; (3) the hosted MCP server is protected by OAuth 2.0 (authorization_code + PKCE). mTLS is supported for sensitive server-to-server integrations.

Appcharge secures its APIs with apiKey, oauth2, mutualTLS, and hmac-signature across 4 declared security schemes, as derived from its OpenAPI definitions. OAuth 2.0 is offered via the authorizationCode flow(s).

CompanyPaymentsMonetizationMerchant of RecordMobile GamesGamingCheckoutIn-Game PurchasesWeb StoreeCommerce
Methods: apiKey, oauth2, mutualTLS, hmac-signature Schemes: 4 OAuth flows: authorizationCode API key in: header

Security Schemes

PublisherTokenAuth apiKey
· in: header (x-publisher-token)
WebhookSignature hmac
OAuth2 oauth2
MutualTLS mutualTLS

Source

Authentication Profile

Raw ↑
generated: '2026-07-17'
method: searched
source: openapi/appcharge-openapi.yml + https://docs.appcharge.com/api-reference/appcharge-publisher-secure-communication + https://docs.appcharge.com/merchant-of-record/security/about-security-at-appcharge
docs: https://docs.appcharge.com/api-reference/appcharge-publisher-secure-communication
description: >-
  Appcharge uses three distinct authentication surfaces: (1) the publisher REST
  API authenticates with the x-publisher-token API key header (from the
  Publisher Dashboard > Settings > Integration); (2) webhooks and Appcharge->
  publisher callbacks are verified with an HMAC-SHA256 signature over
  "{timestamp}.{json_payload}" carried in the `signature: t=...,v1=...` header
  (plus x-publisher-token and x-project-id), with a ~5-minute replay window;
  (3) the hosted MCP server is protected by OAuth 2.0 (authorization_code +
  PKCE). mTLS is supported for sensitive server-to-server integrations.
summary:
  types: [apiKey, oauth2, mutualTLS, hmac-signature]
  api_key_in: [header]
  api_key_names: [x-publisher-token]
  oauth2_flows: [authorizationCode]
schemes:
  - name: PublisherTokenAuth
    type: apiKey
    in: header
    parameter: x-publisher-token
    description: >-
      Publisher token from the Publisher Dashboard (Settings > Integration).
      Required on all REST API calls. Can be shared across multiple Appcharge
      accounts.
    sources: [openapi/appcharge-openapi.yml]
  - name: WebhookSignature
    type: hmac
    algorithm: HMAC-SHA256
    header: signature
    format: t={timestamp},v1={hex_signature}
    input: "{timestamp}.{json_payload}"
    replay_window: ~5 minutes
    also_sent: [x-publisher-token, x-project-id]
    description: >-
      Signature Appcharge attaches to every outbound webhook/callback so the
      publisher can verify authenticity and integrity. Timestamp is a Unix ms
      value; publishers reconstruct the HMAC with their main key (Settings >
      Integration) and compare.
    sources: [https://docs.appcharge.com/api-reference/events/v2/introduction]
  - name: OAuth2
    type: oauth2
    flow: authorizationCode
    authorizationUrl: https://api.appcharge.com/oauth/authorize
    tokenUrl: https://api.appcharge.com/oauth/token
    scopes: [mcp:read, mcp:write]
    applies_to: hosted MCP server (mcp.appcharge.com)
    sources: [https://api.appcharge.com/.well-known/oauth-authorization-server]
  - name: MutualTLS
    type: mutualTLS
    description: >-
      mTLS supported for server-to-server integrations that require both parties
      to present and verify certificates.
    sources: [https://docs.appcharge.com/merchant-of-record/security/about-security-at-appcharge]