openapi: 3.0.1 info: title: Collection description: Partner Gateway API document version: '1.0' servers: - url: https://proxy.momoapi.mtn.co.rw/collection paths: '/v1_0/account/balance/{currency}': get: summary: GetAccountBalanceInSpecificCurrency description: Get the balance of the account. Currency parameter passed in GET operationId: GetAccountBalanceInSpecificCurrency parameters: - name: currency in: path description: Should be in ISO4217 Currency required: true schema: type: string - name: Authorization in: header description: Authorization header used for Basic authentication and oauth. Format of the header parameter follows the standard for Basic and Bearer. Oauth uses Bearer authentication type where the credential is the received access token. schema: type: string - name: X-Target-Environment in: header description: The identifier of the EWP system where the transaction shall be processed. This parameter is used to route the request to the EWP system that will initiate the transaction. required: true schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Balance' example: availableBalance: string currency: string Incorrect target environment: schema: $ref: '#/components/schemas/Balance' examples: default: value: '400': description: 'Bad request, e.g. invalid data was sent in the request.' content: application/json: { } Incorrect target environment: { } '500': description: Internal error. The returned response contains details. content: Incorrect target environment: schema: $ref: '#/components/schemas/ErrorReason' example: code: NOT_ALLOWED_TARGET_ENVIRONMENT message: Access to target environment is forbidden. application/json: schema: $ref: '#/components/schemas/ErrorReason' example: code: PAYEE_NOT_FOUND message: string /v1_0/requesttowithdraw: post: summary: RequestToWithdraw-V1 description: This operation is used to request a withdrawal (cash-out) from a consumer (Payer). The payer will be asked to authorize the withdrawal. The transaction will be executed once the payer has authorized the withdrawal operationId: requesttowithdraw-V1 parameters: - name: Authorization in: header description: Authorization header used for Basic authentication and oauth. Format of the header parameter follows the standard for Basic and Bearer. Oauth uses Bearer authentication type where the credential is the received access token. required: true schema: type: string - name: X-Callback-Url in: header description: POST Callback URL to the server where the callback should be sent. schema: type: string - name: X-Reference-Id in: header description: 'Format - UUID. Recource ID of the created request to pay transaction. This ID is used, for example, validating the status of the request. ‘Universal Unique ID’ for the transaction generated using UUID version 4.' required: true schema: type: string - name: X-Target-Environment in: header description: The identifier of the EWP system where the transaction shall be processed. This parameter is used to route the request to the EWP system that will initiate the transaction. required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/RequestToPay' example: payeeNote: string externalId: string amount: string currency: string payer: partyIdType: MSISDN partyId: string payerMessage: string responses: '202': description: Accepted content: application/json: { } ReferenceId already in use: { } Unspecified internal error: { } '400': description: 'Bad request, e.g. invalid data was sent in the request.' content: application/json: { } ReferenceId already in use: { } Unspecified internal error: { } '409': description: 'Conflict, duplicated reference id' content: ReferenceId already in use: schema: $ref: '#/components/schemas/ErrorReason' example: code: RESOURCE_ALREADY_EXIST message: Duplicated reference id. Creation of resource failed. application/json: schema: $ref: '#/components/schemas/ErrorReason' example: code: PAYEE_NOT_FOUND message: string Unspecified internal error: schema: $ref: '#/components/schemas/ErrorReason' examples: default: value: '500': description: Internal Error. content: Unspecified internal error: schema: $ref: '#/components/schemas/ErrorReason' example: code: INTERNAL_PROCESSING_ERROR message: An internal error occurred while processing. application/json: schema: $ref: '#/components/schemas/ErrorReason' example: code: PAYEE_NOT_FOUND message: string ReferenceId already in use: schema: $ref: '#/components/schemas/ErrorReason' examples: default: value: /v2_0/requesttowithdraw: post: summary: RequestToWithdraw-V2 description: This operation is used to request a withdrawal (cash-out) from a consumer (Payer). The payer will be asked to authorize the withdrawal. The transaction will be executed once the payer has authorized the withdrawal operationId: RequestToWithdraw-V2 parameters: - name: Authorization in: header description: Authorization header used for Basic authentication and oauth. Format of the header parameter follows the standard for Basic and Bearer. Oauth uses Bearer authentication type where the credential is the received access token. required: true schema: type: string - name: X-Callback-Url in: header description: PUT Callback URL to the server where the callback should be sent. schema: type: string - name: X-Reference-Id in: header description: 'Format - UUID. Recource ID of the created request to pay transaction. This ID is used, for example, validating the status of the request. ‘Universal Unique ID’ for the transaction generated using UUID version 4.' required: true schema: type: string - name: X-Target-Environment in: header description: The identifier of the EWP system where the transaction shall be processed. This parameter is used to route the request to the EWP system that will initiate the transaction. required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/RequestToPay' example: payeeNote: string externalId: string amount: string currency: string payer: partyIdType: MSISDN partyId: string payerMessage: string responses: '202': description: Accepted content: application/json: { } ReferenceId already in use: { } Unspecified internal error: { } '400': description: 'Bad request, e.g. invalid data was sent in the request.' content: application/json: { } ReferenceId already in use: { } Unspecified internal error: { } '409': description: 'Conflict, duplicated reference id' content: ReferenceId already in use: schema: $ref: '#/components/schemas/ErrorReason' example: code: RESOURCE_ALREADY_EXIST message: Duplicated reference id. Creation of resource failed. application/json: schema: $ref: '#/components/schemas/ErrorReason' example: code: PAYEE_NOT_FOUND message: string Unspecified internal error: schema: $ref: '#/components/schemas/ErrorReason' examples: default: value: '500': description: Internal Error. content: Unspecified internal error: schema: $ref: '#/components/schemas/ErrorReason' example: code: INTERNAL_PROCESSING_ERROR message: An internal error occurred while processing. application/json: schema: $ref: '#/components/schemas/ErrorReason' example: code: PAYEE_NOT_FOUND message: string ReferenceId already in use: schema: $ref: '#/components/schemas/ErrorReason' examples: default: value: '/v1_0/requesttowithdraw/{referenceId}': get: summary: RequestToWithdrawTransactionStatus description: This operation is used to get the status of a request to withdraw. X-Reference-Id that was passed in the post is used as reference to the request. operationId: RequestToWithdrawTransactionStatus parameters: - name: referenceId in: path description: UUID of transaction to get result. Reference id used when creating the requesttowithdraw. required: true schema: enum: - '1090909' type: string - name: Authorization in: header description: Authorization header used for Basic authentication and oauth. Format of the header parameter follows the standard for Basic and Bearer. Oauth uses Bearer authentication type where the credential is the received access token. required: true schema: type: string - name: X-Target-Environment in: header description: The identifier of the EWP system where the transaction shall be processed. This parameter is used to route the request to the EWP system that will initiate the transaction. required: true schema: type: string responses: '200': description: OK. Note that a failed request to pay will be returned with this status too. The 'status' of the RequestToPayResult can be used to determine the outcome of the request. The 'reason' field can be used to retrieve a cause in case of failure. content: Successful request to pay: schema: $ref: '#/components/schemas/RequestToPayResult' example: amount: 100 currency: UGX financialTransactionId: 23503452 externalId: 947354 payer: partyIdType: MSISDN partyId: 4656473839 status: SUCCESSFUL Payer not found: schema: $ref: '#/components/schemas/RequestToPayResult' example: amount: 100 currency: UGX externalId: 947354 payer: partyIdType: MSISDN partyId: 4656473839 status: FAILED reason: code: PAYER_NOT_FOUND message: Payee does not exist application/json: schema: $ref: '#/components/schemas/RequestToPayResult' example: amount: string currency: string financialTransactionId: string externalId: string payer: partyIdType: MSISDN partyId: string payerMessage: string payeeNote: string status: PENDING reason: code: PAYEE_NOT_FOUND message: string Request to pay not found: schema: $ref: '#/components/schemas/RequestToPayResult' examples: default: value: Unspecified internal error: schema: $ref: '#/components/schemas/RequestToPayResult' examples: default: value: '400': description: 'Bad request, e.g. an incorrectly formatted reference id was provided.' content: Successful request to pay: { } Payer not found: { } application/json: { } Request to pay not found: { } Unspecified internal error: { } '404': description: Resource not found. content: Request to pay not found: schema: $ref: '#/components/schemas/ErrorReason' example: code: RESOURCE_NOT_FOUND message: Requested resource was not found. Successful request to pay: schema: $ref: '#/components/schemas/ErrorReason' examples: default: value: Payer not found: schema: $ref: '#/components/schemas/ErrorReason' examples: default: value: application/json: schema: $ref: '#/components/schemas/ErrorReason' example: code: PAYEE_NOT_FOUND message: string Unspecified internal error: schema: $ref: '#/components/schemas/ErrorReason' examples: default: value: '500': description: 'Internal Error. Note that if the retrieved request to pay has failed, it will not cause this status to be returned. This status is only returned if the GET request itself fails.' content: Unspecified internal error: schema: $ref: '#/components/schemas/ErrorReason' example: code: INTERNAL_PROCESSING_ERROR message: An internal error occurred while processing. Successful request to pay: schema: $ref: '#/components/schemas/ErrorReason' examples: default: value: Payer not found: schema: $ref: '#/components/schemas/ErrorReason' examples: default: value: application/json: schema: $ref: '#/components/schemas/ErrorReason' example: code: PAYEE_NOT_FOUND message: string Request to pay not found: schema: $ref: '#/components/schemas/ErrorReason' examples: default: value: /v1_0/account/balance: get: summary: GetAccountBalance description: Get the balance of the account. operationId: GetAccountBalance parameters: - name: Authorization in: header description: Authorization header used for Basic authentication and oauth. Format of the header parameter follows the standard for Basic and Bearer. Oauth uses Bearer authentication type where the credential is the received access token. schema: type: string - name: X-Target-Environment in: header description: The identifier of the EWP system where the transaction shall be processed. This parameter is used to route the request to the EWP system that will initiate the transaction. required: true schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/Balance' example: availableBalance: string currency: string Incorrect target environment: schema: $ref: '#/components/schemas/Balance' examples: default: value: '400': description: 'Bad request, e.g. invalid data was sent in the request.' content: application/json: { } Incorrect target environment: { } '500': description: Internal error. The returned response contains details. content: Incorrect target environment: schema: $ref: '#/components/schemas/ErrorReason' example: code: NOT_ALLOWED_TARGET_ENVIRONMENT message: Access to target environment is forbidden. application/json: schema: $ref: '#/components/schemas/ErrorReason' example: code: PAYEE_NOT_FOUND message: string '/v1_0/accountholder/{accountHolderIdType}/{accountHolderId}/active': get: summary: ValidateAccountHolderStatus description: Operation is used to check if an account holder is registered and active in the system. operationId: ValidateAccountHolderStatus parameters: - name: accountHolderId in: path description: The party number. Validated according to the party ID type (case Sensitive).
msisdn - Mobile Number validated according to ITU-T E.164. Validated with IsMSISDN
email - Validated to be a valid e-mail format. Validated with IsEmail
party_code - UUID of the party. Validated with IsUuid required: true schema: type: string - name: accountHolderIdType in: path description: 'Specifies the type of the party ID. Allowed values [msisdn, email, party_code].
accountHolderId should explicitly be in small letters.' required: true schema: type: string - name: Authorization in: header description: Authorization header used for Basic authentication and oauth. Format of the header parameter follows the standard for Basic and Bearer. Oauth uses Bearer authentication type where the credential is the received access token. schema: type: string - name: X-Target-Environment in: header description: The identifier of the EWP system where the transaction shall be processed. This parameter is used to route the request to the EWP system that will initiate the transaction. required: true schema: type: string responses: '200': description: 'Ok. True if account holder is registered and active, false if the account holder is not active or not found' content: Incorrect target environment: { } '400': description: 'Bad request, e.g. invalid data was sent in the request.' content: Incorrect target environment: { } '500': description: Internal error. The returned response contains details. content: Incorrect target environment: schema: $ref: '#/components/schemas/ErrorReason' example: code: NOT_ALLOWED_TARGET_ENVIRONMENT message: Access to target environment is forbidden. /v1_0/requesttopay: post: summary: RequesttoPay description: "This operation is used to request a payment from a consumer (Payer). The payer will be asked to authorize the payment. The transaction will be executed once the payer has authorized the payment. The requesttopay will be in status PENDING until the transaction is authorized or declined by the payer or it is timed out by the system. \n Status of the transaction can be validated by using the GET /requesttopay/\\" operationId: RequesttoPay parameters: - name: Authorization in: header description: Authorization header used for Basic authentication and oauth. Format of the header parameter follows the standard for Basic and Bearer. Oauth uses Bearer authentication type where the credential is the received access token. schema: type: string - name: X-Callback-Url in: header description: URL to the server where the callback should be sent. schema: type: string - name: X-Reference-Id in: header description: 'Format - UUID. Recource ID of the created request to pay transaction. This ID is used, for example, validating the status of the request. ‘Universal Unique ID’ for the transaction generated using UUID version 4.' required: true schema: type: string - name: X-Target-Environment in: header description: The identifier of the EWP system where the transaction shall be processed. This parameter is used to route the request to the EWP system that will initiate the transaction. required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/RequestToPay' example: amount: string currency: string externalId: string payer: partyIdType: MSISDN partyId: string payerMessage: string payeeNote: string responses: '202': description: Accepted content: application/json: { } ReferenceId already in use: { } Unspecified internal error: { } '400': description: 'Bad request, e.g. invalid data was sent in the request.' content: application/json: { } ReferenceId already in use: { } Unspecified internal error: { } '409': description: 'Conflict, duplicated reference id' content: ReferenceId already in use: schema: $ref: '#/components/schemas/ErrorReason' example: code: RESOURCE_ALREADY_EXIST message: Duplicated reference id. Creation of resource failed. application/json: schema: $ref: '#/components/schemas/ErrorReason' example: code: PAYEE_NOT_FOUND message: string Unspecified internal error: schema: $ref: '#/components/schemas/ErrorReason' examples: default: value: '500': description: Internal Error. content: Unspecified internal error: schema: $ref: '#/components/schemas/ErrorReason' example: code: INTERNAL_PROCESSING_ERROR message: An internal error occurred while processing. application/json: schema: $ref: '#/components/schemas/ErrorReason' example: code: PAYEE_NOT_FOUND message: string ReferenceId already in use: schema: $ref: '#/components/schemas/ErrorReason' examples: default: value: /token/: post: summary: CreateAccessToken description: This operation is used to create an access token which can then be used to authorize and authenticate towards the other end-points of the API. operationId: CreateAccessToken parameters: - name: Authorization in: header description: Basic authentication header containing API user ID and API key. Should be sent in as B64 encoded. required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/TokenPost200ApplicationJsonResponse' example: access_token: string token_type: string expires_in: 0 '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/TokenPost401ApplicationJsonResponse' example: error: string '500': description: Error content: application/json: { } '/v1_0/requesttopay/{referenceId}': get: summary: RequesttoPayTransactionStatus description: This operation is used to get the status of a request to pay. X-Reference-Id that was passed in the post is used as reference to the request. operationId: RequesttoPayTransactionStatus parameters: - name: referenceId in: path description: UUID of transaction to get result. Reference id used when creating the request to pay. required: true schema: enum: - '1090909' type: string - name: Authorization in: header description: Authorization header used for Basic authentication and oauth. Format of the header parameter follows the standard for Basic and Bearer. Oauth uses Bearer authentication type where the credential is the received access token. schema: type: string - name: X-Target-Environment in: header description: The identifier of the EWP system where the transaction shall be processed. This parameter is used to route the request to the EWP system that will initiate the transaction. required: true schema: type: string responses: '200': description: OK. Note that a failed request to pay will be returned with this status too. The 'status' of the RequestToPayResult can be used to determine the outcome of the request. The 'reason' field can be used to retrieve a cause in case of failure. content: Successful request to pay: schema: $ref: '#/components/schemas/RequestToPayResult' example: amount: 100 currency: UGX financialTransactionId: 23503452 externalId: 947354 payer: partyIdType: MSISDN partyId: 4656473839 status: SUCCESSFUL Payer not found: schema: $ref: '#/components/schemas/RequestToPayResult' example: amount: 100 currency: UGX externalId: 947354 payer: partyIdType: MSISDN partyId: 4656473839 status: FAILED reason: code: PAYER_NOT_FOUND message: Payee does not exist application/json: schema: $ref: '#/components/schemas/RequestToPayResult' example: amount: string currency: string financialTransactionId: string externalId: string payer: partyIdType: MSISDN partyId: string payerMessage: string payeeNote: string status: PENDING reason: code: PAYEE_NOT_FOUND message: string Request to pay not found: schema: $ref: '#/components/schemas/RequestToPayResult' examples: default: value: Unspecified internal error: schema: $ref: '#/components/schemas/RequestToPayResult' examples: default: value: '400': description: 'Bad request, e.g. an incorrectly formatted reference id was provided.' content: Successful request to pay: { } Payer not found: { } application/json: { } Request to pay not found: { } Unspecified internal error: { } '404': description: Resource not found. content: Request to pay not found: schema: $ref: '#/components/schemas/ErrorReason' example: code: RESOURCE_NOT_FOUND message: Requested resource was not found. Successful request to pay: schema: $ref: '#/components/schemas/ErrorReason' examples: default: value: Payer not found: schema: $ref: '#/components/schemas/ErrorReason' examples: default: value: application/json: schema: $ref: '#/components/schemas/ErrorReason' example: code: PAYEE_NOT_FOUND message: string Unspecified internal error: schema: $ref: '#/components/schemas/ErrorReason' examples: default: value: '500': description: 'Internal Error. Note that if the retrieved request to pay has failed, it will not cause this status to be returned. This status is only returned if the GET request itself fails.' content: Unspecified internal error: schema: $ref: '#/components/schemas/ErrorReason' example: code: INTERNAL_PROCESSING_ERROR message: An internal error occurred while processing. Successful request to pay: schema: $ref: '#/components/schemas/ErrorReason' examples: default: value: Payer not found: schema: $ref: '#/components/schemas/ErrorReason' examples: default: value: application/json: schema: $ref: '#/components/schemas/ErrorReason' example: code: PAYEE_NOT_FOUND message: string Request to pay not found: schema: $ref: '#/components/schemas/ErrorReason' examples: default: value: '/v1_0/accountholder/msisdn/{accountHolderMSISDN}/basicuserinfo': get: summary: GetBasicUserinfo description: This operation returns personal information of the account holder. The operation does not need any consent by the account holder. operationId: basicuserInfo-GET parameters: - name: accountHolderMSISDN in: path description: Authorization header used for Basic authentication and oauth. Format of the header parameter follows the standard for Basic and Bearer. Oauth uses Bearer authentication type where the credential is the received access token. required: true schema: type: string - name: Authorization in: header description: Authorization header used for Basic authentication and oauth. Format of the header parameter follows the standard for Basic and Bearer. Oauth uses Bearer authentication type where the credential is the received access token. required: true schema: type: string - name: X-Target-Environment in: header description: The identifier of the EWP system where the transaction shall be processed. This parameter is used to route the request to the EWP system that will initiate the transaction. required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/BasicUserInfoJsonResponse' example: given_name: string family_name: string birthdate: string locale: string gender: string status: string '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/TokenPost401ApplicationJsonResponse' example: error: string '500': description: Error content: application/json: { } components: schemas: BasicUserInfoJsonResponse: type: object properties: given_name: type: string description: 'Given name(s) or first name(s) of the End-User. Note that in some cultures, people can have multiple given names; all can be present, with the names being separated by space characters.' family_name: type: string description: 'Surname(s) or last name(s) of the End-User. Note that in some cultures, people can have multiple family names or no family name; all can be present, with the names being separated by space characters.' birthdate: type: string description: Account holder birth date. locale: type: string description: 'End-User''s locale, represented as a BCP47 [RFC5646] language tag. This is typically an ISO 639-1 Alpha-2 [ISO639�|�1] language code in lowercase and an ISO 3166-1 Alpha-2 [ISO3166�|�1] country code in uppercase, separated by a dash. For example, en-US or fr-CA. As a compatibility note, some implementations have used an underscore as the separator rather than a dash, for example, en_US; Relying Parties may choose to accept this locale syntax as well.' gender: type: string description: End-User's gender. Values defined by this specification are female and male. Other values may be used when neither of the defined values are applicable. status: type: string description: Accountholder status. bcauthorize: type: object properties: scope: type: string description: Space separated list of scopes. login_hint: type: string description: The identity of the account holder. access_type: enum: - online - offline type: string description: 'Value either online, or offline.' consent_valid_in: type: integer description: The validity time of the consent in secondsThis parameter can only be used together with access type offline. client_notification_token: type: string description: This token is required when the client is using Ping or Push mode. scope_instruction: type: string description: Base64 encoded Instrcution of the financial transaction. bcauthorizeResponse: type: object properties: auth_req_id: type: string description: Authentication request ID as an UUID. interval: type: number description: Indicates how long time the client should wait between retries towards the endpoint /oauth2/token. expires_in: type: number description: 'Shows when the authentication request ID expires, in seconds.' TokenPost200ApplicationJsonResponse: type: object properties: access_token: type: string description: A JWT token which can be used to authrize against the other API end-points. The format of the token follows the JWT standard format (see jwt.io for an example). This is the token that should be sent in in the Authorization header when calling the other API end-points. token_type: type: string description: The token type. expires_in: type: integer description: The validity time in seconds of the token. oauth2TokenRequest: type: object properties: grant_type: type: string description: Value can be either "urn:openid:params:grant-type:ciba" or "refresh_token" auth_req_id: type: string description: Authentication request ID.Value is only mandatory if grant_type is "urn:openid:params:grant-type:ciba" refresh_token: type: string description: UUID.Refresh token retrieved from oauth2 token endpoint for consents with grant_type offline. This parameter is only valid if grant_type is refresh_token. oauth2TokenResponse: type: object properties: access_token: type: string description: Oauth2 JWT access token.The generated token is valid 3600 seconds as default. token_type: type: string description: Value is Bearer expires_in: type: number description: 'Shows when the authentication request ID expires, in seconds.' scope: type: string description: List of scopes that belongs to the authentication request ID. refresh_token: type: string description: UUID of the refresh_token refresh_token_expired_in: type: integer description: 'The time in seconds until the consent can no longer be refreshed. Based on the default value for consent validity, or the value set to parameter consent_valid_in sent in the bc-authorize request.' consentkycResponse: type: object properties: sub: type: string description: Subject - Identifier for the End-User at the Issuer. name: type: string description: End-User's full name in displayable form including all name parts. given_name: type: string description: Given name(s) or first name(s) of the End-User. family_name: type: string description: Surname(s) or last name(s) of the End-User. middle_name: type: string description: Middle name(s) of the End-User. email: type: string description: 'End-User''s preferred e-mail address. Its value MUST conform to the RFC 5322 [RFC5322] address specification syntax.' email_verified: type: boolean description: The response value is True if the End-User's e-mail address has been verified;otherwise false. gender: type: string description: End-User's gender. locale: type: string description: Preffered language. phone_number: type: string description: End-User's preferred telephone number phone_number_verified: type: boolean description: The response value is True if the End-User's phone number has been verified; otherwise false. address: type: string description: User Address updated_at: type: number description: The time the End-User's information was last updated. status: type: string description: Account holder status. birthdate: type: string description: The birth date of the account holder. credit_score: type: string description: The credit score of the account holder. active: type: boolean description: The status of the account holder. country_of_birth: type: string description: Account holder country of birth. region_of_birth: type: string description: The birth region of the account holder. city_of_birth: type: string description: The city of birth for the account holder. occupation: type: string description: Occupation of the account holder. employer_name: type: string description: The name of the employer. identification_type: type: string description: Type of identification.The first non-expired identification is always chosen. identification_value: type: string description: The value of the identification. address: type: object properties: formatted: type: string description: 'Full mailing address, formatted for display or use on a mailing label. This field may contain multiple lines, separated by newlines.' street_address: type: string description: 'Full street address component, which may include house number, street name, Post Office Box, and multi-line extended street address information.' locality: type: string description: City or locality component. region: type: string description: 'State, province, prefecture, or region component.' postal_code: type: string description: Zip code or postal code component. country: type: string description: Country name component. TokenPost401ApplicationJsonResponse: type: object properties: error: type: string description: An error code. Balance: type: object properties: availableBalance: type: string description: The available balance of the account currency: type: string description: ISO4217 Currency description: The available balance of the account Party: type: object properties: partyIdType: enum: - MSISDN - EMAIL - PARTY_CODE type: string partyId: type: string description: 'Party identifies a account holder in the wallet platform. Party consists of two parameters, type and partyId. Each type have its own validation of the partyId
MSISDN - Mobile Number validated according to ITU-T E.164. Validated with IsMSISDN
EMAIL - Validated to be a valid e-mail format. Validated with IsEmail
PARTY_CODE - UUID of the party. Validated with IsUuid' PreApproval: type: object properties: payer: $ref: '#/components/schemas/Party' payerCurrency: type: string description: ISO4217 Currency payerMessage: type: string description: The mesage that is shown to the approver. validityTime: type: integer description: The request validity time of the pre-approval PreApprovalResult: type: object properties: payer: $ref: '#/components/schemas/Party' payerCurrency: type: string description: ISO4217 Currency payerMessage: type: string description: The mesage that is shown to the approver. status: enum: - PENDING - SUCCESSFUL - FAILED type: string expirationDateTime: type: integer description: 'The expiry date +time of the preapproval, in YYYY-MM-DDTHH:mm:SS format' reason: $ref: '#/components/schemas/ErrorReason' RequestToPay: type: object properties: amount: type: string description: Amount that will be debited from the payer account. currency: type: string description: ISO4217 Currency externalId: type: string description: External id is used as a reference to the transaction. External id is used for reconciliation. The external id will be included in transaction history report.
External id is not required to be unique. payer: $ref: '#/components/schemas/Party' payerMessage: type: string description: Message that will be written in the payer transaction history message field. payeeNote: type: string description: Message that will be written in the payee transaction history note field. RequestToPayResult: type: object properties: amount: type: string description: Amount that will be debited from the payer account. currency: type: string description: ISO4217 Currency financialTransactionId: type: string description: Financial transactionIdd from mobile money manager.
Used to connect to the specific financial transaction made in the account externalId: type: string description: External id provided in the creation of the requestToPay transaction. payer: $ref: '#/components/schemas/Party' payerMessage: type: string description: Message that will be written in the payer transaction history message field. payeeNote: type: string description: Message that will be written in the payee transaction history note field. status: enum: - PENDING - SUCCESSFUL - FAILED type: string reason: $ref: '#/components/schemas/ErrorReason' Transfer: type: object properties: amount: type: string description: Amount that will be debited from the payer account. currency: type: string description: ISO4217 Currency externalId: type: string description: External id is used as a reference to the transaction. External id is used for reconciliation. The external id will be included in transaction history report.
External id is not required to be unique. payee: $ref: '#/components/schemas/Party' payerMessage: type: string description: Message that will be written in the payer transaction history message field. payeeNote: type: string description: Message that will be written in the payee transaction history note field. TransferResult: type: object properties: amount: type: string description: Amount that will be debited from the payer account. currency: type: string description: ISO4217 Currency financialTransactionId: type: string description: Financial transactionIdd from mobile money manager.
Used to connect to the specific financial transaction made in the account externalId: type: string description: External id is used as a reference to the transaction. External id is used for reconciliation. The external id will be included in transaction history report.
External id is not required to be unique. payee: $ref: '#/components/schemas/Party' payerMessage: type: string description: Message that will be written in the payer transaction history message field. payeeNote: type: string description: Message that will be written in the payee transaction history note field. status: enum: - PENDING - SUCCESSFUL - FAILED type: string reason: $ref: '#/components/schemas/ErrorReason' deliverynotification: type: object properties: notificationMessage: type: string CreateInvoice: type: object properties: externalId: type: string description: External id is used as a reference to the transaction. External id is used for reconciliation. The external id will be included in transaction history report.
External id is not required to be unique. amount: type: string description: Amount that will be debited from the payer account. currency: type: string description: ISO4217 Currency validityDuration: type: string description: ValidityTime - The duration that the invoice is valid in seconds. intendedPayer: $ref: '#/components/schemas/Party' description: type: string description: Message that will be written in the payer transaction history message field. InvoiceResult: type: object properties: referenceId: type: string description: The reference id for this invoice. externalId: type: string description: An external transaction id to tie to the payment. amount: type: string description: A positive amount for this invoice. currency: type: string description: ISO4217 Currency - The currency used in this invoice. status: enum: - CREATED - PENDING - SUCCESSFUL - FAILED type: string paymentReference: type: string description: A unique id that identifies a pending invoice. invoiceId: type: string description: An id for the invoice. expiryDateTime: type: string description: 'DateTime for when invoice expires, in YYYY-MM-DD:THH:mm:ss format.' payeeFirstName: type: string description: First name of the payee in this invoice. payeeLastName: type: string description: Surname of the payee in this invoice errorReason: $ref: '#/components/schemas/ErrorReason' intendedPayer: $ref: '#/components/schemas/Party' description: type: string description: An optional description of the invoice. VoucherUser: type: object properties: firstName: type: string description: First name of the voucher user. surname: type: string description: Surname of the voucher user. birthDate: type: string description: Birth date of the voucher user. identificationType: enum: - PASS - CPFA - SRSA - NRIN - OTHR - DRLC - SOCS - AREG - IDCD - EMID type: string description: Identification type for the voucher user. identification: type: string description: A numeric string to identify the voucher user. msisdn: type: string description: 'Msisdn of the voucher user. Needs to be set if alias, email, username nor externalId is set.' alias: type: string description: 'Alias of the voucher user. Needs to be set if msisdn, email, username nor externalId is set.' email: type: string description: 'Email of the voucher user. Needs to be set if msisdn, alias, username nor externalId is set.' username: type: string description: 'Username of the voucher user. Needs to be set if msisdn, alias, email nor externalId is set.' externalId: type: string description: 'ExternalId of the voucher user. Needs to be set if msisdn, alias, email nor username is set.' languageCode: type: string description: Language code of the voucher user. CreateVoucher: type: object properties: externalId: type: string description: An external transaction id to tie to the voucher. receiver: $ref: '#/components/schemas/VoucherUser' money: type: string description: Amount to be payed with a specified currency. secret: type: string description: The secret (case insensitive) needed to redeem the voucher. message: type: string description: An optional description of the voucher. VoucherStatus: type: object properties: referenceId: type: string description: The reference id for this voucher. status: enum: - CREATED - PENDING - SUCCESSFUL - FAILED type: string financialTransactionId: type: string description: A transaction id associated with this voucher. reason: $ref: '#/components/schemas/ErrorReason' VoucherOTP: type: object properties: type: type: string description: The type the one time password will represent REDEEM or CANCEL msisdn: type: string description: For the actual redeemer in case it differs from the intended redeemer.is validated using IsMSISDN VoucherDelete: type: object properties: token: type: string description: Token of the voucher. reason: $ref: '#/components/schemas/ErrorReason' sender: $ref: '#/components/schemas/Party' otp: type: string description: The one time password (case insensitive) needed to cancel the voucher. secret: type: string description: The secret (case insensitive) needed to cancel the voucher. VoucherRedeem: type: object properties: externalId: type: string description: An external transaction id to tie to the voucher. receiver: $ref: '#/components/schemas/VoucherUser' otp: type: string description: The one time password (case insensitive) needed to redeem the voucher. secret: type: string description: The secret (case insensitive) needed to redeem the voucher. ErrorReason: type: object properties: code: enum: - PAYEE_NOT_FOUND - PAYER_NOT_FOUND - NOT_ALLOWED - NOT_ALLOWED_TARGET_ENVIRONMENT - INVALID_CALLBACK_URL_HOST - INVALID_CURRENCY - SERVICE_UNAVAILABLE - INTERNAL_PROCESSING_ERROR - NOT_ENOUGH_FUNDS - PAYER_LIMIT_REACHED - PAYEE_NOT_ALLOWED_TO_RECEIVE - PAYMENT_NOT_APPROVED - RESOURCE_NOT_FOUND - APPROVAL_REJECTED - EXPIRED - TRANSACTION_CANCELED. - RESOURCE_ALREADY_EXIST - TRANSACTION_NOT_COMPLETED - TRANSACTION_NOT_FOUND - INFORMATIONAL_SCOPE_INSTRUCTION - MISSING_SCOPE_INSTRUCTION - MORE_THAN_ONE_FINANCIAL_SCOPE_NOT_SUPPORTED - UNSUPPORTED_SCOPE_COMBINATION - CONSENT_MISMATCH - UNSUPPORTED_SCOPE - NOT_FOUND type: string message: type: string BooleanResult: type: object properties: result: type: boolean securitySchemes: apiKeyHeader: type: apiKey name: Ocp-Apim-Subscription-Key in: header apiKeyQuery: type: apiKey name: subscription-key in: query security: - apiKeyHeader: [ ] - apiKeyQuery: [ ]