openapi: 3.0.3 info: title: mard2p API version: 0.0.2-dev description: This is a payment pending using Mobile Money API and Credit Card. This API allows merchant to get payment information of the consumer which have its own account and money manage by the solution. The merchant can receive its money if only the consumer agreed [1st case]. servers: - url: https://api.apibuilder.io paths: /accounts/create: post: description: Used to create an account. requestBody: content: application/x-www-form-urlencoded: schema: type: object required: - accountid - ownerid - total_amount - sold - debit - currency properties: accountid: type: integer format: int64 ownerid: type: string total_amount: type: number format: double sold: type: number format: double debit: type: number format: double currency: type: string required: true responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/PaypMard2pApiV0ModelsAccount' '409': description: Conflict /accounts/delete/{accountid}: delete: description: Delete some account. parameters: - name: accountid in: path required: true schema: type: integer format: int64 responses: '204': description: No content '401': description: Unauthorized '404': description: Not found /accounts/list: get: description: Find all the accounts. parameters: - name: accountid in: query required: true schema: type: integer format: int64 - name: ownerid in: query required: true schema: type: string - name: total_amount in: query required: true schema: type: number format: double - name: currency in: query required: true schema: type: string - name: sold in: query required: true schema: type: number format: double - name: debit in: query required: true schema: type: number format: double responses: '200': description: Successful response content: application/json: schema: type: array items: $ref: '#/components/schemas/PaypMard2pApiV0ModelsAccount' '404': description: Not found /accounts/update/{accountid}: put: description: Used to update an account. parameters: - name: accountid in: path required: true schema: type: integer format: int64 requestBody: content: application/x-www-form-urlencoded: schema: type: object required: - ownerid - total_amount - currency - sold - debit properties: ownerid: type: string total_amount: type: number format: double currency: type: string sold: type: number format: double debit: type: number format: double required: true responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/PaypMard2pApiV0ModelsAccount' '409': description: Conflict /accounts/{accountid}: get: description: Find account by its id parameters: - name: accountid in: path required: true schema: type: integer format: int64 - name: ownerid in: query required: true schema: type: string - name: total_amount in: query required: true schema: type: number format: double - name: sold in: query required: true schema: type: number format: double - name: debit in: query required: true schema: type: number format: double - name: currency in: query required: true schema: type: string responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/PaypMard2pApiV0ModelsAccount' '404': description: Not found /deposits/delete/{depid}: delete: description: Delete some deposit. parameters: - name: depid in: path required: true schema: type: integer format: int64 responses: '204': description: No content '401': description: Unauthorized '404': description: Not found /deposits/list: get: description: List all the deposits parameters: - name: payid in: query required: true schema: type: integer format: int64 - name: payment_method in: query required: true schema: type: string - name: actorid in: query required: true schema: type: string - name: ref_accountid in: query required: true schema: type: integer format: int64 - name: operatorid in: query required: true schema: type: string - name: amount in: query required: true schema: type: number format: double - name: phone in: query required: true schema: type: integer format: int64 - name: pin in: query required: true schema: type: integer format: int64 - name: currency in: query required: true schema: type: string - name: payment_context in: query required: true schema: type: string responses: '200': description: Successful response content: application/json: schema: type: array items: $ref: '#/components/schemas/PaypMard2pApiV0ModelsPayment' '404': description: Not found /deposits/{depid}: get: description: Find deposit by its id. parameters: - name: depid in: path required: true schema: type: integer format: int64 - name: payment_method in: query required: true schema: type: string - name: actorid in: query required: true schema: type: string - name: ref_accountid in: query required: true schema: type: integer format: int64 - name: operatorid in: query required: true schema: type: string - name: amount in: query required: true schema: type: number format: double - name: phone in: query required: true schema: type: integer format: int64 - name: pin in: query required: true schema: type: integer format: int64 - name: currency in: query required: true schema: type: string - name: payment_context in: query required: true schema: type: string responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/PaypMard2pApiV0ModelsPayment' '404': description: Not found /payments/create: post: description: Used to create a payment. requestBody: content: application/x-www-form-urlencoded: schema: type: object required: - payid - payment_method - actorid - ref_accountid - operatorid - amount - currency - phone - pin - payment_context properties: payid: type: integer format: int64 payment_method: type: string actorid: type: string ref_accountid: type: integer format: int64 operatorid: type: string amount: type: number format: double currency: type: string phone: type: integer format: int64 pin: type: integer format: int32 payment_context: type: string required: true responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/PaypMard2pApiV0ModelsPayment' '409': description: Conflict /payments/delete/{payid}: delete: description: Delete some payment. parameters: - name: payid in: path required: true schema: type: integer format: int64 responses: '204': description: No content '401': description: Unauthorized '404': description: Not found /payments/list: get: description: List all the payments parameters: - name: payid in: query required: true schema: type: integer format: int64 - name: payment_method in: query required: true schema: type: string - name: actorid in: query required: true schema: type: string - name: ref_accountid in: query required: true schema: type: integer format: int64 - name: operatorid in: query required: true schema: type: string - name: amount in: query required: true schema: type: number format: double - name: phone in: query required: true schema: type: integer format: int64 - name: pin in: query required: true schema: type: integer format: int64 - name: currency in: query required: true schema: type: string - name: payment_context in: query required: true schema: type: string responses: '200': description: Successful response content: application/json: schema: type: array items: $ref: '#/components/schemas/PaypMard2pApiV0ModelsPayment' '404': description: Not found /payments/update/{payid}: put: description: Used to update a payment. parameters: - name: payid in: path required: true schema: type: integer format: int64 requestBody: content: application/x-www-form-urlencoded: schema: type: object required: - payment_method - actorid - ref_accountid - operatorid - amount - phone - pin - currency - payment_context properties: payment_method: type: string actorid: type: string ref_accountid: type: integer format: int64 operatorid: type: string amount: type: number format: double phone: type: integer format: int64 pin: type: integer format: int32 currency: type: string payment_context: type: string required: true responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/PaypMard2pApiV0ModelsPayment' '409': description: Conflict /payments/{payid}: get: description: Find payment by id accountid parameters: - name: ref_accountid in: path required: true schema: type: integer format: int64 - name: payid in: query required: true schema: type: integer format: int64 - name: payment_method in: query required: true schema: type: string - name: actorid in: query required: true schema: type: string - name: operatorid in: query required: true schema: type: string - name: amount in: query required: true schema: type: number format: double - name: phone in: query required: true schema: type: integer format: int64 - name: pin in: query required: true schema: type: integer format: int32 - name: currency in: query required: true schema: type: string - name: payment_context in: query required: true schema: type: string responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/PaypMard2pApiV0ModelsPayment' '404': description: Not found /transfers/create: post: description: Used to create a transfer resource. requestBody: content: application/x-www-form-urlencoded: schema: type: object required: - transferid - senderid - amount - currency - ref_accountid_receiver - ref_accountid_sender properties: transferid: type: integer format: int64 senderid: type: string amount: type: number format: double currency: type: string ref_accountid_receiver: type: integer format: int64 ref_accountid_sender: type: integer format: int64 required: true responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/PaypMard2pApiV0ModelsTransfer' '409': description: Conflict /transfers/delete/{transferid}: delete: description: Delete some transfer. parameters: - name: transferid in: path required: true schema: type: integer format: int64 responses: '204': description: No content '401': description: Unauthorized '404': description: Not found /transfers/list: get: description: Find all the transfers. parameters: - name: transferid in: query required: true schema: type: integer format: int64 - name: senderid in: query required: true schema: type: string - name: amount in: query required: true schema: type: number format: double - name: currency in: query required: true schema: type: string - name: ref_accountid_receiver in: query required: true schema: type: integer format: int64 - name: ref_accountid_sender in: query required: true schema: type: integer format: int64 responses: '200': description: Successful response content: application/json: schema: type: array items: $ref: '#/components/schemas/PaypMard2pApiV0ModelsAccount' '404': description: Not found /transfers/update/{transferid}: put: description: Used to update a transfer resource. parameters: - name: transferid in: path required: true schema: type: integer format: int64 requestBody: content: application/x-www-form-urlencoded: schema: type: object required: - senderid - amount - currency - ref_accountid_receiver - ref_accountid_sender properties: senderid: type: string amount: type: number format: double currency: type: string ref_accountid_receiver: type: integer format: int64 ref_accountid_sender: type: integer format: int64 required: true responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/PaypMard2pApiV0ModelsTransfer' '409': description: Conflict /transfers/{transferid}: get: description: Find transfer by its id parameters: - name: transferid in: path required: true schema: type: integer format: int64 - name: senderid in: query required: true schema: type: string - name: amount in: query required: true schema: type: number format: double - name: currency in: query required: true schema: type: string - name: ref_accountid_receiver in: query required: true schema: type: integer format: int64 - name: ref_accountid_sender in: query required: true schema: type: integer format: int64 responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/PaypMard2pApiV0ModelsAccount' '404': description: Not found /validations: post: requestBody: content: application/json: schema: type: string required: true responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/PaypMard2pApiV0ModelsValidation' /withdraws/delete/{wdwid}: delete: description: Delete some withdraw. parameters: - name: wdwid in: path required: true schema: type: integer format: int64 responses: '204': description: No content '401': description: Unauthorized '404': description: Not found /withdraws/list: get: description: List all the withdraws parameters: - name: payid in: query required: true schema: type: integer format: int64 - name: payment_method in: query required: true schema: type: string - name: actorid in: query required: true schema: type: string - name: ref_accountid in: query required: true schema: type: integer format: int64 - name: operatorid in: query required: true schema: type: string - name: amount in: query required: true schema: type: number format: double - name: phone in: query required: true schema: type: integer format: int64 - name: pin in: query required: true schema: type: integer format: int64 - name: currency in: query required: true schema: type: string - name: payment_context in: query required: true schema: type: string responses: '200': description: Successful response content: application/json: schema: type: array items: $ref: '#/components/schemas/PaypMard2pApiV0ModelsPayment' '404': description: Not found /withdraws/{wdwid}: get: description: Find withdraw by its id. parameters: - name: wdwid in: path required: true schema: type: integer format: int64 - name: depid in: query required: true schema: type: integer format: int64 - name: payment_method in: query required: true schema: type: string - name: actorid in: query required: true schema: type: string - name: ref_accountid in: query required: true schema: type: integer format: int64 - name: operatorid in: query required: true schema: type: string - name: amount in: query required: true schema: type: number format: double - name: phone in: query required: true schema: type: integer format: int64 - name: pin in: query required: true schema: type: integer format: int64 - name: currency in: query required: true schema: type: string - name: payment_context in: query required: true schema: type: string responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/PaypMard2pApiV0ModelsPayment' '404': description: Not found components: schemas: PaypMard2pApiV0ModelsDeposit: description: Deposit describes a way a payment is handled. It depends of Payment Resource type: object required: - depid - paymentid properties: depid: description: Internal unique identifier for this account. type: integer format: int64 paymentid: description: The added paymentid used to proceed the deposit transaction. type: integer format: int64 PaypMard2pApiV0ModelsWithdraw: description: Withdraw describes a way a payment is handled. It depends of Payment Resource type: object required: - wdwid - paymentid properties: wdwid: description: Internal unique identifier for this account. type: integer format: int64 paymentid: description: The added paymentid used to proceed the deposit transaction. type: integer format: int64 PaypMard2pApiV0ModelsPayment: description: Payment is defined by the app specifically to emit users transactions. type: object required: - payid - actorid - amount - ref_accountid - payment_method - operatorid - phone - pin - currency - payment_context properties: payid: description: Internal unique identifier for this payment. type: integer format: int64 actorid: description: The username registered in the application type: string amount: description: The amount to send. This field allowed the processing transactions. type: number format: double ref_accountid: description: The accountid to use to send money to the specific account. type: integer format: int64 payment_method: description: The type of payment to use [Mobile Money or Credit Card]. type: string operatorid: description: The operator specified the type of payment if Mobile Money. type: string phone: description: The phone identifying specific account of consumer. type: integer format: int64 pin: description: The code used to validate the transaction. type: integer format: int32 currency: description: The phone identifying specific account of consumer. type: string payment_context: description: This field specify the type of transaction [Buying, Deposit, Withdraw]. type: string PaypMard2pApiV0ModelsValidation: description: Used only to validate json files - used as a resource where http status code defines success type: object required: - valid - errors properties: valid: description: If true, the json schema is valid. If false, there is at least one validation error. type: boolean errors: description: Contains any validation errors that result from parsing the json document. If empty, the document is valid. type: array items: type: string PaypMard2pApiV0ModelsTransfer: description: Transfer is defined by the app specifically to manage users transactions (sending and receiving). type: object required: - transferid - senderid - amount - ref_accountid_receiver - ref_accountid_sender - currency properties: transferid: description: Internal unique identifier for this account. type: integer format: int64 senderid: description: The username registered in the application type: string amount: description: The amount to be send. This field allows the process transactions. type: number format: double ref_accountid_receiver: description: The accountid to use to send money and referencing the receiver. type: integer format: int64 ref_accountid_sender: description: The accountid to use to send money and referencing the sender. type: integer format: int64 currency: description: The currency specific to a country. type: string PaypMard2pApiV0ModelsAccountForm: type: object required: - accountid - ownerid - sold - currency properties: accountid: description: Internal unique identifier for this account. type: integer format: int64 ownerid: description: The username registered in the application. type: string total_amount: description: The amount specific to the debit and sold account. This field allows the process transactions. type: number format: double sold: description: The amount specific to the balance account. This field allows the process transactions. type: number format: double debit: description: The amount specific to the money merchant have to collect and pay. This field allows the process transactions. type: number format: double currency: description: The currency specific to location. type: string PaypMard2pApiV0ModelsPaymentForm: type: object required: - payid - actorid - amount - ref_accountid - payment_method - operatorid - phone - pin - currency - payment_context properties: payid: description: Internal unique identifier for this payment. type: integer format: int64 actorid: description: The username registered in the application type: string amount: description: The amount to send. This field allowed the processing transactions. type: number format: double ref_accountid: description: The accountid to use to send money to the specific account. type: integer format: int64 payment_method: description: The type of payment to use [Mobile Money or Credit Card]. type: string operatorid: description: The operator specified the type of payment if Mobile Money. type: string phone: description: The phone identifying specific account of consumer. type: integer format: int64 pin: description: The code used to validate the transaction. type: integer format: int32 currency: description: The phone identifying specific account of consumer. type: string payment_context: description: This field specify the type of transaction [Buying, Deposit, Withdraw]. type: string PaypMard2pApiV0ModelsAccount: description: Account is defined by the app specifically to manage users transactions. type: object required: - accountid - ownerid - total_amount - currency - sold - debit properties: accountid: description: Internal unique identifier for this account. type: integer format: int64 ownerid: description: The username registered in the application type: string total_amount: description: The amount specific to the debit and sold account. This field allows the process transactions. type: number format: double currency: description: The currency specific to location. type: string sold: description: The amount specific to the balance account. This field allows the process transactions. type: number format: double debit: description: The amount specific to the money merchant have to collect and pay. This field allows the process transactions. type: number format: double PaypMard2pApiV0ModelsTransferForm: type: object required: - transferid - senderid - amount - ref_accountid_receiver - ref_accountid_sender - currency properties: transferid: description: Internal unique identifier for this account. type: integer format: int64 senderid: description: The username registered in the application. type: string amount: description: The amount to be send. This field allows the process transactions. type: number format: double ref_accountid_receiver: description: The accountid to use to send money and referencing the receiver. type: integer format: int64 ref_accountid_sender: description: The accountid to use to send money and referencing the sender. type: integer format: int64 currency: description: The currency specific to a country. type: string PaypMard2pApiV0EnumsSortOrder: type: string enum: - asc - desc PaypMard2pApiV0EnumsOriginalType: type: string enum: - api_json PaypMard2pApiV0EnumsAppSortBy: type: string enum: - created - edited PaypMard2pApiV0EnumsVisibility: description: Controls who is able to view this version type: string enum: - public PaypMard2pApiV0EnumsPublication: description: A publication represents something that a user can subscribe to. An example would be subscribing to an email alert whenever a new version of an application is created. type: string enum: - membership_requests.create - memberships.create - applications.create - versions.create