Set multiple card preferences at once
Update multiple transaction channel preferences simultaneously for a customer card. This is the bulk alternative to the updatePreferenceExternal API and is recommended for initial preference setup to minimize the number of API calls.
Only include the preferences you want to modify in the request body. Preferences not included will remain unchanged. All included preferences are updated at the same time. Changes take effect immediately.
Boolean values control each channel - true to enable, false to disable. At least one preference should be provided in the request.
Comparison with updatePreferenceExternal - setPreferences updates multiple preferences at once using boolean true/false values. updatePreferenceExternal updates one preference at a time using ALLOWED/NOTALLOWED strings. setPreferences requires fewer API calls for multiple changes.
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
Customer ID. Mandatory.
length <= 16Kit number for a specific card. Optional.
length <= 20Corporate identifier. Optional.
length <= 50Enable (true) or disable (false) e-commerce transactions. Include only if updating this preference.
Enable (true) or disable (false) POS store transactions. Include only if updating.
Enable (true) or disable (false) ATM cash withdrawals. Include only if updating.
Enable (true) or disable (false) contactless NFC payments. Include only if updating.
Enable (true) or disable (false) international transactions. Include only if updating.
Enable (true) or disable (false) dynamic currency conversion. Include only if updating.
Advanced allowed rule configuration. Optional.
Advanced disallowed rule configuration. Optional.
Transaction limit configuration. Optional.
Response Body
application/json
curl -X POST "https://api.m2p.com/Yappay/business-entity-manager/setPreferences" \ -H "Content-Type: application/json" \ -d '{ "entityId": "ABCDEF", "ecom": true, "pos": false, "atm": false, "contactless": false, "international": false, "dcc": true }'{
"result": true,
"exception": null,
"pagination": null
}Request a physical card for delivery POST
Request a physical card for a customer who currently has only a virtual card. The physical card will be manufactured and mailed to the provided delivery address. The entityId and kitNo fields are explicitly validated by the backend. If requesting physical delivery, provide a complete delivery address in the addressDto. The virtual card remains active until the physical card is activated by the customer. The same kitNo is used for both the virtual and physical card. Address field constraints - Each address line (address1, address2, address3) allows maximum 35 characters, alphanumeric with spaces. City accepts only alphabetic characters without spaces. State accepts alphabetic characters with spaces. Postal code is 6 digits for India. The aliasName field (max 30 characters) is printed on the physical card. Address formation for card printing - Version 1 (Indian card printers) - Each field max 35 chars. If any field exceeds limit, first 140 chars of address1 + address2 + city, plus first 35 chars of state. Version 2 (Non-Indian card printers) - Total 175 characters with tilde separator for line breaks, includes address1, address2, address3, city, state, country.
Update a single card transaction channel preference POST
Enable or disable a single transaction channel for a customer card. This API updates one preference at a time. For bulk preference updates, use the setPreferences API instead which is more efficient. Changes take effect immediately after a successful response. Use status ALLOWED to enable a channel and NOTALLOWED to disable it. Supported channel types are ATM (cash withdrawals), POS (point of sale purchases), ECOM (online purchases), CONTACTLESS (tap-to-pay NFC payments), INTERNATIONAL (foreign currency transactions), and DCC (dynamic currency conversion at merchant).
