---
title: "Generate Token [single]"
method: POST
path: "/cardless-service/api/v1/cardless-services/tokens"
---

# Generate Token \[single\]

`POST /cardless-service/api/v1/cardless-services/tokens`

## Request

- Base URL: `https://sandbox.interswitchng.com`
- URL: `https://sandbox.interswitchng.com/cardless-service/api/v1/cardless-services/tokens`
- Auth: none required

is a request to generate a one-time access code also known as token for a Paycode transaction at a merchant location.

## Path parameters

- `subscriberId` string, required

## Headers

- `Content-Type` string, required
- `Authorization` string, required

## Request body

- object
  - `paymentMethodTypeCode` string, required: The type of payment instrument e.g. MMO, QTA, VMP. See “Payment Method Type Codes” in Appendix B for more.
  - `paymentMethodCode` string, required: A unique Identifier of payment instrument issuer e.g. GTMM, FBN
  - `frontEndPartnerId` string, required: A unique Identifier of App developer e.g. GTMM
  - `tokenLifeTimeInMinutes` string: The time this Paycode token should expire
  - `payWithMobileChannel` string, required: Paycode channel. This can either be ATM, POS, Agent and WEB
  - `amount` string, required: Transaction amount. If payWithMobileChannel is ATM, this is Mandatory, if it is POS the purchase amount (the amount entered during transaction with Paycode) cannot be higher than this value
  - `ttid` string, required: Terminal Transaction ID. A unique generated id sent from the client application.
  - `codeGenerationChannelProvider` string: The Service Provider for the Code Generation Channel. If this value is not sent, the Front End Partner will be assumed to be the Code Generation Channel Provider. A value should be sent if the Code Generation Channel provider is different from the From End Partner.
  - `oneTimePin` string: The one time PIN to be used to cashout Paycode at ATM. This value is Mandatory for ATM Cashout
  - `accountNo` string: This is the account no of the subscriber. This value is Mandatory if subscriber will be auto-enrolled if not existing. This is only for clients who wish to auto-enroll on Interswitch mPin platform during Paycode generation.
  - `accountType` string: This is the account type of the subscriber. This value is Mandatory if subscriber will be auto-enrolled if not existing. This is only for clients who wish to auto-enroll on Interswitch mPin platform during Paycode generation
  - `codeGenerationChannel` string: This is used to indicate the channel where Paycode will be generated. See Appendix “Paycode Code Generation Channels” for valid channels.
  - `autoEnroll` string: This holds a true or false value. “True” if an account holder is to be auto-enrolled if no mPin card is found, and “false” if the account holder is not to be auto-enrolled. This field defaults to “false” if no value is sent
  - `transactionRef` string: Unique transaction reference. To be used as unique identifier in call to cancel token.
  - `beneficiaryNumber` string: Mobile number of token beneficiary
  - `paymentMethodIdentifier` string, required
  - `macData` string, required
  - `pinBlock` string, required
  - `secure` string, required
  - `subscriberId` string, required
  - `providerToken` string, required
  - `transactionType` string, required

## Response `200`

200

## Other responses

- `400`: 400

---

[API](https://skmtc.dev/interswitchgroup/apis/ipg.md) - [All operations](https://skmtc.dev/interswitchgroup/apis/ipg/llms.txt) - [OpenAPI document](https://skmtc.dev/interswitchgroup/apis/ipg/revisions/98dead048190?raw)
