> ## Documentation Index
> Fetch the complete documentation index at: https://docs.saspay.me/llms.txt
> Use this file to discover all available pages before exploring further.

# Créer un point de réception

> Enregistre une URL qui recevra vos events, avec génération automatique du secret si omis

<Warning>
  Si vous ne fournissez pas `signing_secret`, SasPay en génère automatiquement un côté serveur — jamais vide. Il n'est **jamais renvoyé en lecture** après coup : notez-le précieusement dans cette réponse. Voir la section sécurité de [Webhooks](/api-reference/webhooks).
</Warning>


## OpenAPI

````yaml api-reference/openapi.json POST /merchant-webhooks/
openapi: 3.1.0
info:
  title: SasPay API
  description: >-
    API d'encaissement et de paiement mobile money/carte pour l'Afrique de
    l'Ouest et du Centre. Toutes les routes marchand nécessitent une clé API
    secrète (header Authorization: Bearer sk_...).
  version: 1.0.0
servers:
  - url: https://api.saspay.me/api/v1
security:
  - bearerAuth: []
paths:
  /merchant-webhooks/:
    post:
      tags:
        - Webhooks
      summary: Créer un point de réception
      description: >-
        Si signing_secret est omis, SasPay en génère automatiquement un. Il
        n'est jamais renvoyé en lecture après coup — notez-le à la création.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                url:
                  type: string
                  format: uri
                description:
                  type: string
                  nullable: true
                signing_secret:
                  type: string
                  description: Généré automatiquement si omis. Write-only.
                environment:
                  type: string
                  enum:
                    - SANDBOX
                    - LIVE
              required:
                - url
                - environment
            example:
              url: https://exemple.com/webhooks/saspay
              description: Notifications production
              environment: LIVE
      responses:
        '201':
          description: Webhook créé
          content:
            application/json:
              example:
                id: c1d2e3f4-1111-2222-3333-444455556666
                merchant: 8a1f5c3e-0000-1111-2222-333344445555
                url: https://exemple.com/webhooks/saspay
                description: Notifications production
                environment: LIVE
                is_active: true
                created_by_member: null
                created_at: '2026-08-01T09:00:00Z'
                updated_at: '2026-08-01T09:00:00Z'
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: sk_live_... / sk_test_...
      description: >-
        Clé API secrète du marchand — header Authorization: Bearer sk_live_xxx
        (ou sk_test_xxx en environnement de test).

````