openapi: 3.1.0 info: title: Interswitch Recharge Airtime Tokens 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: Tokens paths: /api/v1/pwm/subscribers/{subscriberId}/tokens: post: tags: - Tokens summary: Generate Paycode Token description: Create a one-time access code for a cardless transaction. operationId: generatePaycodeToken parameters: - in: path name: subscriberId required: true schema: type: string requestBody: required: true content: application/json: schema: type: object required: - frontEndPartnerId - paymentMethodCode - amount - tokenLifeTimeInMinutes - oneTimePin properties: frontEndPartnerId: type: string example: WEMA paymentMethodCode: type: string amount: type: integer tokenLifeTimeInMinutes: type: integer oneTimePin: type: string ttid: type: string description: Use the same value as `transactionRef`. transactionRef: type: string responses: '200': description: Token created. content: application/json: schema: type: object properties: payWithMobileToken: type: string subscriberId: type: string tokenLifeTimeInMinutes: type: integer responseCode: type: string /api/v1/pwm/subscribers/{subscriberId}/tokens/status: get: tags: - Tokens summary: Get Token Status operationId: getPaycodeTokenStatus parameters: - in: path name: subscriberId required: true schema: type: string - in: query name: token required: true schema: type: string responses: '200': description: Token status. content: application/json: schema: type: object properties: status: type: string channel: type: string surchargeAmount: type: integer settlementCode: type: string paymentMethodCode: type: string /cardless-service/api/v1/cardless-services/cancel-token: post: tags: - Tokens summary: Cancel Paycode Token operationId: cancelPaycodeToken requestBody: required: true content: application/json: schema: type: object required: - referenceId - frontEndPartner properties: referenceId: type: string frontEndPartner: type: string responses: '200': description: Cancellation response. content: application/json: schema: type: object properties: responseCode: type: string responseMessage: type: string /api/v1/pwm/subscribers/{subscriberId}/tokens/bulk: post: tags: - Tokens summary: Generate Bulk Paycode Tokens operationId: generateBulkPaycodeTokens parameters: - in: path name: subscriberId required: true schema: type: string requestBody: required: true content: application/json: schema: type: object required: - frontEndPartnerId - items properties: frontEndPartnerId: type: string items: type: array items: type: object properties: amount: type: integer tokenLifeTimeInMinutes: type: integer referenceId: type: string responses: '200': description: Bulk token batch. content: application/json: schema: type: object properties: batchId: type: string tokens: type: array items: type: object properties: referenceId: type: string payWithMobileToken: type: string components: securitySchemes: InterswitchAuth: type: apiKey in: header name: Authorization