paths:
  /webhooks/9psb:
    post:
      summary: Webhook receiver for 9PSB
      description: Endpoint for receiving webhook callbacks from 9PSB for virtual account transactions.
      tags: [System Webhooks]
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                transaction:
                  type: object
                  properties:
                    reference:
                      type: string
                      example: "9PSB_TXN_001"
                    amount:
                      type: number
                      example: 5000
                    status:
                      type: string
                      example: "successful"
                    customerAccount:
                      type: string
                      example: "1234567890"
      responses:
        '200':
          description: Webhook received and queued for processing
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  message:
                    type: string
                    example: "Webhook accepted"

  /webhooks/payscribe:
    post:
      summary: Webhook receiver for Payscribe
      description: Endpoint for receiving webhook callbacks from Payscribe for virtual card operations.
      tags: [System Webhooks]
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                event:
                  type: string
                  example: "card.transaction.success"
                data:
                  type: object
                  properties:
                    cardId:
                      type: string
                      example: "payscribe_card_123"
                    amount:
                      type: number
                      example: 25.50
                    merchant:
                      type: string
                      example: "Netflix"
      responses:
        '200':
          description: Webhook received and queued for processing
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  message:
                    type: string
                    example: "Webhook accepted"
