AZA Finance Recipients API

The Recipients API from AZA Finance — 3 operation(s) for recipients.

OpenAPI Specification

aza-finance-recipients-api-openapi.yml Raw ↑
openapi: 3.0.2
info:
  title: TransferZero Account Debits Recipients API
  description: Reference documentation for the TransferZero API V1
  version: '1.0'
servers:
- url: https://api-sandbox.transferzero.com/v1
- url: https://api.transferzero.com/v1
security:
- AuthorizationKey: []
  AuthorizationNonce: []
  AuthorizationSignature: []
- AuthorizationKey: []
  AuthorizationSecret: []
tags:
- name: Recipients
paths:
  /recipients:
    get:
      tags:
      - Recipients
      summary: Getting a list of recipients with filtering
      description: Fetches details of all recipients.
      operationId: get-recipients
      parameters:
      - name: page
        in: query
        description: The page number to request (defaults to 1)
        required: false
        schema:
          type: integer
        example: 1
      - name: per
        in: query
        description: The number of results to load per page (defaults to 10)
        required: false
        schema:
          type: integer
        example: 10
      - name: created_at_from
        in: query
        description: 'Start date to filter recipients by created_at range

          Allows filtering results by the specified `created_at` timeframe.


          Example: `/v1/recipients?created_at_from=2018-06-06&created_at_to=2018-06-08`'
        required: false
        schema:
          type: string
      - name: created_at_to
        in: query
        description: 'End date to filter recipients by created_at range

          Allows filtering results by the specified `created_at` timeframe.


          Example: `/v1/recipients?created_at_from=2018-06-06&created_at_to=2018-06-08`'
        required: false
        schema:
          type: string
      - name: amount_from
        in: query
        description: 'Minimum amount to filter recipients by amount range.


          Allows filtering results by the specified `amount` range. When using this filter, the `currency` should also be specified.


          Example: `/v1/recipients?currency=NGN&amount_from=83.76672339&amount_to=83.76672339`'
        required: false
        schema:
          type: string
      - name: amount_to
        in: query
        description: 'Max amount to filter recipients by amount range.


          Allows filtering results by the specified `amount` range. When using this filter, the `currency` should also be specified.


          Example: `/v1/recipients?currency=NGN&amount_from=83.76672339&amount_to=83.76672339`'
        required: false
        schema:
          type: string
      - name: state
        in: query
        description: 'Allows filtering results by `state` of recipient. See [API Documentation - Recipient state](https://docs.transferzero.com/docs/transaction-flow/#state) for possible states.


          Example: `/v1/recipients?state[]=error&state[]=initial`'
        required: false
        schema:
          type: array
          items:
            type: string
      - name: currency
        in: query
        description: 'Allows filtering results by `input_currency`.


          Additionally required when filtering by an amount range

          Example: `/v1/recipients?currency[]=KES&currency[]=NGN`'
        required: false
        schema:
          type: array
          items:
            type: string
      responses:
        '200':
          description: Array of recipients requested
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecipientListResponse'
        '401':
          description: Authentication information is missing or invalid.
        '500':
          description: Internal Server Error.
      x-group-parameters: true
  /recipients/{Recipient ID}:
    delete:
      tags:
      - Recipients
      summary: Cancelling a recipient
      description: 'Cancels the payment to the recipient specified in the URL path.


        Please note recipients where the `may_cancel` attribute is true will be cancelled immediately. If the `may_cancel` attribute is false you can still try to cancel the recipient, however it will only gets cancelled if we will receive a confirmation from our partner that the payment has failed'
      externalDocs:
        description: More details on cancelling recipients
        url: https://docs.transferzero.com/docs/transaction-flow/#cancelling-recipients-and-transactions
      operationId: delete-recipient
      parameters:
      - name: Recipient ID
        in: path
        description: 'ID of recipient to cancel.


          Example: `/v1/recipients/9d4d7b73-a94c-4979-ab57-09074fd55d33`'
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Details of recipient cancelled
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecipientResponse'
        '401':
          description: Authentication information is missing or invalid.
        '404':
          description: Resource Not Found.
        '422':
          description: Invalid recipient object (includes errors object)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecipientResponse'
        '500':
          description: Internal Server Error.
    patch:
      tags:
      - Recipients
      summary: Updating a recipient
      description: 'Updates the recipient specified in the URL path.


        Please note that only recipients where the `editable` field is true can be modified. Once the recipient is modified any subsequent payout tries will be sent to the updated details.'
      operationId: patch-recipient
      parameters:
      - name: Recipient ID
        in: path
        description: 'ID of recipient to update.


          Example: `/v1/recipients/9d4d7b73-a94c-4979-ab57-09074fd55d33`'
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RecipientRequest'
        required: true
      responses:
        '200':
          description: Details of the updated recipient
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecipientResponse'
        '401':
          description: Authentication information is missing or invalid.
        '404':
          description: Resource Not Found.
        '422':
          description: Invalid recipient object (includes errors object)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecipientResponse'
        '500':
          description: Internal Server Error.
  /recipients/{Recipient ID}/proof_of_payments:
    get:
      tags:
      - Recipients
      summary: Returns list of proof of payments
      description: Returns a list of uploaded proof of payment files for a transaction recipient
      operationId: proof-of-payments
      parameters:
      - name: Recipient ID
        in: path
        description: 'ID of the recipient for whom the proof of payments will be returned.


          Example: `/v1/recipients/9d4d7b73-a94c-4979-ab57-09074fd55d33/proof_of_payments`'
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Collection of proof of payment objects
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProofOfPaymentListResponse'
        '422':
          description: Unable to process the request.
components:
  schemas:
    PayoutMethodDetailsMADCash:
      required:
      - first_name
      - last_name
      - phone_number
      - sender_identity_card_id
      - sender_identity_card_type
      type: object
      properties:
        first_name:
          type: string
        last_name:
          type: string
        phone_number:
          type: string
        sender_identity_card_type:
          $ref: '#/components/schemas/PayoutMethodIdentityCardTypeEnum'
        sender_identity_card_id:
          type: string
        sender_city_of_birth:
          type: string
        sender_country_of_birth:
          type: string
        sender_gender:
          $ref: '#/components/schemas/PayoutMethodGenderEnum'
        reason:
          type: string
        identity_card_type:
          $ref: '#/components/schemas/PayoutMethodIdentityCardTypeEnum'
        identity_card_id:
          type: string
        birth_date:
          type: string
          description: Date of birth of recipient
          format: date
      description: "```JSON\n\"details\": {\n  \"first_name\": \"First\",\n  \"last_name\": \"Last\",\n  \"phone_number\": \"+212537718685\"\n    # Mandatory; E.164 international format\n  \"sender_identity_card_type\" => \"O\",\n    # Mandatory; Values: \"O\": Other, \"PP\": Passport, \"ID\": National ID\n  \"sender_identity_card_id\" => 'AB12345678',\n    # Mandatory\n  \"sender_city_of_birth\" => \"London\",\n    # Optional\n  \"sender_country_of_birth\" => \"GB\",\n    # Optional; ISO 2-letter format\n  \"sender_gender\" => \"M\",\n    # Optional; Values: \"M\": Male, \"F\": Female\n  \"reason\" => \"Remittance payment\",\n    # Optional; Default value is 'Remittance payment'\n  \"identity_card_type\" => \"ID\",\n    # Optional; Values: \"PP\": Passport, \"ID\": National ID\n  \"identity_card_id\" => 'AB12345678'\n    # Optional\n}\n```\n\nPlease note when sending MAD::Cash payments you should subscribe to the recipient.pending webhook, as that will broadcast the payment reference ID the customer need to use to obtain the funds.\nExample webhook response excerpt -\n\n```JSON\n{\n  (...)\n  \"state\":\"pending\",\n  \"metadata\": {\n    \"payment_reference\":\"9M5GJRJUBCY\"\n  },\n  (...)\n}\n```\n\nThe reference can also be provided optionally for MAD::Cash, but if you want to use this functionality please contact us for more details."
    PayoutMethodDetailsXAFBank:
      required:
      - first_name
      - iban
      - last_name
      type: object
      properties:
        first_name:
          type: string
        last_name:
          type: string
        iban:
          type: string
        bank_account:
          type: string
        bank_name:
          type: string
        bank_country:
          type: string
        bank_code:
          type: string
        sort_code:
          type: string
        transfer_reason:
          $ref: '#/components/schemas/PayoutMethodTransferReasonEnum'
        birth_date:
          type: string
          description: Date of birth of recipient
          format: date
      description: "```JSON\n\"details\": {\n  \"first_name\": \"First\",\n  \"last_name\": \"Last\",\n  \"iban\": \"CM2110033052090901100045910\", # IBAN format\n  \"bank_account\": \"09011000459\",\n  \"bank_name\": \"United Bank for Africa - Cameroon\",\n  \"bank_country\": \"CM\", # ISO country code for Cameroon\n  \"bank_code\": \"10033\",\n  \"sort_code\": \"10\",\n  \"transfer_reason\": \"personal_account\"\n}\n```\n\nSee [XAF Bank](https://docs.transferzero.com/docs/payout-details/#xafbank) documentation for the bank_code and transfer_reason lists"
    PayoutMethodDetailsGBPBank:
      required:
      - first_name
      - last_name
      type: object
      properties:
        first_name:
          type: string
        last_name:
          type: string
        iban:
          type: string
        bank_account:
          type: string
        sort_code:
          type: string
        bic:
          type: string
        bank_name:
          type: string
        narration:
          type: string
        birth_date:
          type: string
          description: Date of birth of recipient
          format: date
      description: "```JSON\n\"details\": {\n  \"first_name\": \"First\",\n  \"last_name\": \"Last\",\n  \"iban\": \"GB45LOYD60161331926819\", // Required if no `bank_account` and `sort_code`\n  \"bank_account\": \"12345678\", // Required if `iban` is not present\n  \"sort_code\": \"123456\", // Required if `bank_account` is present\n  \"bic\": \"CHASUS33XXX\" // Optional\n  \"bank_name\": \"JPMorgan Chase Bank\", // Optional\n  \"narration\": \"Birthday Gift\" // Optional\n}\n```"
    PayoutMethodDetailsCADBank:
      required:
      - bank_account
      - bank_code
      - branch_code
      - first_name
      - last_name
      type: object
      properties:
        first_name:
          type: string
        last_name:
          type: string
        bank_account:
          type: string
        bank_code:
          type: string
        branch_code:
          type: string
        birth_date:
          type: string
          description: Date of birth of recipient
          format: date
      description: "```JSON\n\"details\": {\n  \"first_name\": \"First\",\n  \"last_name\": \"Last\",\n  \"bank_account\": \"123456789\",\n  \"bank_code\": \"003\",\n  \"branch_code\": \"12345\"\n}\n```\nSee [CAD Bank](https://docs.transferzero.com/docs/payout-details/#cadbank) documentation for the bank_code list"
    PayoutMethodDetailsBRLBank:
      required:
      - city
      - first_name
      - identity_card_id
      - last_name
      - postal_code
      - transfer_reason
      type: object
      properties:
        first_name:
          type: string
        last_name:
          type: string
        city:
          type: string
        postal_code:
          type: string
        phone_number:
          type: string
        bank_code:
          type: string
        branch_code:
          type: string
        bank_account:
          type: string
        bank_account_type:
          $ref: '#/components/schemas/PayoutMethodBankAccountTypeEnum'
        pix_key_type:
          $ref: '#/components/schemas/PayoutMethodPixKeyTypeEnum'
        pix_key_value:
          type: string
        identity_card_id:
          type: string
        transfer_reason:
          $ref: '#/components/schemas/PayoutMethodTransferReasonEnum'
        birth_date:
          type: string
          description: Date of birth of recipient
          format: date
      description: "PIX Payment:\n```JSON\n  \"details\": {\n    \"first_name\": \"First\",\n    \"last_name\": \"Last\",\n    \"city\": \"Brasilia\",\n    \"postal_code\": \"70070\",\n    \"phone_number\": \"+552112345678\", // E.164 international format\n    \"pix_key_type\": \"email\",\n    \"pix_key_value\": \"person@example.com\",\n    \"identity_card_id\": \"01234567890\", // CPF or CNPJ\n    \"transfer_reason\": \"personal_account\"\n  }\n```\n\nTED Payment:\n```JSON\n  \"details\": {\n    \"first_name\": \"First\",\n    \"last_name\": \"Last\",\n    \"city\": \"Brasilia\",\n    \"postal_code\": \"70070\",\n    \"phone_number\": \"+552112345678\", // E.164 international format\n    \"bank_code\": \"104\",\n    \"branch_code\": \"00001\",\n    \"bank_account\": \"0009795493\",\n    \"bank_account_type\": \"10\",\n    \"identity_card_id\": \"01234567890\", // CPF or CNPJ\n    \"transfer_reason\": \"personal_account\"\n  }\n```\n\nSee [BRL Bank](https://docs.transferzero.com/docs/payout-details/#brlbank) documentation for the bank_code and transfer_reason lists"
    RecipientStateReasonDetails:
      anyOf:
      - $ref: '#/components/schemas/StateReasonDetails'
    PayoutMethodDetailsNGNBank:
      required:
      - bank_account
      - bank_code
      - first_name
      - last_name
      type: object
      properties:
        first_name:
          type: string
        last_name:
          type: string
        bank_code:
          type: string
        bank_account:
          type: string
        bank_account_type:
          $ref: '#/components/schemas/PayoutMethodBankAccountTypeEnum'
        birth_date:
          type: string
          description: Date of birth of recipient
          format: date
        street:
          type: string
      description: "```JSON\n  \"details\": {\n    \"first_name\": \"First\",\n    \"last_name\": \"Last\",\n    \"bank_code\": \"058\",\n    \"bank_account\": \"123456789\",\n    \"bank_account_type\": \"10\", # 10 for saving, 20 for current accounts\n    \"street\": \"1 Main Street\"\n  }\n```\n\nSee [NGN Bank](https://docs.azafinance.com/docs/individual-payments/#ngnbank) documentation for the bank_code"
    RecipientState:
      type: string
      description: 'The state of the recipient. Can be one of the following:


        * `initial`: We haven''t initiated the payout yet, you can still cancel the transaction

        * `pending`: Payout has been initiated and we''re waiting from a response from the provider. You can try to cancel it at this point, however it will only get cancelled if we get confirmation from our partner that the payment has failed.

        * `success`: Payout is done, and the recipient has been paid.

        * `error`: There was an error from the provider, you can find more details in the `state_reason` attribute. We will usually retry the transaction at a later date. You can either wait, edit the recipient or cancel the transaction.

        * `refunded`: You asked us to cancel the transaction and we refunded the money.

        * `manual`: There were too many errors on this transaction, and we stopped retrying. Please edit the recipient, contact us or cancel the transaction.

        * `stuck`: We didn''t receive a response from the provider in time, and we don''t know whether it has been paid our not. Please contact us for further details.

        * `overpaid`: The recipient was paid out more than was requested (not applicable for most of the payout providers)

        * `canceled`: The transaction has been cancelled, and we will refund the money soon

        * `exception`: Some exception has happened; please contact TransferZero'
      readOnly: true
      example: initial
      enum:
      - initial
      - pending
      - success
      - error
      - refunded
      - manual
      - stuck
      - overpaid
      - canceled
      - exception
    PayoutMethodCountryEnum:
      type: string
      description: 'The country for the pickup or mobile payout.


        For USD cash pickup in Nigeria, valid options are:

        - `NG`: Nigeria


        For XOF cash pickup, valid options are:

        - `CI`: Ivory Coast

        - `ML`: Mali

        - `SN`: Senegal


        For XOF mobile payout, valid options are:

        - `BJ`: Benin

        - `BF`: Burkina Faso

        - `CI`: Ivory Coast

        - `ML`: Mali

        - `SN`: Senegal

        - `TG`: Togo


        For XAF mobile payout, valid options are:

        - `CG`: Congo

        - `CM`: Cameroon

        - `GA`: Gabon

        - `TD`: Chad'
      example: SN
      enum:
      - AF
      - AL
      - DZ
      - AS
      - AD
      - AO
      - AI
      - AQ
      - AG
      - AR
      - AM
      - AW
      - AX
      - AU
      - AT
      - AZ
      - BS
      - BH
      - BD
      - BB
      - BY
      - BE
      - BZ
      - BJ
      - BM
      - BT
      - BO
      - BA
      - BW
      - BV
      - BR
      - IO
      - BN
      - BG
      - BF
      - BI
      - KH
      - CM
      - CA
      - CV
      - KY
      - CF
      - TD
      - CL
      - CN
      - CX
      - CC
      - CO
      - KM
      - CG
      - CD
      - CK
      - CR
      - CI
      - HR
      - CU
      - CY
      - CZ
      - DK
      - DJ
      - DM
      - DO
      - TP
      - EC
      - EG
      - SV
      - GQ
      - ER
      - EE
      - ET
      - FK
      - FO
      - FJ
      - FI
      - FR
      - GF
      - PF
      - TF
      - GA
      - GM
      - GE
      - DE
      - GH
      - GI
      - GR
      - GL
      - GD
      - GP
      - GU
      - GT
      - GN
      - GW
      - GY
      - HT
      - HM
      - VA
      - HN
      - HK
      - HU
      - IS
      - IN
      - ID
      - IR
      - IQ
      - IE
      - IL
      - IT
      - JM
      - JP
      - JO
      - KZ
      - KE
      - KI
      - KP
      - KR
      - KV
      - KW
      - KG
      - LA
      - LV
      - LB
      - LS
      - LR
      - LY
      - LI
      - LT
      - LU
      - MO
      - MK
      - MG
      - MW
      - MY
      - MV
      - ML
      - MT
      - MH
      - MQ
      - MR
      - MU
      - YT
      - MX
      - FM
      - MD
      - MC
      - MN
      - MS
      - ME
      - MA
      - MZ
      - MM
      - NA
      - NR
      - NP
      - NL
      - AN
      - NC
      - NZ
      - NI
      - NE
      - NG
      - NU
      - NF
      - MP
      - 'NO'
      - OM
      - PK
      - PW
      - PS
      - PA
      - PG
      - PY
      - PE
      - PH
      - PN
      - PL
      - PT
      - PR
      - QA
      - RE
      - RO
      - RU
      - RW
      - SH
      - KN
      - LC
      - PM
      - VC
      - WS
      - SM
      - ST
      - SA
      - SN
      - RS
      - SC
      - SL
      - SG
      - SK
      - SI
      - SB
      - SO
      - ZA
      - GS
      - ES
      - LK
      - SD
      - SR
      - SJ
      - SZ
      - SE
      - CH
      - SY
      - TW
      - TJ
      - TZ
      - TH
      - TG
      - TK
      - TO
      - TT
      - TN
      - TR
      - TM
      - TC
      - TV
      - UG
      - UA
      - AE
      - GB
      - US
      - UM
      - UY
      - UZ
      - VU
      - VE
      - VN
      - VG
      - VI
      - WF
      - EH
      - YE
      - ZM
    RecipientResponse:
      type: object
      properties:
        object:
          $ref: '#/components/schemas/Recipient'
      readOnly: true
      example:
        object:
          editable: true
          retriable: true
          input_usd_amount: 1031.31
          may_cancel: false
          metadata: {}
          state: canceled
          transaction_id: 7901b86c-07cb-4f68-9e25-db48fc5d96d3
          transaction_state: manual
          payout_method:
            type: NGN::Bank
            details:
              bank_code: 058
              bank_account: '123456789'
              bank_account_type: '10'
              last_name: English
              first_name: Johnny
            metadata:
              my: data
            errors:
              address:
              - error: invalid
          exchange_rate: 1036911.90353524
          fee_fractional: 2723
          requested_amount: 1000.0
          requested_currency: USD
          input_amount: 908.0
          input_currency: UGX
          output_amount: 941.51600841
          output_currency: NGN
          errors:
            payout_method.address:
            - error: invalid
            input_currency:
            - error: blank
    PayoutMethodDetailsBWPBank:
      required:
      - bank_account
      - bank_name
      - branch_code
      - first_name
      - last_name
      type: object
      properties:
        first_name:
          type: string
        last_name:
          type: string
        bank_name:
          type: string
        bank_account:
          type: string
        branch_code:
          type: string
        birth_date:
          type: string
          description: Date of birth of recipient
          format: date
      description: "```JSON\n\"details\": {\n  \"first_name\": \"First\",\n  \"last_name\": \"Last\",\n  \"bank_name\": \"Banc ABC\",\n  \"bank_account\": \"12345678912345678\",\n  \"branch_code\": \"550067\",\n}\n```\nSee [BWP Bank](https://docs.transferzero.com/docs/payout-details/#bwpbank) documentation for the bank_name & branch_code list"
    PayoutMethodDetailsBalance:
      type: object
      properties:
        reference:
          type: string
      description: "```JSON\n\"details\": {\n  \"reference\": \"Reference\" // optional\n}\n```"
    PayoutMethodDetailsBTC:
      required:
      - address
      - first_name
      - last_name
      - name
      type: object
      properties:
        first_name:
          type: string
        last_name:
          type: string
        name:
          type: string
        address:
          type: string
        birth_date:
          type: string
          description: Date of birth of recipient
          format: date
      description: "```JSON\n\"details\": {\n  \"first_name\": \"First\",\n  \"last_name\": \"Last\",\n  \"name\": \"Full Name\"\n  \"address\": \"n4VQ5YdHf7hLQ2gWQYYrcxoE5B7nWuDFNF\"\n}"
    ProofOfPayment:
      type: object
      properties:
        id:
          type: string
          description: UUID of the uploaded document
        file_name:
          type: string
          description: Name of the uploaded file
          example: my_file.jpg
        thumbnail:
          type: string
          description: URL to thumbnail image of the uploaded file
          example: https://bitpesa-development-reports.s3.eu-west-1.amazonaws.com/my_file_thumb.jpg
        url:
          type: string
          description: URL to uploaded file
          example: https://bitpesa-development-reports.s3.eu-west-1.amazonaws.com/my_file.jpg
      example:
        thumbnail: https://bitpesa-development-reports.s3.eu-west-1.amazonaws.com/my_file_thumb.jpg
        file_name: my_file.jpg
        id: id
        url: https://bitpesa-development-reports.s3.eu-west-1.amazonaws.com/my_file.jpg
    PayoutMethodDetailsKESMobile:
      required:
      - first_name
      - identity_card_id
      - identity_card_type
      - last_name
      - mobile_provider
      - phone_number
      - street
      - transfer_reason
      type: object
      properties:
        first_name:
          type: string
        last_name:
          type: string
        street:
          type: string
        city:
          type: string
        phone_number:
          type: string
        mobile_provider:
          $ref: '#/components/schemas/PayoutMethodMobileProviderEnum'
        transfer_reason_code:
          type: string
        transfer_reason:
          $ref: '#/components/schemas/PayoutMethodTransferReasonEnum'
        identity_card_type:
          $ref: '#/components/schemas/PayoutMethodIdentityCardTypeEnum'
        identity_card_id:
          type: string
        relationship_to_sender:
          type: string
        birth_date:
          type: string
          description: Date of birth of recipient
          format: date
      description: "```JSON\n  \"details\": {\n    \"first_name\": \"First\",\n    \"last_name\": \"Last\",\n    \"street\": \"1 Linford Street\",\n    \"city\": \"Nairobi\",\n    \"phone_number\": \"+254123456789\", // E.164 international format\n    \"identity_card_type\": \"ID\", // refers to the recipient's ID details; Values: \"PP\": Passport, \"ID\": National ID or \"O\": Other\n    \"identity_card_id\": 'AB12345678', // refers to the recipient's ID details\n    \"transfer_reason\": \"personal_account\",\n    \"mobile_provider\": \"mpesa\",\n    \"relationship_to_sender\": \"Aunt\" // Optional\n  }\n```\n\nSee [KES Mobile](https://docs.transferzero.com/docs/payout-details/#kesmobile) documentation for transfer_reason lists"
    PayoutMethodDetailsGNFMobile:
      required:
      - first_name
      - last_name
      - mobile_provider
      - phone_number
      type: object
      properties:
        first_name:
          type: string
        last_name:
          type: string
        phone_number:
          type: string
        mobile_provider:
          $ref: '#/components/schemas/PayoutMethodMobileProviderEnum'
        birth_date:
          type: string
          description: Date of birth of recipient
          format: date
      description: "```JSON\n\"details\": {\n  \"first_name\": \"First\",\n  \"last_name\": \"Last\",\n  \"phone_number\": \"+224444044436\", // E.164 international format\n  \"mobile_provider\": \"mtn\"\n}\n```"
    FieldDescription:
      type: object
      properties:
        type:
          type: string
          description: the type of the field.
          readOnly: true
          example: input
          enum:
          - input
          - select
        validations:
          $ref: '#/components/schemas/FieldValidation'
    PayoutMethodDetailsEGPBank:
      required:
      - bank_account
      - bank_code
      - first_name
      - last_name
      - street
      - transfer_reason
      type: object
      properties:
        first_name:
          type: string
        middle_name:
          type: string
        last_name:
          type: string
        street:
          type: string
        phone_number:
          type: string
        bank_account:
          type: string
        bank_code:
          type: string
        transfer_reason:
          $ref: '#/components/schemas/PayoutMethodTransferReasonEnum'
        birth_date:
          type: string
          description: Date of birth of recipient
          format: date
      description: "```JSON\n\"details\": {\n  \"first_name\": \"First\",\n  \"middle_name\": \"Middle\",\n  \"last_name\": \"Last\",\n  \"street\": \"1 Main Street\",\n  \"phone_number\": \"+201023456789\",\n  \"bank_account\": \"1234567890\",\n  \"bank_code\": \"0030\",\n  \"transfer_reason\": \"personal_account\"\n}\n```\nSee [EGP Bank](https://docs.transferzero.com/docs/payout-details/#egpbank) documentation for the bank_code list"
    FieldSelectValidation:
      type: object
      properties:
        in:
          type: object
          description: Describes the valid options for this selectbox
          readOnly: true
          example:
            '20': Current
            '10': Savings
        allow_blank:
          type: boolean
          description: Describes whether the field is optional or not
          readOnly: true
          example: false
    PayoutMethodDetailsUGXBank:
      required:
      - bank_account
      - branch_code
      - city
      - first_name
      - identity_card_id
      - last_name
      - postal_code
      - street
      - transfer_reason
      type: object
      properties:
        first_name:
          type: string
        last_name:
          type: string
        street:
          type: string
        city:
          type: string
        postal_code:
          type: string
        identity_card_id:
          type: string
        bank_account:
          type: string
        branch_code:
          type: string
        transfer_reason:
          $ref: '#/components/schemas/PayoutMethodTransferReasonEnum'
        birth_date:
          type: string
          description: Date of birth of recipient
          format: date
      description: "```JSON\n\"details\": {\n  \"first_name\": \"First\",\n  \"last_name\": \"Last\",\n  \"street\": \"1, Old Taxi Park\",\n  \"city\": \"Kampala\",\n  \"postal_code\": \"10102\",\n  \"identity_card_id\": \"3081900101123411\",\n  \"bank_account\": \"1234567890\",\n  \"branch_code\": \"130547\",\n  \"transfer_reason\": \"personal_account\"\n}\n```\nSee [UGX Bank](https://docs.transferzero.com/docs/payout-details/#ugxbank) documentation for the branch_code list"
    PayoutMethod:
      type: object
      properties:
        type:
          type: string
          description: 'Contains the currency to send the money to, and the type of the money movement


            Commonly used payout types are:


            - `NGN::Bank` - for Nigerian bank account payments.

            - `GHS::Bank` - for Ghanaian bank account payments.

            - `GHS::Mobile` - for Ghanaian mobile money payments.

            - `UGX::Mobile` - for Ugandan mobile money payments.

            - `XOF::Mobile` - for mobile money payments to West-Africa.

            - `XOF::Bank` - for Senegalese bank account payments.

            - `XOF::Cash` - for Senegalese cash remittance payments.

            - `MAD::Cash` - for Moroccan cash remittance payments.

            - `EUR::Bank` - for IBAN bank transfers in EUR.

            - `GBP::Bank` - for IBAN bank and FP accounts transfers in GBP.

            - `ZAR::Bank` - for South Africa bank account payments.

            - `USD::Bank` - for USD account payments. *** Currently for Egypt, Nigeria and United States only and in Beta phase ***

            - `USD::Cash` - for USD cash remittance payments. *** Currently for Nigeria only and in Beta phase ***

            - `KES::Bank` - for Kenyan bank account payments.

            - `KES::Mobile` - for Kenyan mobile money payments.

            - `XAF::Mobile` - for mobile money payments to Central African (CEMAC) countries. *** Currently in Beta phase ***

            - `XAF::Bank` - for Cameroon bank account payments.

            - `GNF::Mobile` - for mobile money payments to Guinea.

            - `BRL::Bank` - for Brazilian bank account payments.

            - `NZD::Bank` - for New Zealand bank account payments.

           

# --- truncated at 32 KB (93 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/aza-finance/refs/heads/main/openapi/aza-finance-recipients-api-openapi.yml