openapi: 3.2.0 info: title: Interswitch Recharge Airtime Transfers API description: 'Virtual top-up (direct airtime and data) and e-pin voucher delivery for MTN, Airtel, Glo, and 9mobile. Same biller / category / payment-item flow as Bills Payment; category ID `4` is reserved for airtime billers and the customer''s phone number is supplied as `customer_id` on the payment advice. ' version: '2024-01-01' servers: - url: https://sandbox.interswitchng.com description: Sandbox - url: https://saturn.interswitchng.com description: Production security: - InterswitchAuth: [] tags: - name: Transfers paths: /quicktellerservice/api/v5/transactions/TransferFunds: post: tags: - Transfers summary: Send Single Transfer description: 'Move funds from a sender wallet or account to a single recipient bank account. `mac` is the SHA-512 hash of the canonical message; consult the Interswitch transfer integration guide for the exact field order. ' operationId: sendSingleTransfer parameters: - in: header name: terminalId required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SingleTransferRequest' responses: '200': description: Transfer response. content: application/json: schema: $ref: '#/components/schemas/TransferResponse' components: schemas: SingleTransferRequest: type: object required: - transferCode - mac - initiatingEntityCode - initiation - termination - sender properties: transferCode: type: string mac: type: string description: SHA-512 hash of canonical transfer fields. initiatingEntityCode: type: string example: PBL initiation: type: object properties: amount: type: integer currencyCode: type: string channel: type: string paymentMethodCode: type: string example: CA termination: type: object properties: amount: type: integer currencyCode: type: string accountReceivable: type: object properties: accountNumber: type: string accountType: type: string entityCode: type: string description: Recipient bank entity code. countryCode: type: string paymentMethodCode: type: string example: AC sender: type: object properties: phone: type: string email: type: string format: email firstName: type: string lastName: type: string TransferResponse: type: object properties: ResponseCode: type: string description: 90000 indicates success. TransactionRef: type: string TransferDate: type: string format: date-time Amount: type: integer securitySchemes: InterswitchAuth: type: apiKey in: header name: Authorization