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

# Resolve Payment Method

> Resolves payment method user information for bank accounts or mobile money.

Resolve payment method user information for bank accounts or mobile money. This endpoint validates and retrieves recipient details based on account number and institution code.


## OpenAPI

````yaml GET /api/v1/payment-method/resolve
openapi: 3.1.0
info:
  title: Afriex Business API
  version: 1.0.8
  description: >-
    Welcome to the Afriex Business API. This API allows you to manage customers,
    process payments, handle payouts, and receive real-time notifications via
    webhooks.


    For detailed guidance on authentication, pagination, error handling, and
    webhooks, please refer to the [dedicated guides](https://docs.afriex.com) in
    the top bar. The guide provides a step-by-step instructions to help you
    integrate seamlessly.
  termsOfService: https://www.afriex.com/terms-and-condition
  contact:
    name: Afriex API Support
    email: eng@afriex.co
    url: https://docs.afriex.com
  license:
    name: Proprietary
    url: https://www.afriex.com/terms-and-condition
servers:
  - url: https://sandbox.api.afriex.com
    description: Staging Base URL
  - url: https://api.afriex.com
    description: Production Base URL
security:
  - ApiKey: []
tags:
  - name: Customers
    description: Create and manage your customers.
  - name: Payment Methods
    description: Register and resolve customer payout and collection methods.
  - name: Transactions
    description: Create and track deposits, withdrawals, and swaps.
  - name: Balance
    description: View and top up your business wallet balances.
  - name: Rates
    description: Fetch real-time exchange rates.
  - name: Checkout Sessions
    description: Create hosted checkout sessions.
  - name: Webhooks
    description: Webhook event payloads and sandbox webhook testing.
  - name: Media
    description: Generate presigned URLs for secure file uploads.
paths:
  /api/v1/payment-method/resolve:
    parameters:
      - $ref: '#/components/parameters/x-api-signature'
      - $ref: '#/components/parameters/x-api-version'
    get:
      tags:
        - Payment Methods
      summary: Resolve payment method recipient by account number
      description: >-
        Resolves payment method user information for bank accounts or mobile
        money.
      operationId: resolveRecipient
      parameters:
        - name: channel
          in: query
          description: The payment method channel to resolve
          required: true
          schema:
            type: string
            enum:
              - MOBILE_MONEY
              - BANK_ACCOUNT
        - name: accountNumber
          in: query
          description: >-
            Bank account number (required for BANK_ACCOUNT channel) or phone
            number (required for MOBILE_MONEY channel)
          required: false
          schema:
            type: string
        - name: institutionCode
          in: query
          description: Bank code (required for BANK_ACCOUNT channel)
          required: false
          schema:
            type: string
        - name: countryCode
          in: query
          description: >-
            The ISO 3166-1 alpha-2 country code. The accepted values depend on
            channel: BANK_ACCOUNT supports only NG and GH; MOBILE_MONEY supports
            the remaining countries listed in the enum.
          required: true
          schema:
            type: string
            enum:
              - NG
              - GH
              - ET
              - KE
              - MG
              - MW
              - MZ
              - RW
              - TZ
              - UG
              - CM
              - CG
              - GA
              - CF
              - CI
              - BF
              - ML
              - SN
              - TG
              - BJ
              - NE
              - GN
              - ZM
      responses:
        '200':
          description: Payment method resolved successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/PaymentMethodResolveResponse'
              examples:
                bankAccountResolved:
                  summary: Bank account resolved
                  value:
                    data:
                      recipientName: John Doe
                      institutionName: GUARANTY TRUST BANK
                      institutionCode: '000013'
                mobileMoneyResolved:
                  summary: Mobile money account resolved
                  value:
                    data:
                      recipientName: John Doe
                      institutionName: MTN
                      institutionCode: MTN
        '400':
          description: Invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                missingParams:
                  summary: Missing required parameters
                  value:
                    code: VALIDATION_ERROR
                    error: >-
                      Failed to parse request. Issues: 'accountNumber' is
                      required, 'institutionCode' is required, 'countryCode' is
                      required
                    details: {}
        '401':
          description: Unauthorized - Invalid business API key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                missingApiKey:
                  summary: Missing API key
                  value:
                    code: AUTHENTICATION_ERROR
                    error: Authorization header is missing
                    details: {}
                invalidApiKey:
                  summary: Invalid API key
                  value:
                    code: AUTHENTICATION_ERROR
                    error: Invalid authorization header
                    details: {}
        '404':
          description: Payment method not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                notFound:
                  summary: Account not found
                  value:
                    code: PAYMENT_METHOD_NOT_FOUND
                    error: Payment method not found
                    details:
                      errorMessage: Payment method not found
                      friendlyMessage: ''
        '500':
          description: Server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                serverError:
                  summary: Unexpected server error
                  value:
                    code: INTERNAL_SERVER_ERROR
                    error: It's not you, it's us, please reach out to support
                    details: {}
      x-codeSamples:
        - lang: TypeScript
          label: Afriex SDK
          source: |
            const accountInfo = await afriex.paymentMethods.resolveAccount({
              channel: "BANK_ACCOUNT",
              accountNumber: "1234567890",
              institutionCode: "044",
              countryCode: "NG",
            });

            // Returns: { recipientName, recipientEmail, recipientPhone }
components:
  parameters:
    x-api-signature:
      name: x-api-signature
      in: header
      required: false
      description: >-
        Signature of the request payload, used for request authentication where
        payload signing is enabled for your business.
      schema:
        type: string
    x-api-version:
      name: x-api-version
      in: header
      required: false
      description: >-
        API version in ISO 8601 format (e.g. 2025-12-28). Defaults to latest
        stable.
      schema:
        type: string
  schemas:
    PaymentMethodResolveResponse:
      type: object
      properties:
        recipientName:
          type: string
          description: The resolved name on the account.
        institutionName:
          type: string
          description: The name of the resolved bank or mobile money provider.
        institutionCode:
          type: string
          description: The code of the resolved bank or mobile money provider.
    ErrorResponse:
      type: object
      properties:
        code:
          type: string
          description: Machine-readable error code.
        error:
          type: string
          description: Human-readable error message.
        details:
          $ref: '#/components/schemas/ErrorDetails'
    ErrorDetails:
      type: object
      properties:
        errorMessage:
          type: string
          description: Detailed/technical error message.
        friendlyMessage:
          type: string
          description: User-facing error message safe to display.
        data:
          type: object
          description: >-
            Optional caller-safe context for the error. On a customer-create
            uniqueness conflict (EMAIL_ALREADY_EXISTS /
            PHONE_NUMBER_ALREADY_EXISTS) this carries the existing customer's
            id, so you can adopt it without a follow-up lookup.
          properties:
            customerId:
              type: string
              description: Id of the existing customer (on a create conflict).
  securitySchemes:
    ApiKey:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        Static business API key issued from the dashboard. A business can
        provision **multiple API keys**, each scoped to a configurable set of
        **permissions** (e.g. read transactions, create deposits, etc).
        Permissions are chosen per key at creation time in the dashboard and may
        be revoked by deleting the key. Requests made with a key that does not
        include the permission required by the target endpoint will be rejected
        with a `403 Forbidden` response; an unrecognised, malformed or revoked
        key returns `401 Unauthorized`. Manage your keys and their permissions
        under **Developer → API keys** in the dashboard.

````