Debit funds from a wallet
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.
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 debit
Amount to debit. Must be greater than zero and not exceed available balance.
double0.01 <= valueCurrency code in ISO 4217 format. Defaults to INR.
"INR"Your unique reference number for idempotency and tracking
Nature of the debit. C2M for customer-to-merchant, P2P for peer-to-peer, BILL_PAY for bill payments.
"C2M" | "P2P" | "BILL_PAY"Transaction description. Optional.
Name of the recipient or merchant. Optional.
Response Body
application/json
application/json
curl -X POST "https://api.m2p.com/Yappay/transaction-manager/debit" \ -H "Content-Type: application/json" \ -d '{ "kitNo": "KIT20260306001234", "amount": 2500, "currency": "INR", "externalTransactionId": "ACME-TXN-20260306-002", "transactionType": "C2M", "narration": "Purchase at Amazon", "beneficiaryName": "Amazon India" }'{
"status": "success",
"data": {
"transactionId": "TXN20260306005678",
"externalTransactionId": "ACME-TXN-20260306-002",
"amount": 2500,
"availableBalance": 17500,
"transactionStatus": "COMPLETED",
"transactionDate": "2026-03-06T11:00:00Z"
}
}{
"result": null,
"exception": {
"detailMessage": "Not enough balance in the account",
"shortMessage": "Insufficient balance",
"errorCode": "Y601",
"languageCode": "en"
},
"pagination": null
}Credit funds to a wallet (load money) POST
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.
Get wallet balance for a customer or entity GET
Retrieve balance information for a specified customer, corporate entity, or tenant. This is a GET API where the entity ID is passed as a path parameter (no request body). Returns an array of balance entries, one per product associated with the entity. Each entry contains the available balance and the lien (held) balance. Balance represents funds available for transactions. Lien balance represents funds that are temporarily held due to pending transactions, disputes, or other holds. The actual spendable amount is the balance minus the lien balance.
