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

# Debit a customer's wallet into partner wallet



## OpenAPI

````yaml /openapi/sso.openapi.json post /sso/transaction/debit
openapi: 3.0.3
info:
  title: Wallet SSO API
  version: 1.0.0
  description: OpenAPI specification for the Wallet service API.
servers:
  - url: https://staging-api.yourflexpay.com/v2
    description: Staging
  - url: https://sandbox-api.yourflexpay.com/v2
    description: Sandbox
  - url: https://api.yourflexpay.com/v2
    description: Live
security:
  - PartnerIdHeader: []
    PartnerApiKeyHeader: []
tags:
  - name: SSO Auth
  - name: SSO Wallet
  - name: SSO Transaction
  - name: SSO Payment Request
  - name: SSO PayTag
  - name: SSO QR
  - name: SSO Beneficiary
paths:
  /sso/transaction/debit:
    post:
      tags:
        - SSO Transaction
      summary: Debit a customer's wallet into partner wallet
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WalletTransferDto'
      responses:
        '200':
          description: Wallet debit transaction details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WalletTransactionDetail'
      security:
        - ClientIdHeader: []
          ApiKeyHeader: []
          BearerAuth: []
components:
  schemas:
    WalletTransferDto:
      type: object
      required:
        - amount
      properties:
        amount:
          type: number
          minimum: 1
          maximum: 999999999
        comment:
          type: string
          maxLength: 250
        reference:
          type: string
          maxLength: 100
        currency:
          $ref: '#/components/schemas/WalletCurrency'
        metadata:
          type: object
          additionalProperties: true
    WalletTransactionDetail:
      type: object
      required:
        - Amount
        - Fee
        - Net
        - Reference
        - Status
        - Sender
        - Recipient
        - Date
      properties:
        Amount:
          type: number
        Fee:
          type: number
        Net:
          type: number
        Reference:
          type: string
        ExternalReference:
          type: string
        Comment:
          type: string
        Status:
          $ref: '#/components/schemas/TransactionStatus'
        Sender:
          $ref: '#/components/schemas/TransactionPartyDetail'
        Recipient:
          $ref: '#/components/schemas/TransactionPartyDetail'
        Metadata:
          type: object
          additionalProperties: true
        Date:
          type: string
          format: date-time
    WalletCurrency:
      type: string
      enum:
        - NGN
        - FP
    TransactionStatus:
      type: string
      enum:
        - Pending
        - Failed
        - Successful
        - Cancelled
        - Expired
        - Pending Review
    TransactionPartyDetail:
      type: object
      required:
        - Name
        - Amount
        - Fee
        - Currency
      properties:
        Name:
          type: string
        Paytag:
          type: string
        ProfileImage:
          type: string
        Type:
          $ref: '#/components/schemas/AccountType'
        External:
          type: boolean
        Amount:
          type: number
        Fee:
          type: number
        Currency:
          $ref: '#/components/schemas/WalletCurrency'
    AccountType:
      type: string
      enum:
        - AdminAuth
        - Customer
        - Merchant
        - MerchantUser
        - Partner
  securitySchemes:
    ClientIdHeader:
      type: apiKey
      in: header
      name: x-client-id
    ApiKeyHeader:
      type: apiKey
      in: header
      name: x-api-key
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````