openapi: 3.0.0
info:
  title: MoMo Open APIs
  description: >-
    # Getting Started


    ## Steps on creating your first API Request


    1. Fork the Collection

    2. Create Subscription Keys

    3. Create API User and API Key

    4. Get Access Token

    5. Make Your fisrt MoMo API Call
        

    ## Step 1: Fork the collection using Run In Postman


    [<img src="https://run.pstmn.io/button.svg" alt="Run in
    Postman">](https://app.getpostman.com/run-collection/28452721-0df6ecfa-f9a4-41ed-8e1e-7581097d1c4e?action=collection%2Ffork&source=rip_markdown&collection-url=entityId%3D28452721-0df6ecfa-f9a4-41ed-8e1e-7581097d1c4e%26entityType%3Dcollection%26workspaceId%3D66fe3943-b010-4047-ad82-618785225cc8)


    ## Step 2: Create Subscription Keys


    1. Sign up [https://momodeveloper.mtn.com](https://momodeveloper.mtn.com)

    2. Navigate to the products page
    [Product-descriptions](https://momodeveloper.mtn.com/Product-descriptions).

    3. Select drop down on product that suits the business case and subscribe.

    4. After completion, you can locate the Subscription Keys in [your
    profile](https://momodeveloper.mtn.com/profile). Access additional
    information through the link below on creating subscription keys  
        [How to create subscription keys on MoMoDeveloper | MoMo Dev Community (mtn.com)](https://momodevelopercommunity.mtn.com/how-to-59/how-to-create-subscription-keys-on-momodeveloper-148)
    5. Navigate to the Variables and update as mapped below
        

    | **Subscription name** | **Key Type** | **Variable** |

    | --- | --- | --- |

    | Disbursements | Primary | `Disbursement_Subscription-Key` |

    | Collections | Primary | `Collection_Subscription-Key` |


    #### **NOTE: Use the Primary Key**


    ## Step 3: Generate API user and API Key


    1. Fork the SandBox Provisioning Collection using run in Postman  
        [<img src="https://run.pstmn.io/button.svg" alt="Run in Postman">](https://app.getpostman.com/run-collection/28452721-83d6c7e7-0135-4b37-94fe-2cbef87b7859?action=collection%2Ffork&source=rip_markdown&collection-url=entityId%3D28452721-83d6c7e7-0135-4b37-94fe-2cbef87b7859%26entityType%3Dcollection%26workspaceId%3D66fe3943-b010-4047-ad82-618785225cc8)
    2. Run the _**SandBox Provisioning Collection**_ , copy the `api user` and
    `api key` displayed via the console and test results.

    3. Navigate to the Variables of the _**MoMo Open APIs Collection**_ and
    modify api_user and api_key respectively
        

    ## Step 4: Get Access Token


    An access token is automatically generated using a default `api_user` and
    `api_key`. MoMo recommends using your own api_user and api_key from **Step
    3** by entering the values under the **Variables** tab. A pre-request script
    will generate and manage expiry of the `access_token` automatically.


    > **Recommended to generate a new Access Token only after expiry of the Old
    one and****not a new token for every request** 
      

    ## Step 5: Make Your first MoMo API Call


    1. In your workspace, navigate to your fork of the MoMo Open APIs
    collection.

    2. Select **Get Paid** > **Request Payment**

    3. Select the **Send** button to request a payment. On a successful call,
    the API returns a 202 Accepted response code

    4. .Customer will receive a PIN to approve the debit from their MoMo Wallet.

    5. Check configured Callback URl for status of the Request.

    6. Request Status can be generated under Select **Get Paid** > **Payment
    Status**

    7. Select the **Send** button to request a payment. On a successful call,
    the API returns a 200 OK Accepted response code, with Status of the request
    in the response body
        

    #### **Test MSISDN**


    Change the value for the Collection Variable MSISDN to produce the responses
    below.


    Test Results with the different responses will be expected for go live
    submissions


    | **Number** | **Response** |

    | --- | --- |

    | 46733123450 | Failed |

    | 46733123451 | Rejected |

    | 46733123452 | Timeout |

    | 56733123453 | Success |

    | 46733123454 | Pending |


    X-Refrence-Ids are auto generated UUID version Strings and these are
    interpretended as request_ids. They are saved in the request Ids variables.


    ## Golive With the Test Results


    It is anticipated that you will provide the Test Results derived from the
    MoMo Open APIs collection. The Results must demonstrate your understanding
    of the API Flow and Syntax, and the testing of various sample responsesfor
    the APIs you plan to use.
  version: 1.0.0
servers:
  - url: http://{{base_url}}collection
  - url: http://{{base_url}}
  - url: https://sandbox.momodeveloper.mtn.com
components:
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
    bearerAuth:
      type: http
      scheme: bearer
tags:
  - name: Authorization
  - name: Get Paid
    description: >
      ## Get Paid APIs


      MoMo get paid APIs enable businesses to collect payments from consumers
      and businesses in different ways.

      Partners initiate instant payment within any digital platform (website,
      mobile application) through MoMo channels.

      Folder also includes a set of capabilities that enhance value and offer an
      excellent customer experience. These include: Refund, Notification,
      Account Balance.
  - name: Get Paid > Request to Pay
    description: >-
      This Folder holds an API operation that initiates a debit request from a
      customer (Payer). The payer is prompted to approve the debit. 

      The status of the requesttopay will remain as PENDING until the
      transaction receives authorization or rejection from the payer, or if the
      system times it out after 5 minutes.

      A callback through the callbackURL is provided with the transaction Status
      - Failed Or Success. If the Callback failed, utilize the Get Status API
      via Folder - Debit Status.
  - name: Get Paid > Payment
    description: >-
      Payment API, enables a Business to streamline utility payments and
      initiate services like airtime and bundle activation through MoMo.
  - name: Get Paid > Refund
    description: >-
      MoMo Open API allows for the reversal of debit transactions through the
      refund API. This offers the possibility of a full or partial refund, but
      it ought not to exceed the initial debited sum. For example, if a client
      had 5000 debited from their account, the merchant  can issue a
      reimbursement that doesn't go beyond 5000. Each transaction permits one
      refund, triggered by the merchant. 
  - name: Get Paid > Notify
    description: >-
      The MoMo Notification API allows businesses to dispatch personalized text
      messages to MoMo users, both individuals and companies, as part of the Get
      Paid transaction/RequestToPay feature. Be aware that the content of these
      notifications must not exceed 160 characters. It's a prerequisite that the
      Request to Pay transaction is completed successfully.
  - name: Get Paid > Account Balance
    description: >-
      MoMo API for Account Balance to check your personal account standings.
      Remember, this balance isn't for the client, but specifically for the
      Merchant Account - the Account Owner
  - name: Pay
    description: >-
      MoMo PAY APIs enable businesses to disburse payments to other consumers or
      businesses  

      This can be used in the context of salary payment, benefits disbursements
      and any other pay out. It can also be used to pay other business
      (suppliers)


      PAY APIs utilize the Disbursment Subscription Keys found
  - name: Pay > Transfer
    description: >-
      Make MoMo Transfer from Your Bussiness to Other Bussiness, Customers,
      Employees in the context of salary, bet winnings, Service Payments.


      The MoMo Transfer API acommendants one MSISDN/ALIAS per request, and not
      bult.


      Bussiness to Bussiness Payments by using their Merchart ID Example Below
      partyIdType": "ALIAS",  

      "partyId": "678997678" --Value is the Merchant ID


      ``` json

      {
        "amount": "5900",
        "currency": "EUR",
        "externalId": "890695",
        "payee": {
          "partyIdType": "ALIAS",
          "partyId": "678997678"
        },
        "payerMessage": "Salary Payment April 2023",
        "payeeNote": "Salary Payment April 2023"
      }

       ```

      Bussiness to Customer/Employee Payments by using their Merchart ID Example
      Below partyIdType": "MSISDN",  

      "partyId": "2567524561" --Value is the Customer MSISDN with country code


      ``` json

      {
        "amount": "5900",
        "currency": "EUR",
        "externalId": "890695",
        "payee": {
          "partyIdType": "MSISDN",
          "partyId": "2567524561"
        },
        "payerMessage": "Salary Payment April 2023",
        "payeeNote": "Salary Payment April 2023"
      }

       ```
  - name: Pay > Transfer Status
    description: >-
      Transfers are instant different from Debit which need to be approved by
      the Customer.


      To validate the status of the transfer, utilize the Get Status API. Best
      practice is to enable callback which are configured setting up the
      account.
  - name: Pay > Account Balance
    description: >-
      This is Balance of your account, the merchant account. Utilize this API to
      monitor your account balances and perform reconciliations.
  - name: Account Validation
    description: >-
      To avoid Debiting Or Transferring invalid / Wrong MoMo Accounts, good
      practice to validate them and confirm ownership. Get Names and KYC and
      Account Status (Active- True, Unactive-False)
  - name: Account Validation > Account Status
    description: >-
      Using the MSISDN of the Customer, the API will return True if the Number
      is active on MoMo or False if the MSISDN is not active on MoMo
  - name: Account Validation > Get Basic Info
    description: >-
      Basic Info API, will only return first name and Last name of the customer
      Msisdn, Good practice to confirm the names before Transfering or Debit an
      account.
  - name: Account Validation > Detiled  KYC-With Consent
    description: >-
      KYC With Consent APIs, Used to obtain Consent from the Customer to access
      their KYC information, like National ID, Date of Birth,
  - name: Distribute
    description: >-
      MoMo Open APIs enable business to distribute MTN and MoMo service and
      facilitate Cash In, Cash out and Airtime sale and get commission from MTN
      and MoMo


      Folder contains Cash In APIs and Cash Out
  - name: Distribute > Cash IN
  - name: Distribute > Cash OUT
  - name: Invoice
    description: >-
      A Business may use this in order to create an invoice that can be paid by
      an intended payer via any channel at a later stage.
  - name: Pre Approval
    description: >-
      Pre Approval API is used to get consent from the customer to be Debited
      for a specaified period of time. The Consent is approved by the customer
      providing the correct PIN. The Consent can be cancled anytime by the
      customer
  - name: Remittance
    description: >-
      The Remittance API empowers businesses by enabling users to transmit or
      receive funds from overseas straight into their Mobile Money accounts, all
      in local currency.
  - name: Remittance > Transfer
paths:
  /token/:
    post:
      tags:
        - Authorization
      summary: Generate access_token
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example: ''
      security:
        - basicAuth: []
      parameters:
        - name: Ocp-Apim-Subscription-Key
          in: header
          schema:
            type: string
          example: '{{Collection_Subscription-Key}}'
      responses:
        '200':
          description: OK
          headers:
            Cache-Control:
              schema:
                type: string
                example: no-store
            Pragma:
              schema:
                type: string
                example: no-cache
            Content-Length:
              schema:
                type: integer
                example: '628'
            Content-Type:
              schema:
                type: string
                example: application/json;charset=utf-8
            X-XSS-Protection:
              schema:
                type: string
                example: 1; mode=block
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            Date:
              schema:
                type: string
                example: Mon, 31 Jul 2023 22:59:01 GMT
          content:
            application/json:
              schema:
                type: object
              example:
                access_token: >-
                  eyJ0eXAiOiJKV1QiLCJhbGciOiJSMjU2In0.eyJjbGllbnRJZCI6IjY4MDVkMDk2LWMyMjgtNDc1ZS05ZGJlLTQ4MWJhZDYwZmVkOSIsImV4cGlyZXMiOiIyMDIzLTA3LTMxVDIzOjU5OjAxLjc5MiIsInNlc3Npb25JZCI6IjdiYzg4ZTVmLWJhNDEtNDA0NC1iMzQyLWE3MTE5NGRlMzY3OCJ9.OJkwOjnPBY-3QGluLb5nNNcwFVarU3h3_d4hA9UF1ENegKsr38BsD93940YScvApcd2v1LAumguXhGGDTuLF0JnlwNZ-uA_JJeyDZEtbWa05OjdBSwpXoQrsKUM0jg7mE0V-Cf2E_XFMlHxuUrcxhqkXiLE5yQUXWpZKbipN-iajdM2KPcKKwi1KUlh_NoHnmpqsKPu-__GEd6INvSjjtXLOSq1vRu7N2CZGYdQIXAxUMm7WxpxmMEqJNffy_zcEXSIDWPHagj5SalIsE3MCoJxosLvrqB3pHAyiJyiCUJunx9_B_Acf_qJR6fUK5tboQYnIy64oJmliM3Fp42oC7g
                token_type: access_token
                expires_in: 3600
        '400':
          description: Bad Request
          headers:
            Date:
              schema:
                type: string
                example: Mon, 31 Jul 2023 23:05:54 GMT
            Content-Type:
              schema:
                type: string
                example: application/json;charset=utf-8
            Cache-Control:
              schema:
                type: string
                example: no-store
            Pragma:
              schema:
                type: string
                example: no-cache
            Content-Length:
              schema:
                type: integer
                example: '27'
          content:
            application/json:
              schema:
                type: object
              example:
                error: invalid_request
        '500':
          description: Server Error
          headers:
            Cache-Control:
              schema:
                type: string
                example: no-store
            Pragma:
              schema:
                type: string
                example: no-cache
            Content-Length:
              schema:
                type: integer
                example: '24'
            Content-Type:
              schema:
                type: string
                example: application/json;charset=utf-8
            X-XSS-Protection:
              schema:
                type: string
                example: 1; mode=block
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            Date:
              schema:
                type: string
                example: Mon, 31 Jul 2023 23:00:39 GMT
          content:
            application/json:
              schema:
                type: object
              example:
                error: login_failed
  /collection/v1_0/requesttopay:
    post:
      tags:
        - Get Paid > Request to Pay
      summary: Request To Pay
      description: >-
        ## Headers Descriptions


        **X-Reference-Id** This is UUID Version 4 Format String, This has to be
        Unique for Every Transaction, its used to search the Transcation and get
        Status.


        **X-Target-Environment** The identifier on the API specifying which
        country is the request meant for where the transaction shall be
        processed in production, sandbox is for testing


        **Content-Type** The Content-Type header field is used to specify the
        nature of the data in the body of an entity. MoMo Open APIs support
        application/json.


        **Ocp-Apim-Subscription-Key** Subscription key which provides access to
        this API. Found in your
        [Profile](https://momodeveloper.mtn.com/developer)


        **X-Callback-Url**


        ## Body Content Description


        **Amount** - Amount to be debited from the MoMo Subscriber - Fees will
        be attched to the final amount presneted to the MoMo Subscriber


        **Currency** - Currency that is associated with the payment amount.
        Specify the three-letter [ISO
        4217](https://en.wikipedia.org/wiki/ISO_4217) currency code


        **ExternalId** - External ID can a string that is used for
        reconcileiation between Partner Platform and MoMo Platform


        **PartyIdType** currently the supported Types are MSISDN and ALIAS


        **PartyId** Value of the


        **PayerMessage** Notification sent to the MoMo Subscriber Debited


        **PayeeNote** - Notification sent to the Merchant MSISDN
      requestBody:
        content:
          '*/*':
            schema:
              type: string
              example: >-
                "{\r\n  \"amount\": \"600\",\r\n  \"currency\": \"EUR\",\r\n 
                \"externalId\": \"00004335\",\r\n  \"payer\": {\r\n   
                \"partyIdType\": \"MSISDN\",\r\n    \"partyId\":
                \"{{MSISDN}}\"\r\n  },\r\n  \"payerMessage\": \"MoMo Market
                Payment\",\r\n  \"payeeNote\": \"MoMo Market Payment\"\r\n}"
      security:
        - bearerAuth: []
      parameters:
        - name: X-Reference-Id
          in: header
          schema:
            type: string
          description: UUID Verrsion 4 string  uniquely identifies a request.
          example: '{{Request_ID_Debit}}'
        - name: X-Target-Environment
          in: header
          schema:
            type: string
          description: 'Identifies the MoMo Enviroment that will process the request '
          example: '{{Target_Environment}}'
        - name: Content-Type
          in: header
          schema:
            type: string
          description: Specify the nature of the data in the body of a request
          example: application/json
        - name: Ocp-Apim-Subscription-Key
          in: header
          schema:
            type: string
          description: Primary  key grants access to MoMo API product
          example: '{{Collection_Subscription-Key}}'
        - name: X-Callback-Url
          in: header
          schema:
            type: string
          description: 'Request status responses are sent to URL provided '
          example: '{{CallbackURL}}'
      responses:
        '202':
          description: Accepted
          headers:
            Content-Length:
              schema:
                type: integer
                example: '0'
            X-XSS-Protection:
              schema:
                type: string
                example: 1; mode=block
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            Date:
              schema:
                type: string
                example: Fri, 14 Jul 2023 08:46:22 GMT
          content:
            text/plain:
              schema:
                type: string
              example: ''
        '400':
          description: Bad Request
          headers:
            Content-Length:
              schema:
                type: integer
                example: '0'
            X-XSS-Protection:
              schema:
                type: string
                example: 1; mode=block
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            Date:
              schema:
                type: string
                example: Thu, 20 Jul 2023 17:13:38 GMT
          content:
            text/plain:
              schema:
                type: string
              examples:
                example-0:
                  summary: 400  special characters Used in Body
                  value: ''
                example-1:
                  summary: 400 Invalid Target-Environment
                  value: ''
        '401':
          description: Unauthorized
          headers:
            Content-Length:
              schema:
                type: integer
                example: '0'
            X-XSS-Protection:
              schema:
                type: string
                example: 1; mode=block
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            Date:
              schema:
                type: string
                example: Thu, 20 Jul 2023 17:16:33 GMT
          content:
            text/plain:
              schema:
                type: string
              example: ''
            application/json:
              schema:
                type: object
              example:
                statusCode: 401
                message: >-
                  Access denied due to invalid subscription key. Make sure to
                  provide a valid key for an active subscription.
        '404':
          description: Not Found
          headers:
            Content-Length:
              schema:
                type: integer
                example: '0'
            X-XSS-Protection:
              schema:
                type: string
                example: 1; mode=block
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            Date:
              schema:
                type: string
                example: Thu, 20 Jul 2023 17:25:48 GMT
          content:
            text/plain:
              schema:
                type: string
              example: ''
        '500':
          description: Server Error
          headers:
            Content-Length:
              schema:
                type: integer
                example: '63'
            Content-Type:
              schema:
                type: string
                example: application/json;charset=utf-8
            X-XSS-Protection:
              schema:
                type: string
                example: 1; mode=block
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            Date:
              schema:
                type: string
                example: Thu, 20 Jul 2023 17:11:34 GMT
          content:
            application/json:
              schema:
                type: object
              examples:
                example-0:
                  summary: 500 Currency Not Supported
                  value:
                    message: Currency not supported.
                    code: INVALID_CURRENCY
                example-1:
                  summary: 500 Invalid Callback URL Host
                  value:
                    message: Callback URL does not match the configured value.
                    code: INVALID_CALLBACK_URL_HOST
  /collection/v1_0/requesttopay/{Request_ID_Debit}:
    get:
      tags:
        - Get Paid > Request to Pay
      summary: 'Status Request To Pay '
      description: >-
        The request URL contains the Varible {{Request_ID_Debit}} X-Reference_Id
        of the Debit Transaction of Intrest.


        ## Headers Descriptions


        **X-Target-Environment** The identifier on the API specifying which
        country is the request meant for where the transaction shall be
        processed in production, sandbox is for testing


        **Ocp-Apim-Subscription-Key** Subscription key which provides access to
        this API. Found in your
        [Profile](https://momodeveloper.mtn.com/developer)
      security:
        - bearerAuth: []
      parameters:
        - name: X-Target-Environment
          in: header
          schema:
            type: string
          example: '{{Target_Environment}}'
        - name: Ocp-Apim-Subscription-Key
          in: header
          schema:
            type: string
          example: '{{Collection_Subscription-Key}}'
        - name: Request_ID_Debit
          in: path
          schema:
            type: string
          required: true
          description: Request Id of the debit request Posted
          example: '{{Request_ID_Debit}}'
      responses:
        '200':
          description: OK
          headers:
            Content-Length:
              schema:
                type: integer
                example: '244'
            Content-Type:
              schema:
                type: string
                example: application/json;charset=utf-8
            X-XSS-Protection:
              schema:
                type: string
                example: 1; mode=block
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            Date:
              schema:
                type: string
                example: Thu, 20 Jul 2023 17:29:24 GMT
          content:
            application/json:
              schema:
                type: object
              example:
                financialTransactionId: '552065243'
                externalId: '00004335'
                amount: '600'
                currency: EUR
                payer:
                  partyIdType: MSISDN
                  partyId: '{{MSISDN}}'
                payerMessage: MoMo Market Payment
                payeeNote: MoMo Market Payment
                status: SUCCESSFUL
        '401':
          description: Access Denied
          headers:
            Content-Length:
              schema:
                type: integer
                example: '143'
            Content-Type:
              schema:
                type: string
                example: application/json
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            WWW-Authenticate:
              schema:
                type: string
                example: >-
                  AzureApiManagementKey
                  realm="https://sandbox.momodeveloper.mtn.com/collection",name="Ocp-Apim-Subscription-Key",type="header"
            Date:
              schema:
                type: string
                example: Thu, 20 Jul 2023 17:37:37 GMT
          content:
            application/json:
              schema:
                type: object
              example:
                statusCode: 401
                message: >-
                  Access denied due to invalid subscription key. Make sure to
                  provide a valid key for an active subscription.
        '404':
          description: Not Found
          headers:
            Content-Length:
              schema:
                type: integer
                example: '75'
            Content-Type:
              schema:
                type: string
                example: application/json;charset=utf-8
            X-XSS-Protection:
              schema:
                type: string
                example: 1; mode=block
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            Date:
              schema:
                type: string
                example: Thu, 20 Jul 2023 17:34:35 GMT
          content:
            application/json:
              schema:
                type: object
              example:
                message: Requested resource was not found.
                code: RESOURCE_NOT_FOUND
  /collection/v2_0/payment:
    post:
      tags:
        - Get Paid > Payment
      summary: Create Payment
      requestBody:
        content:
          '*/*':
            schema:
              type: string
              example: >-
                "{\r\n  \"externalTransactionId\": \"457373\",\r\n  \"money\":
                {\r\n    \"amount\": \"2000\",\r\n    \"currency\": \"EUR\"\r\n 
                },\r\n  \"customerReference\": \"561551442\",\r\n 
                \"serviceProviderUserName\": \"WaterProvider\",\r\n 
                \"couponId\": \"203\",\r\n  \"productId\": \"Monthly
                Payments\",\r\n  \"productOfferingId\": \"788\",\r\n 
                \"receiverMessage\": \"Thank You \",\r\n  \"senderNote\":
                \"Thank You\",\r\n  \"maxNumberOfRetries\": \"2\",\r\n 
                \"includeSenderCharges\": \"1\"\r\n}"
      security:
        - bearerAuth: []
      parameters:
        - name: X-Callback-Url
          in: header
          schema:
            type: string
          example: '{{CallbackURL}}'
        - name: X-Reference-Id
          in: header
          schema:
            type: string
          example: '{{Request_ID_Payment}}'
        - name: X-Target-Environment
          in: header
          schema:
            type: string
          example: '{{Target_Environment}}'
        - name: Content-Type
          in: header
          schema:
            type: string
          example: application/json
        - name: Ocp-Apim-Subscription-Key
          in: header
          schema:
            type: string
          example: '{{Collection_Subscription-Key}}'
      responses:
        '202':
          description: Accepted
          headers:
            Content-Length:
              schema:
                type: integer
                example: '0'
            X-XSS-Protection:
              schema:
                type: string
                example: 1; mode=block
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            Date:
              schema:
                type: string
                example: Sat, 02 Sep 2023 10:05:32 GMT
          content:
            text/plain:
              schema:
                type: string
              example: ''
        '400':
          description: Bad Request
          headers:
            Content-Length:
              schema:
                type: integer
                example: '0'
            X-XSS-Protection:
              schema:
                type: string
                example: 1; mode=block
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            Date:
              schema:
                type: string
                example: Sat, 02 Sep 2023 10:09:27 GMT
          content:
            text/plain:
              schema:
                type: string
              examples:
                example-0:
                  summary: 400 Invalid Target-Environment
                  value: ''
                example-1:
                  summary: 400 Invalid Authorized Type
                  value: ''
                example-2:
                  summary: 400  special characters Used in Body
                  value: ''
        '401':
          description: Access Denied
          headers:
            Content-Length:
              schema:
                type: integer
                example: '143'
            Content-Type:
              schema:
                type: string
                example: application/json
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            WWW-Authenticate:
              schema:
                type: string
                example: >-
                  AzureApiManagementKey
                  realm="https://sandbox.momodeveloper.mtn.com/collection",name="Ocp-Apim-Subscription-Key",type="header"
            Date:
              schema:
                type: string
                example: Sat, 02 Sep 2023 10:08:00 GMT
          content:
            application/json:
              schema:
                type: object
              example:
                statusCode: 401
                message: >-
                  Access denied due to invalid subscription key. Make sure to
                  provide a valid key for an active subscription.
  /collection/v2_0/payment/{Request_ID_Payment}:
    get:
      tags:
        - Get Paid > Payment
      summary: Get Payment Status
      security:
        - bearerAuth: []
      parameters:
        - name: X-Target-Environment
          in: header
          schema:
            type: string
          example: '{{Target_Environment}}'
        - name: Ocp-Apim-Subscription-Key
          in: header
          schema:
            type: string
          example: '{{Disbursement_Subscription-Key}}'
        - name: Request_ID_Payment
          in: path
          schema:
            type: string
          required: true
          example: '{{Request_ID_Payment}}'
      responses:
        '200':
          description: OK
          headers:
            Content-Length:
              schema:
                type: integer
                example: '109'
            Content-Type:
              schema:
                type: string
                example: application/json;charset=utf-8
            X-XSS-Protection:
              schema:
                type: string
                example: 1; mode=block
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            Date:
              schema:
                type: string
                example: Sat, 02 Sep 2023 10:18:45 GMT
          content:
            application/json:
              schema:
                type: object
              example:
                referenceId: 5cd53b4c-5244-45d7-8a21-2414614ca236
                status: FAILED
                reason: INTERNAL_PROCESSING_ERROR
        '401':
          description: Access Denied
          headers:
            Content-Length:
              schema:
                type: integer
                example: '143'
            Content-Type:
              schema:
                type: string
                example: application/json
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            WWW-Authenticate:
              schema:
                type: string
                example: >-
                  AzureApiManagementKey
                  realm="https://sandbox.momodeveloper.mtn.com/collection",name="Ocp-Apim-Subscription-Key",type="header"
            Date:
              schema:
                type: string
                example: Sat, 02 Sep 2023 10:23:21 GMT
          content:
            application/json:
              schema:
                type: object
              example:
                statusCode: 401
                message: >-
                  Access denied due to invalid subscription key. Make sure to
                  provide a valid key for an active subscription.
        '404':
          description: Not Found
          headers:
            Content-Length:
              schema:
                type: integer
                example: '75'
            Content-Type:
              schema:
                type: string
                example: application/json;charset=utf-8
            X-XSS-Protection:
              schema:
                type: string
                example: 1; mode=block
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            Date:
              schema:
                type: string
                example: Sat, 02 Sep 2023 10:20:26 GMT
          content:
            application/json:
              schema:
                type: object
              example:
                message: Requested resource was not found.
                code: RESOURCE_NOT_FOUND
  /disbursement/v1_0/refund:
    post:
      tags:
        - Get Paid > Refund
      summary: Refund
      description: >-
        ## Headers Descriptions


        **X-Reference-Id** The Value pertains to the UUID Version 4 Format
        String, which must be distinctive for each transaction and in this
        request it will be labeled as Request_ID_Refund. It's employed to
        singularly identify a transaction and used to retrieve the status.


        **Authorization** The request is authenticated using a Bearer Token,
        which is the Access_token. This token is automatically generated in the
        pre-request script of the collection.


        **X-Target-Environment** The identifier on the API Request specifying
        which country the request is to be processed for production, during
        testing **sandbox** is used.


        **Content-Type** The Content-Type header field is used to specify the
        nature of the data in the body of an entity. MoMo Open APIs support
        application/json.


        **Ocp-Apim-Subscription-Key** Subscription key which provides access to
        the APIM. Found in your
        [Profile](https://momodeveloper.mtn.com/developer) **(Refund utilizes
        the Disbursment Subscription Key because its a Disburse/ Transer)**


        **X-Callback-Url** Responses are sent via the Specified URL, Which must
        be Secure. HTTPS


        ## Body Content Description


        **Amount** - Amount to be refunded, can be full partial but not
        exceeding the initail debited amount


        **Currency** - The Currency Initals Should be of the Country or Region
        specified in the Headers, Value of the X-Target-Enviroment. Sandbox uses
        EUR in test.


        **ExternalId** - External ID can a string that is used for
        reconcileiation between Partner Platform and MoMo Platform


        **PayerMessage** SMS Notification To the Payer, This can be reason for
        refund **(Cupped 160 characters)**


        **PayeeNote** - SMS Notification To the Payee, This can be reason for
        refund **( Cupped at 160 characters)**


        **referenceIdToRefund -** The Debit Request to be refunded is spacificed
        here. The Value is the Request_ID_Debit (X-Refernce-ID Request To Pay
        Header) of the request.


        **One Refund Per Debited Transaction**
      requestBody:
        content:
          '*/*':
            schema:
              type: string
              example: >-
                "{\r\n  \"amount\": \"300\",\r\n  \"currency\": \"EUR\",\r\n 
                \"externalId\": \"Refund_uibi\",\r\n  \"payerMessage\": \"Refund
                for MoMo Market Payment\",\r\n  \"payeeNote\": \"Refund for MoMo
                Market Payment\",\r\n  \"referenceIdToRefund\":
                \"{{Request_ID_Debit}}\"\r\n}"
      security:
        - bearerAuth: []
      parameters:
        - name: X-Callback-Url
          in: header
          schema:
            type: string
          example: '{{CallbackURL}}'
        - name: X-Reference-Id
          in: header
          schema:
            type: string
          example: '{{Request_ID_Refund}}'
        - name: X-Target-Environment
          in: header
          schema:
            type: string
          example: '{{Target_Environment}}'
        - name: Content-Type
          in: header
          schema:
            type: string
          example: application/json
        - name: Ocp-Apim-Subscription-Key
          in: header
          schema:
            type: string
          example: '{{Disbursement_Subscription-Key}}'
      responses:
        '202':
          description: Accepted
          headers:
            Content-Length:
              schema:
                type: integer
                example: '0'
            X-XSS-Protection:
              schema:
                type: string
                example: 1; mode=block
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            Date:
              schema:
                type: string
                example: Thu, 13 Jul 2023 06:48:36 GMT
          content:
            text/plain:
              schema:
                type: string
              example: ''
        '400':
          description: Bad Request
          headers:
            Content-Length:
              schema:
                type: integer
                example: '0'
            X-XSS-Protection:
              schema:
                type: string
                example: 1; mode=block
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            Date:
              schema:
                type: string
                example: Thu, 13 Jul 2023 06:51:01 GMT
          content:
            text/plain:
              schema:
                type: string
              examples:
                example-0:
                  summary: 400 Invalid ReferenceId To Refund
                  value: ''
                example-1:
                  summary: 400  special characters Used in Body
                  value: ''
        '500':
          description: Server Error
          headers:
            Content-Length:
              schema:
                type: integer
                example: '63'
            Content-Type:
              schema:
                type: string
                example: application/json;charset=utf-8
            X-XSS-Protection:
              schema:
                type: string
                example: 1; mode=block
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            Date:
              schema:
                type: string
                example: Thu, 20 Jul 2023 18:20:53 GMT
          content:
            application/json:
              schema:
                type: object
              example:
                message: Currency not supported.
                code: INVALID_CURRENCY
  /disbursement/v1_0/refund/{Request_ID_Refund}:
    get:
      tags:
        - Get Paid > Refund
      summary: Refund Status
      description: >-
        To check Status of the refund, The Get Status Requet uses the value for
        {{Request_ID_refund }}, this is also mapped as the X-Reference-Id in the
        Refund Request


        ## Headers Descriptions


        **X-Target-Environment** The identifier on the API specifying which
        country is the request meant for where the transaction shall be
        processed in production, sandbox is for testing


        **Ocp-Apim-Subscription-Key** Subscription key which provides access to
        this API. Found in your
        [Profile](https://momodeveloper.mtn.com/developer) **(Refund utilizes
        the Disbursment Subscription Key because its a Disburse/ Transer)**
      security:
        - bearerAuth: []
      parameters:
        - name: X-Target-Environment
          in: header
          schema:
            type: string
          example: '{{Target_Environment}}'
        - name: Ocp-Apim-Subscription-Key
          in: header
          schema:
            type: string
          example: '{{Disbursement_Subscription-Key}}'
        - name: Request_ID_Refund
          in: path
          schema:
            type: string
          required: true
          example: '{{Request_ID_Refund}}'
      responses:
        '200':
          description: OK
          headers:
            Content-Length:
              schema:
                type: integer
                example: '274'
            Content-Type:
              schema:
                type: string
                example: application/json;charset=utf-8
            X-XSS-Protection:
              schema:
                type: string
                example: 1; mode=block
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            Date:
              schema:
                type: string
                example: Thu, 13 Jul 2023 06:50:11 GMT
          content:
            application/json:
              schema:
                type: object
              example:
                financialTransactionId: '1018720807'
                externalId: Refund_00004335
                amount: '300'
                currency: EUR
                payee:
                  partyIdType: MSISDN
                  partyId: '{{MSISDN}}'
                payerMessage: Refund for MoMo Market Payment
                payeeNote: Refund for MoMo Market Payment
                status: SUCCESSFUL
        '401':
          description: Access Denied
          headers:
            Content-Length:
              schema:
                type: integer
                example: '143'
            Content-Type:
              schema:
                type: string
                example: application/json
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            WWW-Authenticate:
              schema:
                type: string
                example: >-
                  AzureApiManagementKey
                  realm="https://sandbox.momodeveloper.mtn.com/disbursement",name="Ocp-Apim-Subscription-Key",type="header"
            Date:
              schema:
                type: string
                example: Thu, 20 Jul 2023 19:00:16 GMT
          content:
            application/json:
              schema:
                type: object
              example:
                statusCode: 401
                message: >-
                  Access denied due to invalid subscription key. Make sure to
                  provide a valid key for an active subscription.
        '404':
          description: Not Found
          headers:
            Content-Length:
              schema:
                type: integer
                example: '75'
            Content-Type:
              schema:
                type: string
                example: application/json;charset=utf-8
            X-XSS-Protection:
              schema:
                type: string
                example: 1; mode=block
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            Date:
              schema:
                type: string
                example: Thu, 20 Jul 2023 18:58:27 GMT
          content:
            application/json:
              schema:
                type: object
              example:
                message: Requested resource was not found.
                code: RESOURCE_NOT_FOUND
  /collection/v1_0/requesttopay/{Request_ID_Debit}/deliverynotification:
    post:
      tags:
        - Get Paid > Notify
      summary: ' Notification'
      description: >-
        ## Headers Description


        **Authorization** The request is authenticated using a Bearer Token,
        which is the Access_token. This token is automatically generated in the
        pre-request script of the collection.


        **X-Target-Environment** The identifier on the API Request specifying
        which country the request is to be processed for production, during
        testing **sandbox** is used.


        **Content-Type** The Content-Type header field is used to specify the
        nature of the data in the body of an entity. MoMo Open APIs support
        application/json.


        **Ocp-Apim-Subscription-Key** Subscription key which provides access to
        the APIM. Found in your
        [Profile](https://momodeveloper.mtn.com/developer)
      requestBody:
        content:
          '*/*':
            schema:
              type: string
              example: >-
                "{\r\n  \"notificationMessage\": \"Product has been Successfull
                sent to your Home, Thank You fro Purchasing from MoMo\"\r\n}"
      security:
        - bearerAuth: []
      parameters:
        - name: X-Target-Environment
          in: header
          schema:
            type: string
          example: '{{Target_Environment}}'
        - name: Content-Type
          in: header
          schema:
            type: string
          example: application/json
        - name: Ocp-Apim-Subscription-Key
          in: header
          schema:
            type: string
          example: '{{Collection_Subscription-Key}}'
        - name: Request_ID_Debit
          in: path
          schema:
            type: string
          required: true
      responses:
        '200':
          description: OK
          headers:
            Content-Length:
              schema:
                type: integer
                example: '0'
            X-XSS-Protection:
              schema:
                type: string
                example: 1; mode=block
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            Date:
              schema:
                type: string
                example: Thu, 20 Jul 2023 19:04:18 GMT
          content:
            text/plain:
              schema:
                type: string
              example: ''
        '400':
          description: Bad Request
          headers:
            Content-Length:
              schema:
                type: integer
                example: '0'
            X-XSS-Protection:
              schema:
                type: string
                example: 1; mode=block
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            Date:
              schema:
                type: string
                example: Thu, 20 Jul 2023 19:05:46 GMT
          content:
            text/plain:
              schema:
                type: string
              example: ''
        '401':
          description: Unauthorized
          headers:
            Content-Length:
              schema:
                type: integer
                example: '0'
            X-XSS-Protection:
              schema:
                type: string
                example: 1; mode=block
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            Date:
              schema:
                type: string
                example: Thu, 20 Jul 2023 19:09:32 GMT
          content:
            text/plain:
              schema:
                type: string
              example: ''
        '404':
          description: Not Found
          headers:
            Content-Length:
              schema:
                type: integer
                example: '75'
            Content-Type:
              schema:
                type: string
                example: application/json;charset=utf-8
            X-XSS-Protection:
              schema:
                type: string
                example: 1; mode=block
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            Date:
              schema:
                type: string
                example: Thu, 20 Jul 2023 19:07:33 GMT
          content:
            application/json:
              schema:
                type: object
              example:
                message: Requested resource was not found.
                code: RESOURCE_NOT_FOUND
  /collection/v1_0/account/balance:
    get:
      tags:
        - Get Paid > Account Balance
      summary: Get Account Balance
      description: >-
        ## Headers Description


        **Authorization** The request is authenticated using a Bearer Token,
        which is the Access_token. This token is automatically generated in the
        pre-request script of the collection.


        **X-Target-Environment** The identifier on the API Request specifying
        which country the årequest is to be processed for production, during
        testing **sandbox** is used.


        **Ocp-Apim-Subscription-Key** Subscription key which provides access to
        the APIM. Found in your
        [Profile](https://momodeveloper.mtn.com/developer)
      security:
        - bearerAuth: []
      parameters:
        - name: X-Target-Environment
          in: header
          schema:
            type: string
          example: '{{Target_Environment}}'
        - name: Ocp-Apim-Subscription-Key
          in: header
          schema:
            type: string
          example: '{{Collection_Subscription-Key}}'
      responses:
        '200':
          description: OK
          headers:
            Content-Length:
              schema:
                type: integer
                example: '43'
            Content-Type:
              schema:
                type: string
                example: application/json;charset=utf-8
            X-XSS-Protection:
              schema:
                type: string
                example: 1; mode=block
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            Date:
              schema:
                type: string
                example: Thu, 13 Jul 2023 13:46:23 GMT
          content:
            application/json:
              schema:
                type: object
              example:
                availableBalance: '-25'
                currency: EUR
  /disbursement/v1_0/transfer:
    post:
      tags:
        - Pay > Transfer
      summary: Transfer
      description: >-
        ## Headers Descriptions


        **X-Reference-Id** The Value pertains to the UUID Version 4 Format
        String, which must be distinctive for each transaction and in this
        request it will be labeled as Request_ID_Transfer. It's employed to
        singularly identify a transaction and used to retrieve the status.


        **Authorization** The request is authenticated using a Bearer Token,
        which is the Access_token. This token is automatically generated in the
        pre-request script of the collection.


        **X-Target-Environment** The identifier on the API Request specifying
        which country the request is to be processed for production, during
        testing **sandbox** is used.


        **Content-Type** The Content-Type header field is used to specify the
        nature of the data in the body of an entity. MoMo Open APIs support
        application/json.


        **Ocp-Apim-Subscription-Key** Subscription key which provides access to
        the APIM. Found in your
        [Profile](https://momodeveloper.mtn.com/developer) - Value - Disbursment
        Primary Key


        **X-Callback-Url** Responses are sent via the Specified URL, Which must
        be Secure. HTTPS


        ## Body Content Description


        **Amount** - Amount to be Transfered to the MoMo Subscriber -


        **Currency** - this differs depending on the country (Speceified via the
        Header X-Target-Environment ). Sandbox uses EUR


        **ExternalId** - External ID can a string that is used for
        reconcileiation between Partner Platform and MoMo Platform


        **PartyIdType** currently the supported Types are MSISDN and ALIAS


        **PartyId** Value of the MSISDN Number Or Merchant ID


        **PayerMessage** Notification sent to the Sender


        **PayeeNote** - Notification sent to the receiver
      requestBody:
        content:
          '*/*':
            schema:
              type: string
              example: >-
                "{\r\n  \"amount\": \"5900\",\r\n  \"currency\": \"EUR\",\r\n 
                \"externalId\": \"890695\",\r\n  \"payee\": {\r\n   
                \"partyIdType\": \"MSISDN\",\r\n    \"partyId\":
                \"{{MSISDN}}\"\r\n  },\r\n  \"payerMessage\": \"Salary Payment
                April 2023\",\r\n  \"payeeNote\": \"Salary Payment April
                2023\"\r\n}"
      security:
        - bearerAuth: []
      parameters:
        - name: X-Callback-Url
          in: header
          schema:
            type: string
          example: '{{CallbackURL}}'
        - name: X-Reference-Id
          in: header
          schema:
            type: string
          example: '{{Request_ID_Transfer}}'
        - name: X-Target-Environment
          in: header
          schema:
            type: string
          example: '{{Target_Environment}}'
        - name: Content-Type
          in: header
          schema:
            type: string
          example: application/json
        - name: Ocp-Apim-Subscription-Key
          in: header
          schema:
            type: string
          example: '{{Disbursement_Subscription-Key}}'
      responses:
        '202':
          description: Accepted
          headers:
            Content-Length:
              schema:
                type: integer
                example: '0'
            X-XSS-Protection:
              schema:
                type: string
                example: 1; mode=block
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            Date:
              schema:
                type: string
                example: Thu, 20 Jul 2023 20:47:10 GMT
          content:
            text/plain:
              schema:
                type: string
              examples:
                example-0:
                  summary: 202 Accepted Business To Business
                  value: ''
                example-1:
                  summary: 202 Accepted Business To Customer
                  value: ''
        '400':
          description: Bad Request
          headers:
            Content-Length:
              schema:
                type: integer
                example: '0'
            X-XSS-Protection:
              schema:
                type: string
                example: 1; mode=block
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            Date:
              schema:
                type: string
                example: Thu, 20 Jul 2023 20:58:14 GMT
          content:
            text/plain:
              schema:
                type: string
              example: ''
        '401':
          description: Access Denied
          headers:
            Content-Length:
              schema:
                type: integer
                example: '143'
            Content-Type:
              schema:
                type: string
                example: application/json
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            WWW-Authenticate:
              schema:
                type: string
                example: >-
                  AzureApiManagementKey
                  realm="https://sandbox.momodeveloper.mtn.com/disbursement",name="Ocp-Apim-Subscription-Key",type="header"
            Date:
              schema:
                type: string
                example: Thu, 20 Jul 2023 21:00:34 GMT
          content:
            application/json:
              schema:
                type: object
              example:
                statusCode: 401
                message: >-
                  Access denied due to invalid subscription key. Make sure to
                  provide a valid key for an active subscription.
        '404':
          description: Not Found
          headers:
            Content-Length:
              schema:
                type: integer
                example: '0'
            X-XSS-Protection:
              schema:
                type: string
                example: 1; mode=block
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            Date:
              schema:
                type: string
                example: Thu, 20 Jul 2023 23:14:05 GMT
          content:
            text/plain:
              schema:
                type: string
              example: ''
        '500':
          description: Server Error
          headers:
            Content-Length:
              schema:
                type: integer
                example: '63'
            Content-Type:
              schema:
                type: string
                example: application/json;charset=utf-8
            X-XSS-Protection:
              schema:
                type: string
                example: 1; mode=block
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            Date:
              schema:
                type: string
                example: Thu, 20 Jul 2023 20:59:11 GMT
          content:
            application/json:
              schema:
                type: object
              example:
                message: Currency not supported.
                code: INVALID_CURRENCY
  /disbursement/v1_0/transfer/{Request_ID_Transfer}:
    get:
      tags:
        - Pay > Transfer Status
      summary: 'Transfer Status '
      description: >-
        ## Headers Description


        **Authorization** The request is authenticated using a Bearer Token,
        which is the Access_token. This token is automatically generated in the
        pre-request script of the collection.


        **X-Target-Environment** The identifier on the API Request specifying
        which country the årequest is to be processed for production, during
        testing **sandbox** is used.


        **Ocp-Apim-Subscription-Key** Subscription key which provides access to
        the APIM. Found in your
        [Profile](https://momodeveloper.mtn.com/developer)
      security:
        - bearerAuth: []
      parameters:
        - name: X-Target-Environment
          in: header
          schema:
            type: string
          example: '{{Target_Environment}}'
        - name: Ocp-Apim-Subscription-Key
          in: header
          schema:
            type: string
          example: '{{Disbursement_Subscription-Key}}'
        - name: Request_ID_Transfer
          in: path
          schema:
            type: string
          required: true
          example: '{{Request_ID_Transfer}}'
      responses:
        '200':
          description: OK
          headers:
            Content-Length:
              schema:
                type: integer
                example: '254'
            Content-Type:
              schema:
                type: string
                example: application/json;charset=utf-8
            X-XSS-Protection:
              schema:
                type: string
                example: 1; mode=block
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            Date:
              schema:
                type: string
                example: Thu, 20 Jul 2023 23:16:27 GMT
          content:
            application/json:
              schema:
                type: object
              example:
                amount: '5900'
                currency: EUR
                financialTransactionId: '17879525'
                externalId: '890695'
                payee:
                  partyIdType: MSISDN
                  partyId: '{{MSISDN}}'
                payerMessage: Salary Payment April 2023
                payeeNote: Salary Payment April 2023
                status: SUCCESSFUL
        '401':
          description: Access Denied
          headers:
            Content-Length:
              schema:
                type: integer
                example: '143'
            Content-Type:
              schema:
                type: string
                example: application/json
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            WWW-Authenticate:
              schema:
                type: string
                example: >-
                  AzureApiManagementKey
                  realm="https://sandbox.momodeveloper.mtn.com/disbursement",name="Ocp-Apim-Subscription-Key",type="header"
            Date:
              schema:
                type: string
                example: Thu, 20 Jul 2023 23:19:30 GMT
          content:
            application/json:
              schema:
                type: object
              example:
                statusCode: 401
                message: >-
                  Access denied due to invalid subscription key. Make sure to
                  provide a valid key for an active subscription.
        '404':
          description: Not Found
          headers:
            Content-Length:
              schema:
                type: integer
                example: '75'
            Content-Type:
              schema:
                type: string
                example: application/json;charset=utf-8
            X-XSS-Protection:
              schema:
                type: string
                example: 1; mode=block
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            Date:
              schema:
                type: string
                example: Thu, 20 Jul 2023 23:18:23 GMT
          content:
            application/json:
              schema:
                type: object
              example:
                message: Requested resource was not found.
                code: RESOURCE_NOT_FOUND
  /disbursement/v1_0/account/balance:
    get:
      tags:
        - Pay > Account Balance
      summary: Get Account Balance
      description: >-
        ## Headers Description


        **Authorization** The request is authenticated using a Bearer Token,
        which is the Access_token. This token is automatically generated in the
        pre-request script of the collection.


        **X-Target-Environment** The identifier on the API Request specifying
        which country the årequest is to be processed for production, during
        testing **sandbox** is used.


        **Ocp-Apim-Subscription-Key** Subscription key which provides access to
        the APIM. Found in your
        [Profile](https://momodeveloper.mtn.com/developer)
      security:
        - bearerAuth: []
      parameters:
        - name: X-Target-Environment
          in: header
          schema:
            type: string
          example: '{{Target_Environment}}'
        - name: Ocp-Apim-Subscription-Key
          in: header
          schema:
            type: string
          example: '{{Disbursement_Subscription-Key}}'
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /disbursement/v1_0/accountholder/msisdn/{MSISDN}/active:
    get:
      tags:
        - Account Validation > Account Status
      summary: Account Check
      description: >-
        ## Headers Description


        **Authorization** The request is authenticated using a Bearer Token,
        which is the Access_token. This token is automatically generated in the
        pre-request script of the collection.


        **X-Target-Environment** The identifier on the API Request specifying
        which country the årequest is to be processed for production, during
        testing **sandbox** is used.


        **Ocp-Apim-Subscription-Key** Subscription key which provides access to
        the APIM. Found in your
        [Profile](https://momodeveloper.mtn.com/developer)
      security:
        - bearerAuth: []
      parameters:
        - name: X-Target-Environment
          in: header
          schema:
            type: string
          example: '{{Target_Environment}}'
        - name: Ocp-Apim-Subscription-Key
          in: header
          schema:
            type: string
          example: '{{Disbursement_Subscription-Key}}'
        - name: MSISDN
          in: path
          schema:
            type: string
          required: true
          example: '{{MSISDN}}'
      responses:
        '200':
          description: OK
          headers:
            Content-Length:
              schema:
                type: integer
                example: '15'
            Content-Type:
              schema:
                type: string
                example: application/json;charset=utf-8
            X-XSS-Protection:
              schema:
                type: string
                example: 1; mode=block
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            Date:
              schema:
                type: string
                example: Thu, 20 Jul 2023 23:21:24 GMT
          content:
            application/json:
              schema:
                type: object
              example:
                result: true
        '404':
          description: Not Found
          headers:
            Content-Length:
              schema:
                type: integer
                example: '0'
            X-XSS-Protection:
              schema:
                type: string
                example: 1; mode=block
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            Date:
              schema:
                type: string
                example: Thu, 20 Jul 2023 23:22:06 GMT
          content:
            text/plain:
              schema:
                type: string
              example: ''
  /disbursement/v1_0/accountholder/msisdn/{MSISDN}/basicuserinfo:
    get:
      tags:
        - Account Validation > Get Basic Info
      summary: Basic Userinfo
      description: >-
        ## Headers Description


        **Authorization** The request is authenticated using a Bearer Token,
        which is the Access_token. This token is automatically generated in the
        pre-request script of the collection.


        **X-Target-Environment** The identifier on the API Request specifying
        which country the årequest is to be processed for production, during
        testing **sandbox** is used.


        **Ocp-Apim-Subscription-Key** Subscription key which provides access to
        the APIM. Found in your
        [Profile](https://momodeveloper.mtn.com/developer)


        Name Validation Check is done against the MSISDN with the Country code
      security:
        - bearerAuth: []
      parameters:
        - name: X-Target-Environment
          in: header
          schema:
            type: string
          example: '{{Target_Environment}}'
        - name: Ocp-Apim-Subscription-Key
          in: header
          schema:
            type: string
          example: '{{Disbursement_Subscription-Key}}'
        - name: MSISDN
          in: path
          schema:
            type: string
          required: true
          example: '{{MSISDN}}'
      responses:
        '200':
          description: OK
          headers:
            Content-Length:
              schema:
                type: integer
                example: '151'
            Content-Type:
              schema:
                type: string
                example: application/json;charset=utf-8
            X-XSS-Protection:
              schema:
                type: string
                example: 1; mode=block
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            Date:
              schema:
                type: string
                example: Thu, 20 Jul 2023 23:24:19 GMT
          content:
            application/json:
              schema:
                type: object
              example:
                sub: '0'
                name: Sand Box
                given_name: Sand
                family_name: Box
                birthdate: '1976-08-13'
                locale: sv_SE
                gender: MALE
                updated_at: 1689891860
        '404':
          description: Not Found
          headers:
            Content-Length:
              schema:
                type: integer
                example: '0'
            X-XSS-Protection:
              schema:
                type: string
                example: 1; mode=block
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            Date:
              schema:
                type: string
                example: Thu, 20 Jul 2023 23:25:20 GMT
          content:
            text/plain:
              schema:
                type: string
              example: ''
  /disbursement/v1_0/bc-authorize:
    post:
      tags:
        - Account Validation > Detiled  KYC-With Consent
      summary: bc-authorize
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                scope:
                  type: string
                  example: profile
                login_hint:
                  type: string
                  example: ID:563667/MSISDN
                access_type:
                  type: string
                  example: offline
      security:
        - bearerAuth: []
      parameters:
        - name: X-Target-Environment
          in: header
          schema:
            type: string
          example: '{{Target_Environment}}'
        - name: X-Callback-Url
          in: header
          schema:
            type: string
          example: '{{CallbackURL}}'
        - name: Content-Type
          in: header
          schema:
            type: string
          example: application/x-www-form-urlencoded
        - name: Ocp-Apim-Subscription-Key
          in: header
          schema:
            type: string
          example: '{{Disbursement_Subscription-Key}}'
      responses:
        '200':
          description: OK
          headers:
            Content-Length:
              schema:
                type: integer
                example: '85'
            Content-Type:
              schema:
                type: string
                example: application/json;charset=utf-8
            X-XSS-Protection:
              schema:
                type: string
                example: 1; mode=block
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            Date:
              schema:
                type: string
                example: Thu, 20 Jul 2023 23:27:01 GMT
          content:
            application/json:
              schema:
                type: object
              example:
                auth_req_id: 0100016c-4bfa-4ae3-a9cd-2db0669af645
                expires_in: 3600
                interval: 5
        '500':
          description: Server Error
          headers:
            Content-Length:
              schema:
                type: integer
                example: '67'
            Content-Type:
              schema:
                type: string
                example: application/json;charset=utf-8
            X-XSS-Protection:
              schema:
                type: string
                example: 1; mode=block
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            Date:
              schema:
                type: string
                example: Thu, 20 Jul 2023 23:27:50 GMT
          content:
            application/json:
              schema:
                type: object
              example:
                message: The scope is not supported
                code: UNSUPPORTED_SCOPE
  /disbursement/oauth2/token/:
    post:
      tags:
        - Account Validation > Detiled  KYC-With Consent
      summary: Generate Oauth2 Token
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                grant_type:
                  type: string
                  example: urn:openid:params:grant-type:ciba
                auth_req_id:
                  type: string
                  example: '{{Consent_Req_Id}}'
      security:
        - basicAuth: []
      parameters:
        - name: X-Target-Environment
          in: header
          schema:
            type: string
          example: '{{Target_Environment}}'
        - name: Content-Type
          in: header
          schema:
            type: string
          example: application/x-www-form-urlencoded
        - name: Ocp-Apim-Subscription-Key
          in: header
          schema:
            type: string
          example: '{{Disbursement_Subscription-Key}}'
      responses:
        '200':
          description: OK
          headers:
            Cache-Control:
              schema:
                type: string
                example: no-store
            Pragma:
              schema:
                type: string
                example: no-cache
            Content-Length:
              schema:
                type: integer
                example: '670'
            Content-Type:
              schema:
                type: string
                example: application/json;charset=utf-8
            X-XSS-Protection:
              schema:
                type: string
                example: 1; mode=block
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            Date:
              schema:
                type: string
                example: Thu, 20 Jul 2023 23:30:55 GMT
          content:
            application/json:
              schema:
                type: object
              example:
                access_token: >-
                  eyJ0eXAiOiJKV1QiLCJhbGciOiJSMjU2In0.eyJzdWIiOiIwIiwiYXVkIjoiNDk3OTA4Njk0IiwiY2lkIjoiOGExOTVlOGMtOTBkOC00MDkwLWFjMGEtYTJmMzRlOTU5NzM4IiwiZXhwIjoxNjg5ODk5NDU1LCJpYXQiOjE2ODk4OTU4NTUsImlzcyI6Imh0dHBzOi8vbG9jYWxob3N0IiwiY29uIjowLCJzY3AiOlsicHJvZmlsZSJdfQ.i7OAAVVF30X1JhCEpzTGg5mCAx-qsoTdG09T-RmXmq-rLt95t-vlb-BEa2OwSC0EA1Bko-OCSnlfKHaeiIEQ_xhKYOHFlLB4z95ajMXHAgVfZReZNIAD0zg2meX-68PRIP3nET98stJoPGMmb64OZ1bJLBMeDxm2EC6kC3QQrvimLIOIPzz1D1zjLH3XEDpviq41a6wOETI77bsIYPDwVnNTymn5jhaT550DtdfPa3QY4j4a6GY33JIVVMQ8bprbHe9NJ2Ip4MCBZqNvb8dfRrqIPNnzUxNtZ9CtPawUJNUK_DNa79iXVuldLuyJv4ONlf-RlFBf7Hh1B7LgvdHHkg
                token_type: Bearer
                expires_in: 3600
                scope: profile
        '400':
          description: Bad Request
          headers:
            Cache-Control:
              schema:
                type: string
                example: no-store
            Pragma:
              schema:
                type: string
                example: no-cache
            Content-Length:
              schema:
                type: integer
                example: '27'
            Content-Type:
              schema:
                type: string
                example: application/json;charset=utf-8
            X-XSS-Protection:
              schema:
                type: string
                example: 1; mode=block
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            Date:
              schema:
                type: string
                example: Thu, 20 Jul 2023 23:31:56 GMT
          content:
            application/json:
              schema:
                type: object
              examples:
                example-0:
                  summary: 400 Invalid Consent ID
                  value:
                    error: invalid_request
                example-1:
                  summary: 400 Invalid Grant Type
                  value:
                    error: unsupported_grant_type
  /disbursement/oauth2/v1_0/userinfo:
    get:
      tags:
        - Account Validation > Detiled  KYC-With Consent
      summary: Get UserInfo
      security:
        - bearerAuth: []
      parameters:
        - name: X-Target-Environment
          in: header
          schema:
            type: string
          example: '{{Target_Environment}}'
        - name: Ocp-Apim-Subscription-Key
          in: header
          schema:
            type: string
          example: '{{Disbursement_Subscription-Key}}'
      responses:
        '200':
          description: OK
          headers:
            Content-Length:
              schema:
                type: integer
                example: '151'
            Content-Type:
              schema:
                type: string
                example: application/json;charset=utf-8
            X-XSS-Protection:
              schema:
                type: string
                example: 1; mode=block
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            Date:
              schema:
                type: string
                example: Thu, 20 Jul 2023 23:34:45 GMT
          content:
            application/json:
              schema:
                type: object
              example:
                sub: '0'
                name: Sand Box
                given_name: Sand
                family_name: Box
                birthdate: '1976-08-13'
                locale: sv_SE
                gender: MALE
                updated_at: 1689892485
        '401':
          description: Unauthorized
          headers:
            Content-Length:
              schema:
                type: integer
                example: '0'
            X-XSS-Protection:
              schema:
                type: string
                example: 1; mode=block
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            Date:
              schema:
                type: string
                example: Thu, 20 Jul 2023 23:35:15 GMT
          content:
            text/plain:
              schema:
                type: string
              example: ''
  /disbursement/v1_0/deposit:
    post:
      tags:
        - Distribute > Cash IN
      summary: Deposit Request
      requestBody:
        content:
          '*/*':
            schema:
              type: string
              example: >-
                "{\r\n  \"amount\": \"2679\",\r\n  \"currency\": \"EUR\",\r\n 
                \"externalId\": \"004504\",\r\n  \"payee\": {\r\n   
                \"partyIdType\": \"MSISDN\",\r\n    \"partyId\":
                \"{{MSISDN}}\"\r\n  },\r\n  \"payerMessage\": \"MoMo CASH IN
                Thank You\",\r\n  \"payeeNote\": \"MoMo CASH IN Thank
                You\"\r\n}"
      security:
        - bearerAuth: []
      parameters:
        - name: X-Callback-Url
          in: header
          schema:
            type: string
          example: '{{CallbackURL}}'
        - name: X-Reference-Id
          in: header
          schema:
            type: string
          example: '{{Request_ID_CashIn}}'
        - name: X-Target-Environment
          in: header
          schema:
            type: string
          example: '{{Target_Environment}}'
        - name: Content-Type
          in: header
          schema:
            type: string
          example: application/json
        - name: Ocp-Apim-Subscription-Key
          in: header
          schema:
            type: string
          example: '{{Disbursement_Subscription-Key}}'
      responses:
        '202':
          description: Accepted
          headers:
            Content-Length:
              schema:
                type: integer
                example: '0'
            X-XSS-Protection:
              schema:
                type: string
                example: 1; mode=block
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            Date:
              schema:
                type: string
                example: Fri, 21 Jul 2023 02:48:35 GMT
          content:
            text/plain:
              schema:
                type: string
              example: ''
        '400':
          description: Bad Request
          headers:
            Content-Length:
              schema:
                type: integer
                example: '0'
            X-XSS-Protection:
              schema:
                type: string
                example: 1; mode=block
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            Date:
              schema:
                type: string
                example: Fri, 21 Jul 2023 02:49:30 GMT
          content:
            text/plain:
              schema:
                type: string
              example: ''
        '401':
          description: Access Denied
          headers:
            Content-Length:
              schema:
                type: integer
                example: '143'
            Content-Type:
              schema:
                type: string
                example: application/json
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            WWW-Authenticate:
              schema:
                type: string
                example: >-
                  AzureApiManagementKey
                  realm="https://sandbox.momodeveloper.mtn.com/disbursement",name="Ocp-Apim-Subscription-Key",type="header"
            Date:
              schema:
                type: string
                example: Fri, 21 Jul 2023 02:54:30 GMT
          content:
            application/json:
              schema:
                type: object
              example:
                statusCode: 401
                message: >-
                  Access denied due to invalid subscription key. Make sure to
                  provide a valid key for an active subscription.
        '500':
          description: Server Error
          headers:
            Content-Length:
              schema:
                type: integer
                example: '63'
            Content-Type:
              schema:
                type: string
                example: application/json;charset=utf-8
            X-XSS-Protection:
              schema:
                type: string
                example: 1; mode=block
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            Date:
              schema:
                type: string
                example: Fri, 21 Jul 2023 02:51:27 GMT
          content:
            application/json:
              schema:
                type: object
              example:
                message: Currency not supported.
                code: INVALID_CURRENCY
  /disbursement/v1_0/deposit/{Request_ID_CashIn}:
    get:
      tags:
        - Distribute > Cash IN
      summary: Deposit Request Status
      security:
        - bearerAuth: []
      parameters:
        - name: X-Target-Environment
          in: header
          schema:
            type: string
          example: '{{Target_Environment}}'
        - name: Ocp-Apim-Subscription-Key
          in: header
          schema:
            type: string
          example: '{{Disbursement_Subscription-Key}}'
        - name: Request_ID_CashIn
          in: path
          schema:
            type: string
          required: true
          example: '{{Request_ID_CashIn}}'
      responses:
        '200':
          description: OK
          headers:
            Content-Length:
              schema:
                type: integer
                example: '212'
            Content-Type:
              schema:
                type: string
                example: application/json;charset=utf-8
            X-XSS-Protection:
              schema:
                type: string
                example: 1; mode=block
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            Date:
              schema:
                type: string
                example: Sat, 22 Jul 2023 22:09:44 GMT
          content:
            application/json:
              schema:
                type: object
              example:
                externalId: '004504'
                amount: '2679'
                currency: EUR
                payee:
                  partyIdType: MSISDN
                  partyId: '{{MSISDN}}'
                payerMessage: MoMo CASH IN Thank You
                payeeNote: MoMo CASH IN Thank You
                status: SUCCESSFUL
        '401':
          description: Access Denied
          headers:
            Content-Length:
              schema:
                type: integer
                example: '143'
            Content-Type:
              schema:
                type: string
                example: application/json
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            WWW-Authenticate:
              schema:
                type: string
                example: >-
                  AzureApiManagementKey
                  realm="https://sandbox.momodeveloper.mtn.com/disbursement",name="Ocp-Apim-Subscription-Key",type="header"
            Date:
              schema:
                type: string
                example: Sat, 22 Jul 2023 22:11:40 GMT
          content:
            application/json:
              schema:
                type: object
              example:
                statusCode: 401
                message: >-
                  Access denied due to invalid subscription key. Make sure to
                  provide a valid key for an active subscription.
        '404':
          description: Not Found
          headers:
            Content-Length:
              schema:
                type: integer
                example: '75'
            Content-Type:
              schema:
                type: string
                example: application/json;charset=utf-8
            X-XSS-Protection:
              schema:
                type: string
                example: 1; mode=block
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            Date:
              schema:
                type: string
                example: Sat, 22 Jul 2023 22:10:38 GMT
          content:
            application/json:
              schema:
                type: object
              example:
                message: Requested resource was not found.
                code: RESOURCE_NOT_FOUND
  /collection/v1_0/requesttowithdraw:
    post:
      tags:
        - Distribute > Cash OUT
      summary: Request To Withdraw
      requestBody:
        content:
          '*/*':
            schema:
              type: string
              example: >-
                "{\r\n\"amount\": \"3536636\",\r\n\"currency\":
                \"EUR\",\r\n\"externalId\": \"45757757\",\r\n\"payer\":
                {\r\n\"partyIdType\": \"MSISDN\",\r\n\"partyId\":
                \"{{MSISDN}}\"\r\n},\r\n\"payerMessage\": \"MoMo Cash Out Thank
                You\",\r\n\"payeeNote\": \"MoMo Cash Out Thank You \"\r\n}"
      security:
        - bearerAuth: []
      parameters:
        - name: X-Callback-Url
          in: header
          schema:
            type: string
          example: '{{CallbackURL}}'
        - name: X-Reference-Id
          in: header
          schema:
            type: string
          example: '{{Request_ID_CashOut}}'
        - name: X-Target-Environment
          in: header
          schema:
            type: string
          example: '{{Target_Environment}}'
        - name: Content-Type
          in: header
          schema:
            type: string
          example: application/json
        - name: Ocp-Apim-Subscription-Key
          in: header
          schema:
            type: string
          example: '{{Collection_Subscription-Key}}'
      responses:
        '202':
          description: Accepted
          headers:
            Content-Length:
              schema:
                type: integer
                example: '0'
            X-XSS-Protection:
              schema:
                type: string
                example: 1; mode=block
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            Date:
              schema:
                type: string
                example: Sat, 22 Jul 2023 22:13:26 GMT
          content:
            text/plain:
              schema:
                type: string
              example: ''
        '400':
          description: Bad Request
          headers:
            Content-Length:
              schema:
                type: integer
                example: '0'
            X-XSS-Protection:
              schema:
                type: string
                example: 1; mode=block
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            Date:
              schema:
                type: string
                example: Sat, 22 Jul 2023 22:15:38 GMT
          content:
            text/plain:
              schema:
                type: string
              example: ''
        '401':
          description: Access Denied
          headers:
            Content-Length:
              schema:
                type: integer
                example: '143'
            Content-Type:
              schema:
                type: string
                example: application/json
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            WWW-Authenticate:
              schema:
                type: string
                example: >-
                  AzureApiManagementKey
                  realm="https://sandbox.momodeveloper.mtn.com/collection",name="Ocp-Apim-Subscription-Key",type="header"
            Date:
              schema:
                type: string
                example: Sat, 22 Jul 2023 22:17:29 GMT
          content:
            application/json:
              schema:
                type: object
              example:
                statusCode: 401
                message: >-
                  Access denied due to invalid subscription key. Make sure to
                  provide a valid key for an active subscription.
        '500':
          description: Server Error
          headers:
            Content-Length:
              schema:
                type: integer
                example: '63'
            Content-Type:
              schema:
                type: string
                example: application/json;charset=utf-8
            X-XSS-Protection:
              schema:
                type: string
                example: 1; mode=block
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            Date:
              schema:
                type: string
                example: Sat, 22 Jul 2023 22:16:24 GMT
          content:
            application/json:
              schema:
                type: object
              example:
                message: Currency not supported.
                code: INVALID_CURRENCY
  /collection/v1_0/requesttowithdraw/{Request_ID_CashOut}:
    get:
      tags:
        - Distribute > Cash OUT
      summary: Request To Withdraw Status
      security:
        - bearerAuth: []
      parameters:
        - name: X-Target-Environment
          in: header
          schema:
            type: string
          example: '{{Target_Environment}}'
        - name: Ocp-Apim-Subscription-Key
          in: header
          schema:
            type: string
          example: '{{Collection_Subscription-Key}}'
        - name: Request_ID_CashOut
          in: path
          schema:
            type: string
          required: true
          example: '{{Request_ID_CashOut}}'
      responses:
        '200':
          description: OK
          headers:
            Content-Length:
              schema:
                type: integer
                example: '257'
            Content-Type:
              schema:
                type: string
                example: application/json;charset=utf-8
            X-XSS-Protection:
              schema:
                type: string
                example: 1; mode=block
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            Date:
              schema:
                type: string
                example: Sat, 22 Jul 2023 22:19:00 GMT
          content:
            application/json:
              schema:
                type: object
              example:
                financialTransactionId: '125651200'
                externalId: '45757757'
                amount: '3536636'
                currency: EUR
                payer:
                  partyIdType: MSISDN
                  partyId: '{{MSISDN}}'
                payerMessage: MoMo Cash Out Thank You
                payeeNote: 'MoMo Cash Out Thank You '
                status: SUCCESSFUL
        '401':
          description: Access Denied
          headers:
            Content-Length:
              schema:
                type: integer
                example: '143'
            Content-Type:
              schema:
                type: string
                example: application/json
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            WWW-Authenticate:
              schema:
                type: string
                example: >-
                  AzureApiManagementKey
                  realm="https://sandbox.momodeveloper.mtn.com/collection",name="Ocp-Apim-Subscription-Key",type="header"
            Date:
              schema:
                type: string
                example: Sat, 22 Jul 2023 22:24:41 GMT
          content:
            application/json:
              schema:
                type: object
              example:
                statusCode: 401
                message: >-
                  Access denied due to invalid subscription key. Make sure to
                  provide a valid key for an active subscription.
        '404':
          description: Not Found
          headers:
            Content-Length:
              schema:
                type: integer
                example: '75'
            Content-Type:
              schema:
                type: string
                example: application/json;charset=utf-8
            X-XSS-Protection:
              schema:
                type: string
                example: 1; mode=block
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            Date:
              schema:
                type: string
                example: Sat, 22 Jul 2023 22:21:31 GMT
          content:
            application/json:
              schema:
                type: object
              example:
                message: Requested resource was not found.
                code: RESOURCE_NOT_FOUND
  /v2_0/invoice:
    post:
      tags:
        - Invoice
      summary: Create Invoice
      requestBody:
        content:
          '*/*':
            schema:
              type: string
              example: >-
                "{\r\n    \"externalId\": \"005060\",\r\n    \"amount\":
                \"5000\",\r\n    \"currency\": \"EUR\",\r\n   
                \"validityDuration\": \"360\",\r\n    \"intendedPayer\":
                {\r\n        \"partyIdType\": \"MSISDN\",\r\n       
                \"partyId\": \"56784939\"\r\n    },\r\n    \"payee\":
                {\r\n        \"partyIdType\": \"MSISDN\",\r\n       
                \"partyId\": \"{{MSISDN}}\"\r\n    },\r\n    \"description\":
                \"InVoice SandBox\"\r\n}"
      security:
        - bearerAuth: []
      parameters:
        - name: X-Callback-Url
          in: header
          schema:
            type: string
          example: '{{CallbackURL}}'
        - name: X-Reference-Id
          in: header
          schema:
            type: string
          example: '{{Request_ID_Invoice}}'
        - name: X-Target-Environment
          in: header
          schema:
            type: string
          example: '{{Target_Environment}}'
        - name: Content-Type
          in: header
          schema:
            type: string
          example: application/json
        - name: Ocp-Apim-Subscription-Key
          in: header
          schema:
            type: string
          example: '{{Collection_Subscription-Key}}'
      responses:
        '202':
          description: Accepted
          headers:
            Content-Length:
              schema:
                type: integer
                example: '0'
            X-XSS-Protection:
              schema:
                type: string
                example: 1; mode=block
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            Date:
              schema:
                type: string
                example: Tue, 01 Aug 2023 01:28:16 GMT
          content:
            text/plain:
              schema:
                type: string
              example: ''
  /collection/v2_0/invoice/{Request_ID_Invoice}:
    get:
      tags:
        - Invoice
      summary: Invoice Status
      security:
        - bearerAuth: []
      parameters:
        - name: X-Target-Environment
          in: header
          schema:
            type: string
          example: '{{Target_Environment}}'
        - name: Ocp-Apim-Subscription-Key
          in: header
          schema:
            type: string
          example: '{{Collection_Subscription-Key}}'
        - name: Request_ID_Invoice
          in: path
          schema:
            type: string
          required: true
          example: '{{Request_ID_Invoice}}'
      responses:
        '200':
          description: OK
          headers:
            Content-Length:
              schema:
                type: integer
                example: '320'
            Content-Type:
              schema:
                type: string
                example: application/json;charset=utf-8
            X-XSS-Protection:
              schema:
                type: string
                example: 1; mode=block
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            Date:
              schema:
                type: string
                example: Tue, 01 Aug 2023 07:19:21 GMT
          content:
            application/json:
              schema:
                type: object
              example:
                referenceId: f18149e1-c439-4f85-b0af-7ecece80f6a9
                externalId: '005060'
                amount: '5000'
                currency: EUR
                status: PENDING
                paymentReference: '999822901'
                invoiceId: '252630984'
                expiryDateTime: '2023-08-01T01:34:17.023'
                intendedPayer:
                  partyIdType: MSISDN
                  partyId: '56784939'
                description: InVoice SandBox
    delete:
      tags:
        - Invoice
      summary: Delete Invoice
      security:
        - bearerAuth: []
      parameters:
        - name: X-Target-Environment
          in: header
          schema:
            type: string
          example: '{{Target_Environment}}'
        - name: X-Reference-Id
          in: header
          schema:
            type: string
          example: '{{Delete_ID_Invoice}}'
        - name: X-Callback-Url
          in: header
          schema:
            type: string
          example: '{{CallbackHost}}'
        - name: Content-Type
          in: header
          schema:
            type: string
          example: application/json
        - name: Ocp-Apim-Subscription-Key
          in: header
          schema:
            type: string
          example: '{{Collection_Subscription-Key}}'
        - name: Request_ID_Invoice
          in: path
          schema:
            type: string
          required: true
          example: '{{Request_ID_Invoice}}'
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /collection/v2_0/preapproval:
    post:
      tags:
        - Pre Approval
      summary: Request Preapproval
      requestBody:
        content:
          '*/*':
            schema:
              type: string
              example: >-
                "{\r\n  \"payer\": {\r\n    \"partyIdType\": \"MSISDN\",\r\n   
                \"partyId\": \"{{MSISDN}}\"\r\n  },\r\n  \"payerCurrency\":
                \"EUR\",\r\n  \"payerMessage\": \"HI MoMo API\",\r\n 
                \"validityTime\": \"300\"\r\n}"
      security:
        - bearerAuth: []
      parameters:
        - name: X-Callback-Url
          in: header
          schema:
            type: string
          example: '{{CallbackURL}}'
        - name: X-Reference-Id
          in: header
          schema:
            type: string
          example: '{{Request_ID_Preapproval}}'
        - name: X-Target-Environment
          in: header
          schema:
            type: string
          example: '{{Target_Environment}}'
        - name: Content-Type
          in: header
          schema:
            type: string
          example: application/json
        - name: Ocp-Apim-Subscription-Key
          in: header
          schema:
            type: string
          example: '{{Collection_Subscription-Key}}'
      responses:
        '202':
          description: Accepted
          headers:
            Content-Length:
              schema:
                type: integer
                example: '0'
            X-XSS-Protection:
              schema:
                type: string
                example: 1; mode=block
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            Date:
              schema:
                type: string
                example: Mon, 07 Aug 2023 15:37:52 GMT
          content:
            text/plain:
              schema:
                type: string
              example: ''
  /collection/v2_0/preapproval/{Request_ID_Preapproval}:
    get:
      tags:
        - Pre Approval
      summary: Get PreApproval Status
      security:
        - bearerAuth: []
      parameters:
        - name: X-Target-Environment
          in: header
          schema:
            type: string
          example: '{{Target_Environment}}'
        - name: Ocp-Apim-Subscription-Key
          in: header
          schema:
            type: string
          example: '{{Collection_Subscription-Key}}'
        - name: Request_ID_Preapproval
          in: path
          schema:
            type: string
          required: true
          example: '{{Request_ID_Preapproval}}'
      responses:
        '200':
          description: OK
          headers:
            Content-Length:
              schema:
                type: integer
                example: '178'
            Content-Type:
              schema:
                type: string
                example: application/json;charset=utf-8
            X-XSS-Protection:
              schema:
                type: string
                example: 1; mode=block
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            Date:
              schema:
                type: string
                example: Mon, 07 Aug 2023 15:42:41 GMT
          content:
            application/json:
              schema:
                type: object
              example:
                payer:
                  partyIdType: MSISDN
                  partyId: '56733123450'
                payerCurrency: EUR
                payerMessage: HI MoMo API
                expirationDateTime: '2023-08-07T15:42:52.219'
                status: SUCCESSFUL
  /remittance/v1_0/transfer:
    post:
      tags:
        - Remittance > Transfer
      summary: Transfer
      requestBody:
        content:
          '*/*':
            schema:
              type: string
              example: >-
                "{\r\n  \"amount\": \"980000\",\r\n  \"currency\": \"EUR\",\r\n 
                \"externalId\": \"9087699\",\r\n  \"payee\": {\r\n   
                \"partyIdType\": \"MSISDN\",\r\n    \"partyId\":
                \"{{MSISDN}}\"\r\n  },\r\n  \"payerMessage\": \"remittance
                amount\",\r\n  \"payeeNote\": \"remittance amount\"\r\n}"
      security:
        - bearerAuth: []
      parameters:
        - name: X-Callback-Url
          in: header
          schema:
            type: string
          example: '{{CallbackURL}}'
        - name: X-Reference-Id
          in: header
          schema:
            type: string
          example: '{{Request_ID_Remit_Transfer}}'
        - name: X-Target-Environment
          in: header
          schema:
            type: string
          example: '{{Target_Environment}}'
        - name: Content-Type
          in: header
          schema:
            type: string
          example: application/json
        - name: Ocp-Apim-Subscription-Key
          in: header
          schema:
            type: string
          example: '{{Remittance_Subscription-Key}}'
      responses:
        '202':
          description: Accepted
          headers:
            Content-Length:
              schema:
                type: integer
                example: '0'
            X-XSS-Protection:
              schema:
                type: string
                example: 1; mode=block
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            Date:
              schema:
                type: string
                example: Sat, 02 Sep 2023 10:42:52 GMT
          content:
            text/plain:
              schema:
                type: string
              example: ''
        '400':
          description: Bad Request
          headers:
            Content-Length:
              schema:
                type: integer
                example: '0'
            X-XSS-Protection:
              schema:
                type: string
                example: 1; mode=block
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            Date:
              schema:
                type: string
                example: Sat, 02 Sep 2023 10:43:55 GMT
          content:
            text/plain:
              schema:
                type: string
              example: ''
        '401':
          description: Access Denied
          headers:
            Content-Length:
              schema:
                type: integer
                example: '143'
            Content-Type:
              schema:
                type: string
                example: application/json
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            WWW-Authenticate:
              schema:
                type: string
                example: >-
                  AzureApiManagementKey
                  realm="https://sandbox.momodeveloper.mtn.com/remittance",name="Ocp-Apim-Subscription-Key",type="header"
            Date:
              schema:
                type: string
                example: Sat, 02 Sep 2023 10:48:08 GMT
          content:
            application/json:
              schema:
                type: object
              example:
                statusCode: 401
                message: >-
                  Access denied due to invalid subscription key. Make sure to
                  provide a valid key for an active subscription.
  /remittance/v1_0/transfer/{Request_ID_Remit_Transfer}:
    get:
      tags:
        - Remittance > Transfer
      summary: Transfer Status
      security:
        - bearerAuth: []
      parameters:
        - name: X-Target-Environment
          in: header
          schema:
            type: string
          example: '{{Target_Environment}}'
        - name: Ocp-Apim-Subscription-Key
          in: header
          schema:
            type: string
          example: '{{Remittance_Subscription-Key}}'
        - name: Request_ID_Remit_Transfer
          in: path
          schema:
            type: string
          required: true
          example: '{{Request_ID_Remit_Transfer}}'
      responses:
        '200':
          description: OK
          headers:
            Content-Length:
              schema:
                type: integer
                example: '243'
            Content-Type:
              schema:
                type: string
                example: application/json;charset=utf-8
            X-XSS-Protection:
              schema:
                type: string
                example: 1; mode=block
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            Date:
              schema:
                type: string
                example: Sat, 02 Sep 2023 10:50:39 GMT
          content:
            application/json:
              schema:
                type: object
              example:
                amount: '980000'
                currency: EUR
                financialTransactionId: '1030410790'
                externalId: '9087699'
                payee:
                  partyIdType: MSISDN
                  partyId: '56733123450'
                payerMessage: remittance amount
                payeeNote: remittance amount
                status: SUCCESSFUL
        '404':
          description: Not Found
          headers:
            Content-Length:
              schema:
                type: integer
                example: '75'
            Content-Type:
              schema:
                type: string
                example: application/json;charset=utf-8
            X-XSS-Protection:
              schema:
                type: string
                example: 1; mode=block
            Request-Context:
              schema:
                type: string
                example: appId=cid-v1:e996501c-e721-4ac1-97ff-dc6887b85e8c
            Date:
              schema:
                type: string
                example: Sat, 02 Sep 2023 10:51:31 GMT
          content:
            application/json:
              schema:
                type: object
              example:
                message: Requested resource was not found.
                code: RESOURCE_NOT_FOUND
