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

# Active Configuration

Allows you to query your configuration including the countries and providers that have been configured for your account.
You can also retrieve supporting information about your configuration:

* Your company name on your PawaPay account.
* The currencies supported by the providers.
* The deposit authorisation types of each provider.
* Minimum and maximum amounts for deposits, payouts and refunds.
* The name of the company that is shown to the customer on the PIN prompt and/or SMS receipt.
* Instructions to show to the customer for different mechanism of payment authorisation
* And more...


## OpenAPI

````yaml openapi_v2 get /v2/active-conf
openapi: 3.0.0
info:
  title: PawaPay Merchant API V2
  description: Please find complete documentation from https://docs.pawapay.io/.
  version: v2
  x-logo:
    url: >-
      https://global-uploads.webflow.com/62824591015aa314fd308df1/6411b26596e3de3f52551c00_Logopawapay-p-500.png
    href: https://docs.pawapay.io/
    altText: PawaPay logo
servers:
  - url: https://api.sandbox.pawapay.io
    description: PawaPay Merchant API sandbox
  - url: https://api.pawapay.io
    description: PawaPay Merchant API production
security:
  - bearerAuth: []
tags:
  - name: deposits
    x-displayName: Deposits
  - name: split-payments
    x-displayName: Split Payments
  - name: checkouts
    x-displayName: Checkouts
  - name: payouts
    x-displayName: Payouts
  - name: refunds
    x-displayName: Refunds
  - name: remittances
    x-displayName: Remittances
  - name: payment-page
    x-displayName: Payment Page
  - name: toolkit
    x-displayName: Toolkit
  - name: finances
    x-displayName: Finances
paths:
  /v2/active-conf:
    get:
      tags:
        - toolkit
      summary: Active Configuration
      operationId: active_conf
      parameters:
        - $ref: '#/components/parameters/FilterCountry'
        - $ref: '#/components/parameters/FilterOperationType'
      responses:
        '200':
          description: If a request has been processed by PawaPay successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerActiveConfigResponse'
              examples:
                Success:
                  value:
                    companyName: Merchant Inc.
                    signatureConfiguration:
                      signedRequestsOnly: true
                      signedCallbacks: true
                    countries:
                      - country: BEN
                        displayName:
                          en: Benin
                          fr: Le Benin
                        prefix: '229'
                        flag: https://cdn.com/ben_flag.png
                        providers:
                          - provider: MTN_MOMO_BEN
                            displayName: MTN
                            logo: https://cdn.com/mtn_logo.png
                            nameDisplayedToCustomer: Merchant Inc.
                            currencies:
                              - currency: XOF
                                displayName: KSh
                                operationTypes:
                                  - DEPOSIT:
                                      authType: PROVIDER_AUTH
                                      pinPrompt: AUTOMATIC
                                      pinPromptRevivable: true
                                      pinPromptInstructions:
                                        channels:
                                          - type: USSD
                                            displayName:
                                              en: Not getting the PIN prompt?
                                              fr: Not getting Le Pin prompt
                                            quickLink: tel*182*1*3%23
                                            variables:
                                              shortCode: '*182#'
                                            instructions:
                                              en:
                                                - text: Dial *182# on your phone
                                                  template: Dial {{shortCode}} on your phone
                                              fr:
                                                - text: Composez *182# sur votre téléphone
                                                  template: >-
                                                    Composez {{shortCode}} sur votre
                                                    téléphone
                                      minTransactionLimit: '1'
                                      maxTransactionLimit: '1000'
                                      decimalsInAmount: NONE
                                      status: OPERATIONAL
                                      callbackUrl: https://merchant.com/depositCallback
                                  - operationType: PAYOUT
                                    minTransactionLimit: '1'
                                    maxTransactionLimit: '1000'
                                    decimalsInAmount: NONE
                                    status: DELAYED
                                    callbackUrl: https://merchant.com/payoutCallback
                                  - operationType: REFUND
                                    minTransactionLimit: '1'
                                    maxTransactionLimit: '1000'
                                    decimalsInAmount: NONE
                                    status: CLOSED
                                    callbackUrl: https://merchant.com/refundCallback
                                  - operationType: REMITTANCE
                                    minTransactionLimit: '1'
                                    maxTransactionLimit: '1000'
                                    decimalsInAmount: NONE
                                    status: OPERATIONAL
                                    callbackUrl: https://merchant.com/remittanceCallback
                                  - operationType: USSD_DEPOSIT
                                    callbackUrl: https://merchant.com/ussdCallback
                                  - operationType: NAME_LOOKUP
        '401':
          description: >-
            Authentication failed. Make sure you have added the API token into
            the header. If using signatures, make sure they are valid.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/AuthenticationFailureResponse'
              examples:
                AUTHENTICATION_ERROR:
                  value:
                    failureReason:
                      failureCode: AUTHENTICATION_ERROR
                      failureMessage: The API token in the request is invalid.
        '403':
          description: Authorization failure. Please check your authentication token.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/AuthorizationFailureResponse'
              examples:
                AUTHORISATION_ERROR:
                  value:
                    failureReason:
                      failureCode: AUTHORISATION_ERROR
                      failureMessage: >-
                        The API token in the request is not authorised for this
                        endpoint.
        '500':
          description: An unknown failure has occurred.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/UnknownFailureResponse'
              examples:
                UNKNOWN_ERROR:
                  value:
                    failureReason:
                      failureCode: UNKNOWN_ERROR
                      failureMessage: Unable to process request due to an unknown problem.
components:
  parameters:
    FilterCountry:
      in: query
      name: country
      description: >
        The country you wish to limit the results to.


        Format is ISO 3166-1 alpha-3, three character country code in upper
        case. Read more from
        [wikipedia](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3#Officially_assigned_code_elements).
      required: false
      schema:
        type: string
        minLength: 3
        maxLength: 3
        example: ZMB
    FilterOperationType:
      in: query
      name: operationType
      description: |
        The operation you wish to limit the results to.
      required: false
      schema:
        type: string
        enum:
          - DEPOSIT
          - PAYOUT
          - REMITTANCE
          - PUSH_DEPOSIT
          - REFUND
          - NAME_LOOKUP
  schemas:
    CustomerActiveConfigResponse:
      required:
        - companyName
        - countries
        - signatureConfiguration
      type: object
      properties:
        companyName:
          type: string
          description: Your company name as configured on your PawaPay account.
          example: Merchant Inc.
        signatureConfiguration:
          type: object
          properties:
            signedRequestsOnly:
              type: boolean
              description: >
                Indicates whether you have forced all financial requests to be
                signed on your PawaPay account.
            signedCallbacks:
              type: boolean
              description: >
                Indicates whether you have enabled callbacks to be signed by
                PawaPay.
        countries:
          type: array
          items:
            $ref: '#/components/schemas/CustomerActiveCountryConfigResponse'
    AuthenticationFailureResponse:
      required:
        - failureCode
        - failureMessage
      type: object
      properties:
        status:
          type: string
          enum:
            - REJECTED
          description: The status of the response will always be `REJECTED`
          example: REJECTED
        failureReason:
          $ref: '#/components/schemas/AuthenticationFailureReason'
    AuthorizationFailureResponse:
      required:
        - failureCode
        - failureMessage
      type: object
      properties:
        status:
          type: string
          enum:
            - REJECTED
          description: The status of the response will always be `REJECTED`
          example: REJECTED
        failureReason:
          $ref: '#/components/schemas/AuthorizationFailureReason'
    UnknownFailureResponse:
      required:
        - failureCode
        - failureMessage
      type: object
      properties:
        failureReason:
          type: object
          properties:
            failureCode:
              type: string
              description: >
                Reason for the failure:

                * `UNKNOWN_ERROR` - Unable to process request due to an unknown
                problem.
              example: UNKNOWN_ERROR
            failureMessage:
              type: string
              description: A description of the failure
              example: Unable to process request due to an unknown problem.
    CustomerActiveCountryConfigResponse:
      required:
        - country
        - displayName
        - prefix
        - flag
        - providers
      type: object
      properties:
        country:
          type: string
          minLength: 3
          maxLength: 3
          description: >
            The country that has been configured for your PawaPay account. 


            Format is ISO 3166-1 alpha-3, three character country code in upper
            case. Read more from
            [Wikipedia](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3#Officially_assigned_code_elements).
        displayName:
          type: object
          description: |
            The name of the country
          properties:
            en:
              type: string
            fr:
              type: string
          example:
            en: Benin
            fr: Le Benin
        prefix:
          type: string
          description: |
            The calling code for this country.
          example: '229'
        flag:
          type: string
          description: |
            The URL to a flag for this country.
          example: https://cdn.com/ben_flag.svg
        providers:
          type: array
          items:
            $ref: '#/components/schemas/CustomerActiveGatewayConfigResponse'
    AuthenticationFailureReason:
      required:
        - failureReason
      type: object
      properties:
        failureCode:
          type: string
          description: >
            Reason for the failure:

            * `NO_AUTHENTICATION` - The API token was not found in the request
            headers.

            * `AUTHENTICATION_ERROR` - The API token in the request headers is
            not valid.

            * `HTTP_SIGNATURE_ERROR` - The signature you have passed with the
            request did not pass verification.
          enum:
            - NO_AUTHENTICATION
            - AUTHENTICATION_ERROR
            - HTTP_SIGNATURE_ERROR
        failureMessage:
          type: string
          description: A description of the failure
    AuthorizationFailureReason:
      required:
        - failureReason
      type: object
      properties:
        failureCode:
          type: string
          description: >
            Reason for the failure:

            * `AUTHORISATION_ERROR` - The API Token in the request header is not
            authorised to make this request.

            * `DEPOSITS_NOT_ALLOWED` - Deposits are not enabled with the
            provider on your PawaPay account.

            * `PAYOUTS_NOT_ALLOWED` - Payouts are not enabled with the provider
            on your PawaPay account.

            * `REMITTANCES_NOT_ALLOWED` - Remittances are not enabled with the
            provider on your PawaPay account.

            * `REFUNDS_NOT_ALLOWED` - Refunds are not enabled with the provider
            on your PawaPay account.
          enum:
            - AUTHORISATION_ERROR
            - DEPOSITS_NOT_ALLOWED
            - PAYOUTS_NOT_ALLOWED
            - REMITTANCES_NOT_ALLOWED
            - REFUNDS_NOT_ALLOWED
        failureMessage:
          type: string
          description: A description of the failure
    CustomerActiveGatewayConfigResponse:
      required:
        - provider
        - displayName
        - nameDisplayedToCustomer
        - logo
        - currencies
      type: object
      properties:
        provider:
          $ref: '#/components/schemas/Provider'
        displayName:
          type: string
          description: |
            The commonly used name for the provider.
        nameDisplayedToCustomer:
          type: string
          description: >-
            The name of the company that is shown to the customer on the PIN
            prompt and/or SMS receipt.
        currencies:
          type: array
          description: The currencies that this provider supports for payments.
          items:
            $ref: '#/components/schemas/CustomerActiveCurrencyConfigResponse'
    Provider:
      type: string
      description: >
        The provider represents the mobile money operator or processor that can
        process payments.


        Find here a list of all the supported [providers](/v2/docs/providers). 


        The [active
        configuration](/v2/api-reference/toolkit/active-configuration) endpoint
        provides the list of provider configured for your account.


        You can use the [predict
        provider](/v2/api-reference/toolkit/predict-provider) enpoint to predict
        the provider to use based on the phone number (MSISDN).
      example: MTN_MOMO_ZMB
    CustomerActiveCurrencyConfigResponse:
      required:
        - currency
        - displayName
        - operationTypes
      type: object
      properties:
        currency:
          type: string
          description: >
            The currency code for the supported currency.

            Format must be the ISO 4217 three character currency code in upper
            case. Read more from
            [Wikipedia](https://en.wikipedia.org/wiki/ISO_4217#Active_codes).
          example: ZMW
        displayName:
          type: string
          description: |
            The commonly used abbreviation for this currency.
        operationTypes:
          type: object
          description: >
            The operation types that have been configured for this provider on
            your PawaPay account.
          properties:
            DEPOSIT:
              $ref: >-
                #/components/schemas/CustomerActiveDepositOperationTypeConfigResponse
              description: Configuration for initiating deposits.
            PAYOUT:
              $ref: >-
                #/components/schemas/CustomerActiveGenericOperationTypeConfigResponse
              description: Configuration for initiating payouts.
            REMITTANCE:
              $ref: >-
                #/components/schemas/CustomerActiveGenericOperationTypeConfigResponse
              description: Configuration for initiating remittances.
            REFUND:
              $ref: >-
                #/components/schemas/CustomerActiveGenericOperationTypeConfigResponse
              descriptions: Configuration for initiating refunds.
            USSD_DEPOSIT:
              type: object
              description: Configuration for handling USSD deposits.
              properties:
                callbackUrl:
                  $ref: '#/components/schemas/ActiveConfCallbackUrl'
    CustomerActiveDepositOperationTypeConfigResponse:
      allOf:
        - type: object
          properties:
            authType:
              type: string
              description: >
                Indicates the authorisation type that this provider uses for
                authorising deposits.
              enum:
                - PROVIDER_AUTH
                - PREAUTH
                - REDIRECT_AUTH
            pinPrompt:
              type: string
              description: >
                If the provider uses 'PROVIDER_AUTH' type, indicates whether the
                PIN-prompt will open automatically or the customer needs to take
                action for it.
              enum:
                - AUTOMATIC
                - MANUAL
            pinPromptRevivable:
              type: boolean
              description: >
                If the provider uses 'PROVIDER_AUTH' type, indicates whether it
                is possible for the customer to revive the PIN prompt in cases
                where it times out before they can authorise the payment.
            pinPromptInstructions:
              $ref: '#/components/schemas/Instructions'
              description: >
                Shows the instruction to show to the customer for when the
                authorisation is either:
                  - MANUAL
                  - pinPromptRevivable is true.
            authTokenInstructions:
              $ref: '#/components/schemas/Instructions'
              description: >
                In case of `PREAUTH` type, includes the instruction how the
                customer can preauhtorise the payment.
        - $ref: >-
            #/components/schemas/CustomerActiveGenericOperationTypeConfigResponse
    CustomerActiveGenericOperationTypeConfigResponse:
      type: object
      properties:
        minAmount:
          type: string
          pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
          description: Minimum amount allowed for this provider for this operation type.
          example: '1'
        maxAmount:
          type: string
          pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
          description: Maximum amount allowed for this provider for this operation type.
          example: '100000'
        decimalsInAmount:
          type: string
          description: |
            THe amount of decimals that this provider allows in `amount`.
          enum:
            - TWO_PLACES
            - NONE
        status:
          $ref: '#/components/schemas/GatewayAvailabilityStatus'
        callbackUrl:
          $ref: '#/components/schemas/ActiveConfCallbackUrl'
    ActiveConfCallbackUrl:
      type: string
      description: |
        The callback URL that you have configured for this operation type.
    Instructions:
      required:
        - channels
      properties:
        channels:
          type: array
          items:
            $ref: '#/components/schemas/InstructionChannel'
    GatewayAvailabilityStatus:
      type: string
      description: >
        Possible operation statuses for providers and their operation types: 

        * `OPERATIONAL` -  The provider is operational and open for processing
        requests.

        * `DELAYED` - The provider is having problems processing payouts. Our
        payment operations team is currently monitoring the provider. Payouts
        are being enqueued and will be processed once the problems have been
        resolved.  

        * `CLOSED` - The provider is having problems and all requests are being
        rejected by PawaPay.
      enum:
        - OPERATIONAL
        - DELAYED
        - CLOSED
    InstructionChannel:
      required:
        - type
        - displayName
        - quickLink
        - variables
        - instructions
      properties:
        type:
          type: string
          description: >
            Shows through which channel these instructions can be completed by
            the customer.
          enum:
            - USSD
            - APP
        displayName:
          type: object
          description: >
            Short instruction for when these instructions should be follow by
            the customer. See example.
          properties:
            en:
              type: string
            fr:
              type: string
          example:
            en: Not getting the PIN prompt?
            fr: Je ne reçois pas l’invite de code PIN.
        quickLink:
          type: string
          description: >
            A quicklink to take the customer further in the instructions. For
            example, predialing a USSD shortcode.
          example: tel*182*1*3%23
        variables:
          type: object
          description: >
            A map of variables for values used in the 'template' of
            'instructions'. 

            You can use the tempalte if you are looking to add emphasis to key
            vairbales like the number to dial or the options to choose.
          properties:
            additionalProperties:
              type: string
          example:
            - shortCode: '*182#'
        instructions:
          type: object
          description: |
            List of instructions to show to the customer.
          properties:
            en:
              $ref: '#/components/schemas/InstructionTemplate'
            fr:
              $ref: '#/components/schemas/InstructionTemplate'
    InstructionTemplate:
      required:
        - text
        - template
      properties:
        text:
          type: string
          description: >
            This is the prerendered instruction that can be shown to the
            customer.
        template:
          type: string
          description: >
            This is the template for the instruction. The variables can be
            emphasised and replace in the tempalte to get the final instruction.
  securitySchemes:
    bearerAuth:
      type: http
      description: >-
        See
        [Authentication](/v2/docs/how_to_start#how-to-authenticate-calls-to-the-merchant-api).
      scheme: bearer
      bearerFormat: JWT

````