openapi: 3.0.1 info: title: Payments v1 description: "This is the Payment API for MADAPI. Handles payment use cases such\ \ as spTransfer, Debit request, Payment request, and related financial transactions.\ \ Provides comprehensive payment processing capabilities including merchant payments,\ \ customer payments, transaction status queries, payment history, and reverse\ \ payment operations." license: name: MADAPI url: https://developers.mtn.com/ version: 3.0.0 servers: - url: https://api.mtn.com/v1 description: Production Server security: - OAuth2: [] tags: - name: Consent - name: Payment paths: /details/{transactionid}: get: tags: - Payment summary: Get payment by transactionId description: "Returns the payment object as saved in the database without the\ \ actual request json. This endpoint retrieves complete payment transaction\ \ details from the database using the transaction identifier. It returns payment\ \ information including transaction status, amounts, timestamps, customer\ \ details, and service provider information for transaction lookup and reconciliation\ \ purposes." operationId: Payment_get_getPaymentByTransactionId_detailstransactionid parameters: - name: transactionid in: path required: true schema: type: string responses: "200": description: "Payment details retrieved successfully. Returns complete payment\ \ transaction information including transaction status, amounts, timestamps,\ \ customer details, and service provider data." content: application/json: schema: $ref: '#/components/schemas/com_mtn_madapi_commons_models_response_APIResponse' "404": description: Payment not found. No payment record exists for the provided transaction ID. content: application/json: schema: $ref: '#/components/schemas/com_mtn_madapi_commons_models_error_APIError' "500": description: "Internal server error. Database connection failure, payment\ \ retrieval error, or system exception during payment details lookup." content: application/json: schema: $ref: '#/components/schemas/com_mtn_madapi_commons_models_error_APIError' "400": description: "Bad request. Invalid request parameters, missing required\ \ fields, or validation errors." content: application/json: schema: $ref: '#/components/schemas/APIError' "401": description: "Unauthorized. Invalid or missing authorization credentials,\ \ insufficient permissions, or authentication failure." content: application/json: schema: $ref: '#/components/schemas/APIError' "403": description: Forbidden. Access denied. The request is valid but the server refuses to perform it. content: application/json: schema: $ref: '#/components/schemas/APIError' "502": description: Bad gateway. The server acting as a gateway received an invalid response from an upstream server. content: application/json: schema: $ref: '#/components/schemas/APIError' "503": description: Service unavailable. The server is temporarily unable to handle the request due to maintenance or overload. content: application/json: schema: $ref: '#/components/schemas/APIError' deprecated: false /fee: post: tags: - Payment summary: Calculate payment transfer fees description: "Provides the ability for a consumer to check a payment transfer\ \ fee charged by service providers. This endpoint calculates and returns the\ \ applicable fees for payment transactions based on transaction amount, payment\ \ type, service provider, and customer tier. It supports fee estimation for\ \ various payment scenarios including merchant payments, peer-to-peer transfers,\ \ and service provider transactions with detailed fee breakdown information." operationId: Payment_post_feeCheck_fee parameters: - name: authorizationData in: header required: false schema: type: string - name: autoRenew in: header required: false schema: type: string - name: countryCode in: header required: true schema: type: string - name: transactionId in: header required: true schema: type: string requestBody: content: application/json: schema: title: PaymentRequest type: object properties: IdType: type: string correlatorId: type: string transactionId: type: string paymentDate: type: string name: type: string callingSystem: type: string transactionType: type: string transferType: type: string targetSystem: type: string callbackURL: type: string redirectURL: type: string quoteId: type: string channel: type: string description: type: string authorizationCode: type: string externalTransactionId: type: string frequency: title: Frequency type: object properties: duration: type: string frequencyType: title: FrequencyType type: object properties: type: type: string durationType: title: DurationType type: object properties: type: type: string singular: type: string plural: type: string amount: title: MoneyType type: object properties: amount: type: string units: type: string taxAmount: title: TaxMoneyType type: object properties: taxId: type: string amount: type: string units: type: string totalAmount: $ref: '#/components/schemas/com_mtn_aggregator_models_payment_MoneyType' payer: title: Payer type: object properties: payerIdType: type: string payerId: type: string payerNote: type: string payerRef: type: string payerSurname: type: string payerName: type: string includePayerCharges: type: boolean payee: type: array items: title: Payee type: object properties: amount: $ref: '#/components/schemas/com_mtn_aggregator_models_payment_MoneyType' taxAmount: $ref: '#/components/schemas/com_mtn_aggregator_models_payment_MoneyType' totalAmount: $ref: '#/components/schemas/com_mtn_aggregator_models_payment_MoneyType' payeeIdType: type: string payeeId: type: string payeeNote: type: string payeeName: type: string paymentMethod: title: PaymentMethod type: object properties: name: type: string description: type: string validFrom: type: string validTo: type: string type: title: PaymentMethodType type: object properties: value: type: string details: title: PaymentMethodTypeDetails type: object properties: bankCard: title: BankCard type: object properties: brand: type: string type: type: string cardNumber: type: string expirationDate: type: string cvv: type: string lastFourDigits: type: string nameOnCard: type: string bank: type: string pin: type: string tokenizedCard: title: TokenizedCard type: object properties: brand: type: string type: type: string lastFourDigits: type: string tokenType: type: string token: type: string issuer: type: string bankAccountDebit: title: BankAccountDebit type: object properties: accountNumber: type: string accountNumberType: type: string BIC: type: string owner: type: string bank: type: string bankAccountTransfer: title: BankAccountTransfer type: object properties: accountNumber: type: string accountNumberType: type: string BIC: type: string owner: type: string bank: type: string account: title: Account type: object properties: id: type: string name: type: string description: type: string loyaltyAccount: $ref: '#/components/schemas/com_mtn_aggregator_models_payment_Account' bucket: $ref: '#/components/schemas/com_mtn_aggregator_models_payment_Account' voucher: title: Voucher type: object properties: code: type: string description: type: string value: type: string expirationDate: type: string campaign: type: string digitalWallet: title: DigitalWallet type: object properties: service: type: string walletId: type: string walletUri: type: string invoice: title: Invoice type: object properties: id: type: string type: type: string frequency: type: string startDate: type: string endDate: type: string retryOnFail: type: boolean deactivateOnFail: type: boolean callbackUrl: type: string retryRun: type: string retryFrequency: type: string status: type: string statusDate: type: string countryCode: type: string segment: type: string additionalInformation: type: array items: title: AdditionalInformation type: object properties: name: type: string description: type: string authenticationType: type: string deliveryMethod: type: string paymentmethods: type: array items: type: string itemDetails: type: array items: title: ItemDetail type: object properties: itemName: type: string itemDescription: type: string itemValue: type: string currency: type: string quantity: type: string additionalInformation: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_payment_AdditionalInformation' extension: title: Extension type: object properties: bundleCode: type: string bundleInput: type: string serviceGroupCode: type: string iname: type: string awufu: type: string lineNumber: type: string rechargeType: type: string networkOperator: type: string channel: type: string communicationChannel: type: string language: type: string additionalInformation1: type: string additionalInformation2: type: string receivingCustomerId: type: string amountUnit: type: string notification: type: string benmsisdn: type: string transactionId: type: string includePayerCharges: type: string prefLang: type: string merchantId: type: string partnerId: type: string siteId: type: string referenceid: type: string coupon: type: string scheduled: title: Scheduledtransactiondate type: object properties: date: type: string frequency: $ref: '#/components/schemas/com_mtn_aggregator_models_payment_Frequency' required: true responses: "200": description: "Fee calculation completed successfully. Returns detailed fee\ \ information including transaction fees, service charges, and total cost\ \ breakdown." content: application/json: schema: title: APIResponse type: object properties: statusCode: type: string customerId: type: string error: $ref: '#/components/schemas/com_mtn_madapi_commons_models_error_APIError' data: type: string statusMessage: type: string supportMessage: type: string transactionId: type: string timeStamp: type: string path: type: string method: type: string sequenceNo: type: string "400": description: "Bad request. Invalid payment request parameters, missing required\ \ fields, or validation errors in fee calculation request." content: application/json: schema: $ref: '#/components/schemas/com_mtn_madapi_commons_models_error_APIError' "500": description: "Internal server error. Fee calculation service error, database\ \ connection failure, or system exception during fee processing." content: application/json: schema: $ref: '#/components/schemas/com_mtn_madapi_commons_models_error_APIError' "401": description: "Unauthorized. Invalid or missing authorization credentials,\ \ insufficient permissions, or authentication failure." content: application/json: schema: $ref: '#/components/schemas/APIError' "403": description: Forbidden. Access denied. The request is valid but the server refuses to perform it. content: application/json: schema: $ref: '#/components/schemas/APIError' "404": description: Not found. The requested resource was not found or does not exist. content: application/json: schema: $ref: '#/components/schemas/APIError' "502": description: Bad gateway. The server acting as a gateway received an invalid response from an upstream server. content: application/json: schema: $ref: '#/components/schemas/APIError' "503": description: Service unavailable. The server is temporarily unable to handle the request due to maintenance or overload. content: application/json: schema: $ref: '#/components/schemas/APIError' deprecated: false /merchant-payment: post: tags: - Payment summary: Process merchant payment transactions description: "Processes payment transactions for merchant services including\ \ validation of merchant payment requests, authorization checks, balance verification,\ \ and transaction execution. This endpoint supports various merchant payment\ \ types including direct merchant payments, service provider transfers, and\ \ merchant refunds with comprehensive error handling, transaction status reporting,\ \ and audit trail maintenance. Handles complex merchant payment workflows\ \ including multi-currency support, fee calculations, and settlement processing." operationId: Payment_post_merchantPayment_merchantpayment parameters: - name: authorizationData in: header required: false schema: type: string - name: operationType in: query required: true schema: type: string - name: transactionId in: header required: false schema: type: string - name: x-country-code in: header required: false schema: type: string requestBody: content: application/json: schema: title: MerchantPaymentRequest type: object properties: callingSystem: type: string targetSystem: type: string sendingFri: title: MerchantFriValue type: object properties: friValue: type: string friIdentityType: type: string receivingFri: $ref: '#/components/schemas/com_mtn_aggregator_models_merchantpayment_MerchantFriValue' amount: title: MoneyDetailsType type: object properties: amount: type: string currency: type: string senderNote: type: string receiverMessage: type: string quote: type: string coupon: title: Coupon type: object properties: coupon: type: string requestReferenceId: title: RequestReferenceId type: object properties: id: type: string provider: type: string extension: type: string required: true responses: "200": description: "Merchant payment processed successfully. Returns comprehensive\ \ payment response including transaction ID, payment status, merchant\ \ details, amount processed, and confirmation details with support for\ \ various payment methods and currencies." content: application/json: schema: $ref: '#/components/schemas/com_mtn_madapi_commons_models_response_APIResponse' "400": description: "Bad request. Invalid merchant payment request parameters,\ \ missing required fields, or validation errors in payment details, merchant\ \ information, or transaction data." content: application/json: schema: $ref: '#/components/schemas/com_mtn_madapi_commons_models_error_APIError' "401": description: "Unauthorized. Invalid or missing authorization credentials,\ \ insufficient permissions for merchant payment processing, or authentication\ \ failure." content: application/json: schema: $ref: '#/components/schemas/com_mtn_madapi_commons_models_error_APIError' "500": description: "Internal server error. Unexpected system failure during merchant\ \ payment processing, database connectivity issues, or external service\ \ integration problems." content: application/json: schema: $ref: '#/components/schemas/com_mtn_madapi_commons_models_error_APIError' "403": description: Forbidden. Access denied. The request is valid but the server refuses to perform it. content: application/json: schema: $ref: '#/components/schemas/APIError' "404": description: Not found. The requested resource was not found or does not exist. content: application/json: schema: $ref: '#/components/schemas/APIError' "502": description: Bad gateway. The server acting as a gateway received an invalid response from an upstream server. content: application/json: schema: $ref: '#/components/schemas/APIError' "503": description: Service unavailable. The server is temporarily unable to handle the request due to maintenance or overload. content: application/json: schema: $ref: '#/components/schemas/APIError' deprecated: false /payment-agreement: post: tags: - Payment summary: Generate payment agreement (Promise to Pay) description: "Provides the ability for a consumer to generate a payment agreement\ \ (Promise to Pay). This endpoint allows customers to set up payment promise\ \ agreements with service providers, enabling deferred payment arrangements\ \ and payment scheduling functionality. It handles the creation of payment\ \ agreements with appropriate validation, terms and conditions, and integration\ \ with payment processing systems." operationId: Payment_post_setPaymentPromise_paymentagreement parameters: - name: transactionId in: header required: false schema: type: string requestBody: content: application/json: schema: title: PromiseToPayRequest type: object properties: billingAccountNo: type: string promiseOpenDate: type: string promiseAmount: type: string numberOfInstallments: type: integer format: int32 durationUOM: type: string promiseThreshold: type: string required: true responses: "200": description: "Payment agreement created successfully. Returns confirmation\ \ of payment promise setup with agreement details, terms, and reference\ \ information." content: application/json: schema: type: string "400": description: "Bad request. Invalid payment promise request parameters, missing\ \ required fields, or validation errors in payment agreement request." content: application/json: schema: $ref: '#/components/schemas/com_mtn_madapi_commons_models_error_APIError' "500": description: "Internal server error. Payment agreement service error, database\ \ connection failure, or system exception during payment promise processing." content: application/json: schema: $ref: '#/components/schemas/com_mtn_madapi_commons_models_error_APIError' "401": description: "Unauthorized. Invalid or missing authorization credentials,\ \ insufficient permissions, or authentication failure." content: application/json: schema: $ref: '#/components/schemas/APIError' "403": description: Forbidden. Access denied. The request is valid but the server refuses to perform it. content: application/json: schema: $ref: '#/components/schemas/APIError' "404": description: Not found. The requested resource was not found or does not exist. content: application/json: schema: $ref: '#/components/schemas/APIError' "502": description: Bad gateway. The server acting as a gateway received an invalid response from an upstream server. content: application/json: schema: $ref: '#/components/schemas/APIError' "503": description: Service unavailable. The server is temporarily unable to handle the request due to maintenance or overload. content: application/json: schema: $ref: '#/components/schemas/APIError' deprecated: false /payment-agreement/eligibility: get: tags: - Payment summary: Get eligibilty status. description: "Provides the ability for a consumer to check the eligibility status\ \ for payment agreement. This endpoint evaluates customer eligibility for\ \ payment agreement services including promise-to-pay agreements and payment\ \ plans. It performs eligibility checks based on customer account status,\ \ payment history, creditworthiness, billing account information, and service\ \ provider requirements, returning detailed eligibility assessment results." operationId: Payment_get_aggregateGetEligibilty_paymentagreementelig parameters: - name: billingAccountNumber in: query required: true schema: type: string - name: transactionId in: header required: false schema: type: string responses: "200": description: Success content: application/json: schema: title: PaymentPromiseResponseEligibilty type: object properties: statusCode: type: string statusMessage: type: string supportMessage: type: string transactionId: type: string data: title: Data type: object properties: PromiseToPayEligibilityDetails: title: PromiseToPayEligibilityDetails type: object properties: eligibilityStatus: type: string accountBalance: type: string minimumAmount: type: string paymentStartDate: type: string _links: title: Links type: object properties: self: title: Self type: object properties: href: type: string timestamp: type: string path: type: string method: type: string "400": description: "Bad request. Invalid request parameters, missing required\ \ fields, or validation errors." content: application/json: schema: $ref: '#/components/schemas/APIError' "401": description: "Unauthorized. Invalid or missing authorization credentials,\ \ insufficient permissions, or authentication failure." content: application/json: schema: $ref: '#/components/schemas/APIError' "403": description: Forbidden. Access denied. The request is valid but the server refuses to perform it. content: application/json: schema: $ref: '#/components/schemas/APIError' "404": description: Not found. The requested resource was not found or does not exist. content: application/json: schema: $ref: '#/components/schemas/APIError' "500": description: "Internal server error. Unexpected system failure, database\ \ connectivity issues, or external service integration problems." content: application/json: schema: $ref: '#/components/schemas/APIError' "502": description: Bad gateway. The server acting as a gateway received an invalid response from an upstream server. content: application/json: schema: $ref: '#/components/schemas/APIError' "503": description: Service unavailable. The server is temporarily unable to handle the request due to maintenance or overload. content: application/json: schema: $ref: '#/components/schemas/APIError' deprecated: false /payment-link: post: tags: - Payment summary: Provides the ability for a consumer to generate a payment link for account payment description: Provides the ability for a consumer to get the payment link for the requesting MSISDN so as to enable the customer to make payment to the service providers. operationId: Payment_post_generatePaymentLink_paymentlink parameters: - name: countryCode in: header required: false schema: type: string - name: offerMenuId in: query required: false schema: type: string - name: targetSystem in: header required: false schema: type: string - name: transactionId in: header required: false schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/com_mtn_aggregator_models_request_PaymentRequest' required: true responses: "200": description: "Payment link generated successfully. Returns payment link\ \ details including URL, expiration time, and payment configuration." content: application/json: schema: type: string "400": description: "Bad request. Invalid MSISDN, missing required parameters,\ \ or malformed payment request." content: application/json: schema: $ref: '#/components/schemas/com_mtn_madapi_commons_models_error_APIError' "500": description: "Internal server error. Payment link generation failure, system\ \ error, or service unavailable." content: application/json: schema: $ref: '#/components/schemas/com_mtn_madapi_commons_models_error_APIError' "401": description: "Unauthorized. Invalid or missing authorization credentials,\ \ insufficient permissions, or authentication failure." content: application/json: schema: $ref: '#/components/schemas/APIError' "403": description: Forbidden. Access denied. The request is valid but the server refuses to perform it. content: application/json: schema: $ref: '#/components/schemas/APIError' "404": description: Not found. The requested resource was not found or does not exist. content: application/json: schema: $ref: '#/components/schemas/APIError' "502": description: Bad gateway. The server acting as a gateway received an invalid response from an upstream server. content: application/json: schema: $ref: '#/components/schemas/APIError' "503": description: Service unavailable. The server is temporarily unable to handle the request due to maintenance or overload. content: application/json: schema: $ref: '#/components/schemas/APIError' deprecated: false /payments: post: tags: - Payment summary: Process payment to service providers description: "Provides the ability for a consumer to make a payment to service\ \ providers. This endpoint processes payment transactions including validation\ \ of payment requests, authorization checks, balance verification, and transaction\ \ execution. It supports various payment types including direct payments,\ \ merchant payments, and service provider transfers with comprehensive error\ \ handling and transaction status reporting." operationId: Payment_post_payment parameters: - name: authorizationData in: header required: false schema: type: string - name: autoRenew in: header required: false schema: type: string - name: channelId in: header required: false schema: type: string - name: countryCode in: header required: true schema: type: string - name: ewpCredentials in: header required: false schema: type: string - name: prefLang in: query required: false schema: type: string - name: spPartnerName in: header required: false schema: type: string - name: transactionId in: header required: false schema: type: string - name: x-origin-channelid in: header required: false schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/com_mtn_aggregator_models_request_PaymentRequest' required: true responses: "200": description: "Payment processed successfully. Returns comprehensive reversal\ \ response including transaction ID, reversal status, and confirmation\ \ details." content: application/json: schema: $ref: '#/components/schemas/com_mtn_madapi_commons_models_response_APIResponse' "400": description: "Bad request. Invalid reversal request parameters, missing\ \ required fields, or validation errors." content: application/json: schema: $ref: '#/components/schemas/com_mtn_madapi_commons_models_error_APIError' "404": description: Original payment not found. No transaction exists for the provided transaction ID or payment reference. content: application/json: schema: $ref: '#/components/schemas/com_mtn_madapi_commons_models_error_APIError' "500": description: "Internal server error. Payment reversal service error, database\ \ connection failure, or system exception during reversal processing." content: application/json: schema: $ref: '#/components/schemas/com_mtn_madapi_commons_models_error_APIError' "401": description: "Unauthorized. Invalid or missing authorization credentials,\ \ insufficient permissions, or authentication failure." content: application/json: schema: $ref: '#/components/schemas/APIError' "403": description: Forbidden. Access denied. The request is valid but the server refuses to perform it. content: application/json: schema: $ref: '#/components/schemas/APIError' "502": description: Bad gateway. The server acting as a gateway received an invalid response from an upstream server. content: application/json: schema: $ref: '#/components/schemas/APIError' "503": description: Service unavailable. The server is temporarily unable to handle the request due to maintenance or overload. content: application/json: schema: $ref: '#/components/schemas/APIError' deprecated: false /payments/sms/consent: post: tags: - Consent summary: User consent via SMS description: "Receives user consent for a payment request via sms. This endpoint\ \ processes consent confirmation received through SMS channels for payment\ \ transactions. It validates consent requests, updates consent status, triggers\ \ payment processing workflows, and maintains consent audit trails. Supports\ \ various consent types including payment authorization, service subscription\ \ consent, and data processing consent with comprehensive validation and security\ \ checks." operationId: Consent_post_receiveUserConsentFromSms_paymentssmsconsent requestBody: content: application/json: schema: title: SmsInboundRequest type: object properties: statusCode: type: string statusMessage: type: string transactionID: type: string data: title: SmsInboundRequestData type: object properties: numberOfMessagesInThisBatch: type: string totalNumberOfPendingMessages: type: string inboundSMSMessage: type: array items: title: SmsInboundMessage type: object properties: dateTime: type: string registrationID: type: string message: type: string senderAddress: type: string messageID: type: string required: true responses: "200": description: Consent processed successfully content: application/json: schema: title: SmsInboundResponse type: object properties: statusCode: type: string statusMessage: type: string data: title: SmsInboundResponseData type: object properties: numberOfMessagesInThisBatch: type: string totalNumberOfPendingMessages: type: string inboundSMSMessage: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_messaging_sms_SmsInboundMessage' "400": description: Invalid consent request content: application/json: schema: title: APIError type: object properties: statusMessage: type: string supportMessage: type: string transactionId: type: string timestamp: type: string path: type: string method: type: string statusCode: type: string downstreamStatusCode: type: integer format: int32 sequenceNo: type: string "404": description: Consent record not found content: application/json: schema: $ref: '#/components/schemas/com_mtn_madapi_commons_models_error_APIError' "500": description: Internal server error content: application/json: schema: $ref: '#/components/schemas/com_mtn_madapi_commons_models_error_APIError' "401": description: "Unauthorized. Invalid or missing authorization credentials,\ \ insufficient permissions, or authentication failure." content: application/json: schema: $ref: '#/components/schemas/APIError' "403": description: Forbidden. Access denied. The request is valid but the server refuses to perform it. content: application/json: schema: $ref: '#/components/schemas/APIError' "502": description: Bad gateway. The server acting as a gateway received an invalid response from an upstream server. content: application/json: schema: $ref: '#/components/schemas/APIError' "503": description: Service unavailable. The server is temporarily unable to handle the request due to maintenance or overload. content: application/json: schema: $ref: '#/components/schemas/APIError' deprecated: false /payments/ussd/consent: post: tags: - Consent summary: Process user consent via USSD for payment authorization description: "Receives and processes user consent for payment transactions through\ \ USSD channels. This endpoint handles consent validation, consent status\ \ updates, payment authorization workflows, and maintains comprehensive consent\ \ audit trails. Supports various consent types including payment authorization,\ \ service subscription consent, and data processing consent with robust validation,\ \ security checks, and integration with payment processing systems for seamless\ \ transaction execution." operationId: Consent_post_receiveUserConsentFromUssd_paymentsussdconsent requestBody: content: application/json: schema: title: UssdInboundRequest type: object properties: sessionId: type: string messageType: type: string msisdn: type: string serviceCode: type: string ussdString: type: string cellId: type: string language: type: string imsi: type: string required: true responses: "200": description: "User consent processed successfully. Returns comprehensive\ \ consent response including consent status, transaction ID, user confirmation\ \ details, and next steps for payment processing with support for various\ \ consent scenarios." content: application/json: schema: title: UssdInboundResponse type: object properties: statusCode: type: string statusMessage: type: string transactionId: type: string data: title: UssdInboundResponseData type: object properties: inboundResponse: type: string userInputRequired: type: boolean messageType: type: string msisdn: type: string serviceCode: type: string sessionId: type: string "400": description: "Bad request. Invalid consent request parameters, missing required\ \ fields, validation errors in user input, or malformed USSD consent data." content: application/json: schema: $ref: '#/components/schemas/com_mtn_madapi_commons_models_error_APIError' "404": description: "Not found. Consent record not found for the provided session\ \ ID, expired consent session, or invalid correlator ID." content: application/json: schema: $ref: '#/components/schemas/com_mtn_madapi_commons_models_error_APIError' "500": description: "Internal server error. Unexpected system failure during consent\ \ processing, database connectivity issues, payment service integration\ \ problems, or external service failures." content: application/json: schema: $ref: '#/components/schemas/com_mtn_madapi_commons_models_error_APIError' "401": description: "Unauthorized. Invalid or missing authorization credentials,\ \ insufficient permissions, or authentication failure." content: application/json: schema: $ref: '#/components/schemas/APIError' "403": description: Forbidden. Access denied. The request is valid but the server refuses to perform it. content: application/json: schema: $ref: '#/components/schemas/APIError' "502": description: Bad gateway. The server acting as a gateway received an invalid response from an upstream server. content: application/json: schema: $ref: '#/components/schemas/APIError' "503": description: Service unavailable. The server is temporarily unable to handle the request due to maintenance or overload. content: application/json: schema: $ref: '#/components/schemas/APIError' deprecated: false /reverse-payment: post: tags: - Payment summary: Reverse payment description: "Provides the ability for a consumer to reverse a payment transaction\ \ and all of it's potential sub-transactions. This endpoint processes payment\ \ reversals including validation of reversal requests, authorization checks,\ \ balance verification, and execution of reverse transactions. It handles\ \ complete transaction rollback including all associated sub-transactions,\ \ updates account balances, triggers notifications, and maintains comprehensive\ \ audit trails for reversal operations." operationId: Payment_post_reversePayment_reversepayment parameters: - name: authorizationData in: header required: true schema: type: string - name: countryCode in: header required: true schema: type: string - name: transactionId in: header required: true schema: type: string requestBody: content: application/json: schema: title: ReversePaymentRequest type: object properties: correlatorId: type: string financialTransactionId: type: string message: type: string paymentDate: type: string name: type: string callingSystem: type: string transactionType: type: string targetSystem: type: string callbackURL: type: string quoteId: type: string channel: type: string description: type: string authorizationCode: type: string externalTransactionId: type: string amount: $ref: '#/components/schemas/com_mtn_aggregator_models_payment_MoneyType' taxAmount: $ref: '#/components/schemas/com_mtn_aggregator_models_payment_MoneyType' totalAmount: $ref: '#/components/schemas/com_mtn_aggregator_models_payment_MoneyType' payer: $ref: '#/components/schemas/com_mtn_aggregator_models_payment_Payer' payee: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_payment_Payee' paymentMethod: $ref: '#/components/schemas/com_mtn_aggregator_models_payment_PaymentMethod' status: type: string statusDate: type: string countryCode: type: string additionalInformation: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_payment_AdditionalInformation' loyaltyInformation: title: LoyaltyInformation type: object properties: generatedAmount: type: string consumedAmount: type: string newBalance: type: string reversalType: title: Transfertype type: object financialInstructionType: title: Financialinstructiontype type: object required: true responses: "200": description: "Payment reversal processed successfully. Returns comprehensive\ \ reversal response including transaction ID, reversal status, and confirmation\ \ details." content: application/json: schema: $ref: '#/components/schemas/com_mtn_madapi_commons_models_response_APIResponse' "400": description: "Bad request. Invalid reversal request parameters, missing\ \ required fields, or validation errors." content: application/json: schema: $ref: '#/components/schemas/com_mtn_madapi_commons_models_error_APIError' "404": description: Original payment not found. No transaction exists for the provided transaction ID or payment reference. content: application/json: schema: $ref: '#/components/schemas/com_mtn_madapi_commons_models_error_APIError' "500": description: "Internal server error. Payment reversal service error, database\ \ connection failure, or system exception during reversal processing." content: application/json: schema: $ref: '#/components/schemas/com_mtn_madapi_commons_models_error_APIError' "401": description: "Unauthorized. Invalid or missing authorization credentials,\ \ insufficient permissions, or authentication failure." content: application/json: schema: $ref: '#/components/schemas/APIError' "403": description: Forbidden. Access denied. The request is valid but the server refuses to perform it. content: application/json: schema: $ref: '#/components/schemas/APIError' "502": description: Bad gateway. The server acting as a gateway received an invalid response from an upstream server. content: application/json: schema: $ref: '#/components/schemas/APIError' "503": description: Service unavailable. The server is temporarily unable to handle the request due to maintenance or overload. content: application/json: schema: $ref: '#/components/schemas/APIError' deprecated: false /reverse-payment/history: get: tags: - Payment summary: Get reverse payment transaction history description: "Retrieves comprehensive history of reverse payment transactions\ \ for a specific customer. This endpoint processes requests for reverse payment\ \ history including validation of customer credentials, transaction filtering\ \ by date ranges, status filtering, and pagination support. It handles complex\ \ reverse payment queries including multi-system integration, transaction\ \ type filtering, and comprehensive audit trail retrieval for detailed transaction\ \ analysis and reconciliation purposes." operationId: Payment_get_reversePaymentHistory_reversepaymenthistor parameters: - name: amount in: query required: false schema: type: string - name: authorizationData in: header required: true schema: type: string - name: correlatorId in: header required: true schema: type: string - name: countryCode in: header required: true schema: type: string - name: customerId in: header required: true schema: type: string - name: endDate in: query required: false schema: type: string - name: limit in: query required: false schema: type: integer format: int32 - name: nodeId in: query required: false schema: type: string - name: otherFri in: query required: false schema: type: string - name: pageNo in: query required: true schema: type: string - name: posMsisdn in: query required: false schema: type: string - name: quoteId in: query required: false schema: type: string - name: startDate in: query required: false schema: type: string - name: transactionId in: header required: true schema: type: string - name: transactionstatus in: header required: true schema: type: string - name: transactiontype in: query required: true schema: type: string responses: "200": description: "Reverse payment history retrieved successfully. Returns comprehensive\ \ list of reverse payment transactions including transaction details,\ \ amounts, status information, timestamps, and associated metadata with\ \ support for various filtering options." content: application/json: schema: $ref: '#/components/schemas/com_mtn_madapi_commons_models_response_APIResponse' "400": description: "Bad request. Invalid customer ID, missing required parameters,\ \ invalid date ranges, or malformed request parameters for reverse payment\ \ history retrieval." content: application/json: schema: $ref: '#/components/schemas/com_mtn_madapi_commons_models_error_APIError' "404": description: Customer not found. No reverse payment history available for the provided customer ID or customer record does not exist in the system. content: application/json: schema: $ref: '#/components/schemas/com_mtn_madapi_commons_models_error_APIError' "500": description: "Internal server error. Database connectivity issues, system\ \ integration failures, or unexpected errors during reverse payment history\ \ processing." content: application/json: schema: $ref: '#/components/schemas/com_mtn_madapi_commons_models_error_APIError' "401": description: "Unauthorized. Invalid or missing authorization credentials,\ \ insufficient permissions, or authentication failure." content: application/json: schema: $ref: '#/components/schemas/APIError' "403": description: Forbidden. Access denied. The request is valid but the server refuses to perform it. content: application/json: schema: $ref: '#/components/schemas/APIError' "502": description: Bad gateway. The server acting as a gateway received an invalid response from an upstream server. content: application/json: schema: $ref: '#/components/schemas/APIError' "503": description: Service unavailable. The server is temporarily unable to handle the request due to maintenance or overload. content: application/json: schema: $ref: '#/components/schemas/APIError' deprecated: false /reverse-payment/{id}: get: tags: - Payment summary: reverse payment history description: "Provides the ability for a consumer to get a reverse payment details.\ \ This endpoint retrieves detailed information about specific reverse payment\ \ transactions using transaction identifiers. It returns comprehensive reverse\ \ payment details including original transaction information, reversal amounts,\ \ status, timestamps, customer information, and associated metadata for detailed\ \ transaction analysis and reconciliation purposes." operationId: Payment_get_reversePaymentHistory_reversepaymentid parameters: - name: authorizationData in: header required: true schema: type: string - name: correlatorId in: header required: true schema: type: string - name: countryCode in: header required: true schema: type: string - name: id in: path required: true schema: type: string - name: transactionId in: header required: true schema: type: string responses: "200": description: "Reverse payment details retrieved successfully. Returns comprehensive\ \ reverse payment information including original transaction details,\ \ reversal amounts, and status information." content: application/json: schema: $ref: '#/components/schemas/com_mtn_madapi_commons_models_response_APIResponse' "400": description: "Bad request. Invalid transaction ID, missing required headers,\ \ or malformed request parameters." content: application/json: schema: $ref: '#/components/schemas/com_mtn_madapi_commons_models_error_APIError' "404": description: Reverse payment not found. No reverse payment record exists for the provided transaction ID. content: application/json: schema: $ref: '#/components/schemas/com_mtn_madapi_commons_models_error_APIError' "500": description: "Internal server error. Database connection failure, reverse\ \ payment service error, or system exception during details retrieval." content: application/json: schema: $ref: '#/components/schemas/com_mtn_madapi_commons_models_error_APIError' "401": description: "Unauthorized. Invalid or missing authorization credentials,\ \ insufficient permissions, or authentication failure." content: application/json: schema: $ref: '#/components/schemas/APIError' "403": description: Forbidden. Access denied. The request is valid but the server refuses to perform it. content: application/json: schema: $ref: '#/components/schemas/APIError' "502": description: Bad gateway. The server acting as a gateway received an invalid response from an upstream server. content: application/json: schema: $ref: '#/components/schemas/APIError' "503": description: Service unavailable. The server is temporarily unable to handle the request due to maintenance or overload. content: application/json: schema: $ref: '#/components/schemas/APIError' deprecated: false /status/{transactionid}: get: tags: - Payment summary: Update payment status to processed description: "Updates the payment status from pending to processed for completed\ \ transactions. This endpoint is used to mark payment transactions as successfully\ \ processed in the system database. It performs status validation, updates\ \ the payment record with processed status, timestamps the completion, and\ \ maintains audit trail information for transaction lifecycle management and\ \ reconciliation purposes." operationId: Payment_get_updatePaymentStatus_statustransactionid parameters: - name: transactionid in: path required: true schema: type: string responses: "200": description: Payment status updated successfully to processed. Returns empty response indicating successful status update operation. content: application/json: schema: type: object "404": description: Payment not found. No payment record exists for the provided transaction ID or transaction ID is invalid. content: application/json: schema: $ref: '#/components/schemas/com_mtn_madapi_commons_models_error_APIError' "500": description: "Internal server error. Database connection failure, payment\ \ status update error, or system exception during status update processing." content: application/json: schema: $ref: '#/components/schemas/com_mtn_madapi_commons_models_error_APIError' "400": description: "Bad request. Invalid request parameters, missing required\ \ fields, or validation errors." content: application/json: schema: $ref: '#/components/schemas/APIError' "401": description: "Unauthorized. Invalid or missing authorization credentials,\ \ insufficient permissions, or authentication failure." content: application/json: schema: $ref: '#/components/schemas/APIError' "403": description: Forbidden. Access denied. The request is valid but the server refuses to perform it. content: application/json: schema: $ref: '#/components/schemas/APIError' "502": description: Bad gateway. The server acting as a gateway received an invalid response from an upstream server. content: application/json: schema: $ref: '#/components/schemas/APIError' "503": description: Service unavailable. The server is temporarily unable to handle the request due to maintenance or overload. content: application/json: schema: $ref: '#/components/schemas/APIError' deprecated: false /{correlatorId}/transactionStatus: get: tags: - Payment summary: Get payment transaction status description: "Provides the status of a Payment Transaction to service providers.\ \ This endpoint enables querying the current status of payment transactions\ \ including pending, completed, failed, or cancelled states. It returns comprehensive\ \ transaction information including transaction details, status history, error\ \ messages if applicable, and associated metadata for tracking and reconciliation\ \ purposes." operationId: Payment_get_getPaymentTransactionStatus_correlatorIdtransact parameters: - name: amount in: query required: false schema: type: string - name: authorizationData in: header required: false schema: type: string - name: correlatorId in: path required: true schema: type: string - name: countryCode in: header required: true schema: type: string - name: customerId in: query required: false schema: type: string - name: description in: query required: false schema: type: string - name: ewpCredentials in: header required: false schema: type: string - name: languageCode in: header required: false schema: type: string - name: paymentType in: query required: false schema: type: string - name: targetSystem in: header required: false schema: type: string - name: transactionId in: header required: true schema: type: string - name: x-origin-channelid in: header required: false schema: type: string responses: "200": description: "Payment transaction status retrieved successfully. Returns\ \ detailed payment status information including transaction state, payment\ \ details, processing timestamps, and relevant status metadata." content: application/json: schema: $ref: '#/components/schemas/com_mtn_madapi_commons_models_response_APIResponse' "400": description: "Bad request. Invalid transaction ID, missing required headers,\ \ or malformed request parameters." content: application/json: schema: $ref: '#/components/schemas/com_mtn_madapi_commons_models_error_APIError' "404": description: Payment transaction not found. No transaction exists for the provided transaction ID or correlator ID. content: application/json: schema: $ref: '#/components/schemas/com_mtn_madapi_commons_models_error_APIError' "500": description: "Internal server error. Database connection failure, payment\ \ service error, or system exception during status retrieval." content: application/json: schema: $ref: '#/components/schemas/com_mtn_madapi_commons_models_error_APIError' "401": description: "Unauthorized. Invalid or missing authorization credentials,\ \ insufficient permissions, or authentication failure." content: application/json: schema: $ref: '#/components/schemas/APIError' "403": description: Forbidden. Access denied. The request is valid but the server refuses to perform it. content: application/json: schema: $ref: '#/components/schemas/APIError' "502": description: Bad gateway. The server acting as a gateway received an invalid response from an upstream server. content: application/json: schema: $ref: '#/components/schemas/APIError' "503": description: Service unavailable. The server is temporarily unable to handle the request due to maintenance or overload. content: application/json: schema: $ref: '#/components/schemas/APIError' deprecated: false /{id}/history: get: tags: - Payment summary: Get a list of payments made on a reference or by a customer id description: "Get a list of payments made on a reference or by a customer id.\ \ This endpoint retrieves payment transaction history filtered by customer\ \ identifier or payment reference. It returns comprehensive payment lists\ \ including transaction details, status information, amounts, timestamps,\ \ and associated metadata. Supports pagination and filtering options for efficient\ \ data retrieval and transaction analysis." operationId: Payment_get_paymentHistory_idhistory parameters: - name: authorizationData in: header required: false schema: type: string - name: countryCode in: header required: true schema: type: string - name: endDate in: query required: false schema: type: string - name: id in: path required: true schema: type: string - name: nodeId in: query required: false schema: type: string - name: offset in: query required: false schema: type: string - name: pageNumber in: query required: false schema: type: string - name: pageSize in: query required: false schema: type: string - name: queryType in: query required: false schema: type: string - name: registrationChannel in: query required: false schema: type: string - name: requestType in: query required: false schema: type: string - name: segment in: query required: false schema: type: string - name: serviceId in: query required: false schema: type: string - name: serviceType in: query required: false schema: type: string - name: startDate in: query required: false schema: type: string - name: startTime in: query required: false schema: type: string - name: status in: query required: false schema: type: string - name: traceId in: query required: false schema: type: string - name: transactionId in: header required: false schema: type: string - name: x-origin-channelid in: header required: false schema: type: string - name: x-target-system in: header required: false schema: type: string responses: "200": description: "Payment history retrieved successfully. Returns comprehensive\ \ list of payment transactions with detailed transaction information,\ \ status, amounts, and timestamps." content: application/json: schema: title: HistoryAPIResponse type: object properties: statusCode: type: string statusMessage: type: string error: $ref: '#/components/schemas/com_mtn_madapi_commons_models_error_APIError' data: type: string "400": description: "Bad request. Invalid customer ID, missing required parameters,\ \ or malformed request." content: application/json: schema: $ref: '#/components/schemas/com_mtn_madapi_commons_models_error_APIError' "404": description: No payment history found. No transactions exist for the provided customer ID or reference. content: application/json: schema: $ref: '#/components/schemas/com_mtn_madapi_commons_models_error_APIError' "500": description: "Internal server error. Database connection failure, payment\ \ history service error, or system exception during data retrieval." content: application/json: schema: $ref: '#/components/schemas/com_mtn_madapi_commons_models_error_APIError' "401": description: "Unauthorized. Invalid or missing authorization credentials,\ \ insufficient permissions, or authentication failure." content: application/json: schema: $ref: '#/components/schemas/APIError' "403": description: Forbidden. Access denied. The request is valid but the server refuses to perform it. content: application/json: schema: $ref: '#/components/schemas/APIError' "502": description: Bad gateway. The server acting as a gateway received an invalid response from an upstream server. content: application/json: schema: $ref: '#/components/schemas/APIError' "503": description: Service unavailable. The server is temporarily unable to handle the request due to maintenance or overload. content: application/json: schema: $ref: '#/components/schemas/APIError' deprecated: false components: schemas: com_mtn_aggregator_models_request_Scheduledtransactiondate: title: Scheduledtransactiondate type: object properties: date: type: string frequency: $ref: '#/components/schemas/com_mtn_aggregator_models_payment_Frequency' com_mtn_aggregator_models_merchantpayment_MoneyDetailsType: title: MoneyDetailsType type: object properties: amount: type: string currency: type: string com_mtn_aggregator_models_payment_Payer: title: Payer type: object properties: payerIdType: type: string payerId: type: string payerNote: type: string payerRef: type: string payerSurname: type: string payerName: type: string includePayerCharges: type: boolean com_mtn_madapi_commons_models_response_APIResponse: title: APIResponse type: object properties: statusCode: type: string customerId: type: string error: $ref: '#/components/schemas/com_mtn_madapi_commons_models_error_APIError' data: type: string statusMessage: type: string supportMessage: type: string transactionId: type: string timeStamp: type: string path: type: string method: type: string sequenceNo: type: string com_mtn_aggregator_enums_DurationType: title: DurationType type: object properties: type: type: string singular: type: string plural: type: string com_mtn_aggregator_models_payment_PaymentMethodTypeDetails: title: PaymentMethodTypeDetails type: object properties: bankCard: title: BankCard type: object properties: brand: type: string type: type: string cardNumber: type: string expirationDate: type: string cvv: type: string lastFourDigits: type: string nameOnCard: type: string bank: type: string pin: type: string tokenizedCard: title: TokenizedCard type: object properties: brand: type: string type: type: string lastFourDigits: type: string tokenType: type: string token: type: string issuer: type: string bankAccountDebit: title: BankAccountDebit type: object properties: accountNumber: type: string accountNumberType: type: string BIC: type: string owner: type: string bank: type: string bankAccountTransfer: title: BankAccountTransfer type: object properties: accountNumber: type: string accountNumberType: type: string BIC: type: string owner: type: string bank: type: string account: title: Account type: object properties: id: type: string name: type: string description: type: string loyaltyAccount: $ref: '#/components/schemas/com_mtn_aggregator_models_payment_Account' bucket: $ref: '#/components/schemas/com_mtn_aggregator_models_payment_Account' voucher: title: Voucher type: object properties: code: type: string description: type: string value: type: string expirationDate: type: string campaign: type: string digitalWallet: title: DigitalWallet type: object properties: service: type: string walletId: type: string walletUri: type: string invoice: title: Invoice type: object properties: id: type: string type: type: string frequency: type: string startDate: type: string endDate: type: string retryOnFail: type: boolean deactivateOnFail: type: boolean callbackUrl: type: string retryRun: type: string retryFrequency: type: string com_mtn_aggregator_models_messaging_sms_SmsInboundMessage: title: SmsInboundMessage type: object properties: dateTime: type: string registrationID: type: string message: type: string senderAddress: type: string messageID: type: string com_mtn_aggregator_models_merchantpayment_Coupon: title: Coupon type: object properties: coupon: type: string com_mtn_aggregator_models_merchantpayment_RequestReferenceId: title: RequestReferenceId type: object properties: id: type: string provider: type: string com_mtn_aggregator_models_payment_AdditionalInformation: title: AdditionalInformation type: object properties: name: type: string description: type: string com_mtn_aggregator_models_request_MerchantPaymentRequest: title: MerchantPaymentRequest type: object properties: callingSystem: type: string targetSystem: type: string sendingFri: title: MerchantFriValue type: object properties: friValue: type: string friIdentityType: type: string receivingFri: $ref: '#/components/schemas/com_mtn_aggregator_models_merchantpayment_MerchantFriValue' amount: title: MoneyDetailsType type: object properties: amount: type: string currency: type: string senderNote: type: string receiverMessage: type: string quote: type: string coupon: title: Coupon type: object properties: coupon: type: string requestReferenceId: title: RequestReferenceId type: object properties: id: type: string provider: type: string extension: type: string com_mtn_aggregator_models_request_Extension: title: Extension type: object properties: bundleCode: type: string bundleInput: type: string serviceGroupCode: type: string iname: type: string awufu: type: string lineNumber: type: string rechargeType: type: string networkOperator: type: string channel: type: string communicationChannel: type: string language: type: string additionalInformation1: type: string additionalInformation2: type: string receivingCustomerId: type: string amountUnit: type: string notification: type: string benmsisdn: type: string transactionId: type: string com_mtn_aggregator_models_messaging_ussd_UssdInboundResponse: title: UssdInboundResponse type: object properties: statusCode: type: string statusMessage: type: string transactionId: type: string data: title: UssdInboundResponseData type: object properties: inboundResponse: type: string userInputRequired: type: boolean messageType: type: string msisdn: type: string serviceCode: type: string sessionId: type: string com_mtn_aggregator_enums_Transfertype: title: Transfertype type: object com_mtn_aggregator_models_paymenthistory_response_HistoryAPIResponse: title: HistoryAPIResponse type: object properties: statusCode: type: string statusMessage: type: string error: $ref: '#/components/schemas/com_mtn_madapi_commons_models_error_APIError' data: type: string com_mtn_aggregator_models_payment_Invoice: title: Invoice type: object properties: id: type: string type: type: string frequency: type: string startDate: type: string endDate: type: string retryOnFail: type: boolean deactivateOnFail: type: boolean callbackUrl: type: string retryRun: type: string retryFrequency: type: string APIError: title: APIError required: - statusCode - statusMessage type: object properties: statusCode: type: string description: Error status code example: "400" statusMessage: type: string description: Human-readable error message example: Bad request. Invalid parameters provided. supportMessage: type: string description: Technical support message or error code for troubleshooting example: VALIDATION_ERROR transactionId: type: string description: Transaction identifier for tracking and correlation example: "1234567890" sequenceNo: type: string description: Sequence number for request tracking example: "20250115120000001" timestamp: type: string description: Error timestamp in ISO 8601 format format: date-time example: 2025-01-15T12:00:00Z path: type: string description: API endpoint path where the error occurred example: /api/v1/resource method: type: string description: HTTP method of the request that caused the error example: POST downstreamStatusCode: type: string description: Downstream service error code if applicable description: Generic MADAPI error response structure example: statusCode: "401" statusMessage: "Unauthorized. Invalid or missing authorization credentials,\ \ insufficient permissions, or authentication failure." supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z com_mtn_aggregator_models_payment_Account: title: Account type: object properties: id: type: string name: type: string description: type: string com_mtn_aggregator_enums_PaymentMethodType: title: PaymentMethodType type: object properties: value: type: string com_mtn_aggregator_models_paymentEligibilty_Links: title: Links type: object properties: self: title: Self type: object properties: href: type: string com_mtn_aggregator_models_payment_MoneyType: title: MoneyType type: object properties: amount: type: string units: type: string com_mtn_aggregator_models_payment_DigitalWallet: title: DigitalWallet type: object properties: service: type: string walletId: type: string walletUri: type: string com_mtn_aggregator_models_messaging_ussd_UssdInboundRequest: title: UssdInboundRequest type: object properties: sessionId: type: string messageType: type: string msisdn: type: string serviceCode: type: string ussdString: type: string cellId: type: string language: type: string imsi: type: string com_mtn_aggregator_models_request_PaymentRequest: title: PaymentRequest type: object properties: IdType: type: string correlatorId: type: string transactionId: type: string paymentDate: type: string name: type: string callingSystem: type: string transactionType: type: string transferType: type: string targetSystem: type: string callbackURL: type: string redirectURL: type: string quoteId: type: string channel: type: string description: type: string authorizationCode: type: string externalTransactionId: type: string frequency: title: Frequency type: object properties: duration: type: string frequencyType: title: FrequencyType type: object properties: type: type: string durationType: title: DurationType type: object properties: type: type: string singular: type: string plural: type: string amount: title: MoneyType type: object properties: amount: type: string units: type: string taxAmount: title: TaxMoneyType type: object properties: taxId: type: string amount: type: string units: type: string totalAmount: $ref: '#/components/schemas/com_mtn_aggregator_models_payment_MoneyType' payer: title: Payer type: object properties: payerIdType: type: string payerId: type: string payerNote: type: string payerRef: type: string payerSurname: type: string payerName: type: string includePayerCharges: type: boolean payee: type: array items: title: Payee type: object properties: amount: $ref: '#/components/schemas/com_mtn_aggregator_models_payment_MoneyType' taxAmount: $ref: '#/components/schemas/com_mtn_aggregator_models_payment_MoneyType' totalAmount: $ref: '#/components/schemas/com_mtn_aggregator_models_payment_MoneyType' payeeIdType: type: string payeeId: type: string payeeNote: type: string payeeName: type: string paymentMethod: title: PaymentMethod type: object properties: name: type: string description: type: string validFrom: type: string validTo: type: string type: title: PaymentMethodType type: object properties: value: type: string details: title: PaymentMethodTypeDetails type: object properties: bankCard: title: BankCard type: object properties: brand: type: string type: type: string cardNumber: type: string expirationDate: type: string cvv: type: string lastFourDigits: type: string nameOnCard: type: string bank: type: string pin: type: string tokenizedCard: title: TokenizedCard type: object properties: brand: type: string type: type: string lastFourDigits: type: string tokenType: type: string token: type: string issuer: type: string bankAccountDebit: title: BankAccountDebit type: object properties: accountNumber: type: string accountNumberType: type: string BIC: type: string owner: type: string bank: type: string bankAccountTransfer: title: BankAccountTransfer type: object properties: accountNumber: type: string accountNumberType: type: string BIC: type: string owner: type: string bank: type: string account: title: Account type: object properties: id: type: string name: type: string description: type: string loyaltyAccount: $ref: '#/components/schemas/com_mtn_aggregator_models_payment_Account' bucket: $ref: '#/components/schemas/com_mtn_aggregator_models_payment_Account' voucher: title: Voucher type: object properties: code: type: string description: type: string value: type: string expirationDate: type: string campaign: type: string digitalWallet: title: DigitalWallet type: object properties: service: type: string walletId: type: string walletUri: type: string invoice: title: Invoice type: object properties: id: type: string type: type: string frequency: type: string startDate: type: string endDate: type: string retryOnFail: type: boolean deactivateOnFail: type: boolean callbackUrl: type: string retryRun: type: string retryFrequency: type: string status: type: string statusDate: type: string countryCode: type: string segment: type: string additionalInformation: type: array items: title: AdditionalInformation type: object properties: name: type: string description: type: string authenticationType: type: string deliveryMethod: type: string paymentmethods: type: array items: type: string itemDetails: type: array items: title: ItemDetail type: object properties: itemName: type: string itemDescription: type: string itemValue: type: string currency: type: string quantity: type: string additionalInformation: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_payment_AdditionalInformation' extension: title: Extension type: object properties: bundleCode: type: string bundleInput: type: string serviceGroupCode: type: string iname: type: string awufu: type: string lineNumber: type: string rechargeType: type: string networkOperator: type: string channel: type: string communicationChannel: type: string language: type: string additionalInformation1: type: string additionalInformation2: type: string receivingCustomerId: type: string amountUnit: type: string notification: type: string benmsisdn: type: string transactionId: type: string includePayerCharges: type: string prefLang: type: string merchantId: type: string partnerId: type: string siteId: type: string referenceid: type: string coupon: type: string scheduled: title: Scheduledtransactiondate type: object properties: date: type: string frequency: $ref: '#/components/schemas/com_mtn_aggregator_models_payment_Frequency' com_mtn_aggregator_models_paymentEligibilty_Self: title: Self type: object properties: href: type: string com_mtn_aggregator_models_messaging_sms_SmsInboundRequestData: title: SmsInboundRequestData type: object properties: numberOfMessagesInThisBatch: type: string totalNumberOfPendingMessages: type: string inboundSMSMessage: type: array items: title: SmsInboundMessage type: object properties: dateTime: type: string registrationID: type: string message: type: string senderAddress: type: string messageID: type: string com_mtn_aggregator_models_payment_BankAccountTransfer: title: BankAccountTransfer type: object properties: accountNumber: type: string accountNumberType: type: string BIC: type: string owner: type: string bank: type: string com_mtn_aggregator_enums_FrequencyType: title: FrequencyType type: object properties: type: type: string com_mtn_aggregator_models_payment_BankCard: title: BankCard type: object properties: brand: type: string type: type: string cardNumber: type: string expirationDate: type: string cvv: type: string lastFourDigits: type: string nameOnCard: type: string bank: type: string pin: type: string com_mtn_aggregator_models_payment_Frequency: title: Frequency type: object properties: duration: type: string frequencyType: title: FrequencyType type: object properties: type: type: string durationType: title: DurationType type: object properties: type: type: string singular: type: string plural: type: string com_mtn_aggregator_models_payment_TaxMoneyType: title: TaxMoneyType type: object properties: taxId: type: string amount: type: string units: type: string com_mtn_aggregator_models_payment_LoyaltyInformation: title: LoyaltyInformation type: object properties: generatedAmount: type: string consumedAmount: type: string newBalance: type: string com_mtn_aggregator_models_paymentEligibilty_PromiseToPayEligibilityDetails: title: PromiseToPayEligibilityDetails type: object properties: eligibilityStatus: type: string accountBalance: type: string minimumAmount: type: string paymentStartDate: type: string com_mtn_aggregator_models_merchantpayment_MerchantFriValue: title: MerchantFriValue type: object properties: friValue: type: string friIdentityType: type: string com_mtn_aggregator_models_paymentEligibilty_PaymentPromiseResponseEligibilty: title: PaymentPromiseResponseEligibilty type: object properties: statusCode: type: string statusMessage: type: string supportMessage: type: string transactionId: type: string data: title: Data type: object properties: PromiseToPayEligibilityDetails: title: PromiseToPayEligibilityDetails type: object properties: eligibilityStatus: type: string accountBalance: type: string minimumAmount: type: string paymentStartDate: type: string _links: title: Links type: object properties: self: title: Self type: object properties: href: type: string timestamp: type: string path: type: string method: type: string com_mtn_aggregator_models_payment_PaymentMethod: title: PaymentMethod type: object properties: name: type: string description: type: string validFrom: type: string validTo: type: string type: title: PaymentMethodType type: object properties: value: type: string details: title: PaymentMethodTypeDetails type: object properties: bankCard: title: BankCard type: object properties: brand: type: string type: type: string cardNumber: type: string expirationDate: type: string cvv: type: string lastFourDigits: type: string nameOnCard: type: string bank: type: string pin: type: string tokenizedCard: title: TokenizedCard type: object properties: brand: type: string type: type: string lastFourDigits: type: string tokenType: type: string token: type: string issuer: type: string bankAccountDebit: title: BankAccountDebit type: object properties: accountNumber: type: string accountNumberType: type: string BIC: type: string owner: type: string bank: type: string bankAccountTransfer: title: BankAccountTransfer type: object properties: accountNumber: type: string accountNumberType: type: string BIC: type: string owner: type: string bank: type: string account: title: Account type: object properties: id: type: string name: type: string description: type: string loyaltyAccount: $ref: '#/components/schemas/com_mtn_aggregator_models_payment_Account' bucket: $ref: '#/components/schemas/com_mtn_aggregator_models_payment_Account' voucher: title: Voucher type: object properties: code: type: string description: type: string value: type: string expirationDate: type: string campaign: type: string digitalWallet: title: DigitalWallet type: object properties: service: type: string walletId: type: string walletUri: type: string invoice: title: Invoice type: object properties: id: type: string type: type: string frequency: type: string startDate: type: string endDate: type: string retryOnFail: type: boolean deactivateOnFail: type: boolean callbackUrl: type: string retryRun: type: string retryFrequency: type: string com_mtn_aggregator_models_messaging_sms_SmsInboundRequest: title: SmsInboundRequest type: object properties: statusCode: type: string statusMessage: type: string transactionID: type: string data: title: SmsInboundRequestData type: object properties: numberOfMessagesInThisBatch: type: string totalNumberOfPendingMessages: type: string inboundSMSMessage: type: array items: title: SmsInboundMessage type: object properties: dateTime: type: string registrationID: type: string message: type: string senderAddress: type: string messageID: type: string com_mtn_madapi_commons_models_error_APIError: title: APIError type: object properties: statusMessage: type: string supportMessage: type: string transactionId: type: string timestamp: type: string path: type: string method: type: string statusCode: type: string downstreamStatusCode: type: integer format: int32 sequenceNo: type: string com_mtn_aggregator_models_request_ReversePaymentRequest: title: ReversePaymentRequest type: object properties: correlatorId: type: string financialTransactionId: type: string message: type: string paymentDate: type: string name: type: string callingSystem: type: string transactionType: type: string targetSystem: type: string callbackURL: type: string quoteId: type: string channel: type: string description: type: string authorizationCode: type: string externalTransactionId: type: string amount: $ref: '#/components/schemas/com_mtn_aggregator_models_payment_MoneyType' taxAmount: $ref: '#/components/schemas/com_mtn_aggregator_models_payment_MoneyType' totalAmount: $ref: '#/components/schemas/com_mtn_aggregator_models_payment_MoneyType' payer: $ref: '#/components/schemas/com_mtn_aggregator_models_payment_Payer' payee: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_payment_Payee' paymentMethod: $ref: '#/components/schemas/com_mtn_aggregator_models_payment_PaymentMethod' status: type: string statusDate: type: string countryCode: type: string additionalInformation: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_payment_AdditionalInformation' loyaltyInformation: title: LoyaltyInformation type: object properties: generatedAmount: type: string consumedAmount: type: string newBalance: type: string reversalType: title: Transfertype type: object financialInstructionType: title: Financialinstructiontype type: object com_mtn_aggregator_enums_Financialinstructiontype: title: Financialinstructiontype type: object com_mtn_aggregator_models_messaging_ussd_UssdInboundResponseData: title: UssdInboundResponseData type: object properties: inboundResponse: type: string userInputRequired: type: boolean messageType: type: string msisdn: type: string serviceCode: type: string sessionId: type: string com_mtn_aggregator_models_payment_BankAccountDebit: title: BankAccountDebit type: object properties: accountNumber: type: string accountNumberType: type: string BIC: type: string owner: type: string bank: type: string com_mtn_aggregator_models_payment_TokenizedCard: title: TokenizedCard type: object properties: brand: type: string type: type: string lastFourDigits: type: string tokenType: type: string token: type: string issuer: type: string com_mtn_aggregator_models_payment_Voucher: title: Voucher type: object properties: code: type: string description: type: string value: type: string expirationDate: type: string campaign: type: string com_mtn_aggregator_models_paymentEligibilty_Data: title: Data type: object properties: PromiseToPayEligibilityDetails: title: PromiseToPayEligibilityDetails type: object properties: eligibilityStatus: type: string accountBalance: type: string minimumAmount: type: string paymentStartDate: type: string com_mtn_aggregator_models_payment_Payee: title: Payee type: object properties: amount: $ref: '#/components/schemas/com_mtn_aggregator_models_payment_MoneyType' taxAmount: $ref: '#/components/schemas/com_mtn_aggregator_models_payment_MoneyType' totalAmount: $ref: '#/components/schemas/com_mtn_aggregator_models_payment_MoneyType' payeeIdType: type: string payeeId: type: string payeeNote: type: string payeeName: type: string com_mtn_aggregator_models_messaging_sms_SmsInboundResponse: title: SmsInboundResponse type: object properties: statusCode: type: string statusMessage: type: string data: title: SmsInboundResponseData type: object properties: numberOfMessagesInThisBatch: type: string totalNumberOfPendingMessages: type: string inboundSMSMessage: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_messaging_sms_SmsInboundMessage' com_mtn_aggregator_models_messaging_sms_SmsInboundResponseData: title: SmsInboundResponseData type: object properties: numberOfMessagesInThisBatch: type: string totalNumberOfPendingMessages: type: string inboundSMSMessage: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_messaging_sms_SmsInboundMessage' com_mtn_aggregator_models_request_PromiseToPayRequest: title: PromiseToPayRequest type: object properties: billingAccountNo: type: string promiseOpenDate: type: string promiseAmount: type: string numberOfInstallments: type: integer format: int32 durationUOM: type: string promiseThreshold: type: string com_mtn_aggregator_models_request_ItemDetail: title: ItemDetail type: object properties: itemName: type: string itemDescription: type: string itemValue: type: string currency: type: string quantity: type: string additionalInformation: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_payment_AdditionalInformation' securitySchemes: OAuth2: type: oauth2 flows: clientCredentials: tokenUrl: https://api.mtn.com/v1/oauth/access_token scopes: {} Bearer: type: http description: Bearer token received from OAuth2.0 authentication with the MADAPI scheme: bearer bearerFormat: JWT