Credit funds to a wallet (load money)
Load funds into a customer wallet. This API credits the specified amount to the wallet associated with the provided kit number.
Idempotent on the externalTransactionId field. If the same externalTransactionId is sent again, the system returns the original transaction result without processing a duplicate credit.
The transactionType field indicates the nature of the credit. Common values are M2C (merchant-to-customer transfer), LOAD (wallet loading), and REFUND (refund of a previous purchase).
The amount must be a positive number. Currency defaults to INR if not specified.
Authorization
BearerAuth TenantHeader JWT Bearer token obtained from the /auth/login endpoint
In: header
Tenant identifier provided by M2P (e.g. ENBDTABBY)
In: header
Request Body
application/json
Kit number of the card or wallet to credit
Amount to credit. Must be greater than zero.
double0.01 <= valueCurrency code in ISO 4217 format. Defaults to INR if not provided.
"INR"Your unique reference number for this transaction. Used for idempotency - duplicate requests with the same ID return the original result.
Nature of the credit. M2C for merchant-to-customer transfer, LOAD for wallet loading, REFUND for purchase refund.
"M2C" | "LOAD" | "REFUND"Transaction description or note. Optional but recommended for customer statements.
Name of the sender or source of funds. Optional.
Response Body
application/json
application/json
application/json
curl -X POST "https://api.m2p.com/Yappay/transaction-manager/credit" \ -H "Content-Type: application/json" \ -d '{ "kitNo": "KIT20260306001234", "amount": 5000, "currency": "INR", "externalTransactionId": "ACME-TXN-20260306-001", "transactionType": "M2C", "narration": "Salary credit - March 2026", "senderName": "ACME Corp Payroll" }'{
"status": "success",
"data": {
"transactionId": "TXN20260306001234",
"externalTransactionId": "ACME-TXN-20260306-001",
"amount": 5000,
"availableBalance": 20000,
"transactionStatus": "COMPLETED",
"transactionDate": "2026-03-06T10:30:00Z"
}
}{
"result": null,
"exception": {
"detailMessage": "Transaction amount must be greater than zero",
"shortMessage": "Invalid amount",
"errorCode": "TXN_002",
"languageCode": "en"
},
"pagination": null
}{
"result": null,
"exception": {
"detailMessage": "Transaction with this externalTransactionId already exists",
"shortMessage": "Duplicate transaction",
"errorCode": "TXN_009",
"languageCode": "en"
},
"pagination": null
}Authenticate and obtain JWT token POST
Obtain a JWT access token for API access. This is the entry point for all API interactions. The token must be included in the Authorization header of all subsequent API calls as a Bearer token. Rate limited to 10 requests per minute per IP address. This endpoint does not require prior authentication.
Debit funds from a wallet POST
Debit funds from a customer wallet. This API withdraws the specified amount from the wallet associated with the provided kit number. Idempotent on the externalTransactionId field. Duplicate requests with the same ID return the original result. The transactionType field indicates the nature of the debit. Common values are C2M (customer-to-merchant transfer), P2P (peer-to-peer transfer), and BILL_PAY (utility or bill payment). The amount must be a positive number and must not exceed the available balance. Insufficient balance returns error code Y212 or TXN_003.
