m2pfintech
API IntegrationIntegration Types

Bank PSP Integration

Step-by-step integration guide for banks building their own UPI app as a Payment Service Provider.

AspectDetail
Partner TypeBank with NPCI PSP license
App OwnershipPartner builds and owns the customer-facing UPI app
Integration ModeM2P Android/iOS Headless SDK + optional Direct API
M2P RoleUPI Switch, Profile, Transaction, Mandate processing — full backend
Partner RoleApp UI/UX, customer communication, bank branding

Integration Phases

Phase 1 — Environment Setup

StepActionOwner
1Setup UAT environmentM2P
2Review integration documentationPartner + M2P
3Configure webhook callback URLPartner
UAT authentication and payload encryption are not required during initial integration for ease of debugging. Encryption is enabled at end of UAT for sanity before production.

Phase 2 — User Onboarding (Profile APIs)

StepAPIEndpointPurpose
1SIM Bind RequestPOST /upi/v1/wrapper/util/simBindReqRequest SIM binding
2Check SIM BindPOST /upi/v1/wrapper/util/checkSimBindStatusValidate SIM binding
3List Account ProvidersPOST /upi/v1/wrapper/util/listAccPvdList NPCI-registered banks
4Fetch AccountsPOST /upi/v1/wrapper/profile/accountFetchReqInitiate account fetch
5Fetch Accounts ResponsePOST /upi/v1/wrapper/profile/accountFetchResGet account fetch result
6Add AccountPOST /upi/v1/wrapper/profile/addAccountLink account to profile

If account needs UPI PIN setup:

StepAPIEndpointPurpose
7OTP RequestPOST /upi/v1/wrapper/profile/otpReqInitiate OTP for PIN set
8OTP ResponsePOST /upi/v1/wrapper/profile/otpRespCheck OTP verification
9Set UPI PINPOST /upi/v1/wrapper/profile/reqregmobSet UPI PIN

Phase 3 — Transaction APIs

APIEndpointPurpose
Send Money (P2P)POST /upi/v1/wrapper/transaction/reqPayReqPay to another UPI ID
Pay Merchant (P2M)POST /upi/v1/wrapper/transaction/reqPayReqPay merchant QR/VPA
Collect RequestPOST /upi/v1/wrapper/transaction/reqPayReqInitiate collect request
Authorize CollectPOST /upi/v1/wrapper/transaction/collectAuthApprove incoming collect
Fetch Collect RequestsGET /upi/v1/wrapper/transaction/fetchCollectRequest/{user}List collect requests
Check Txn StatusPOST /upi/v1/wrapper/transaction/checkTxnReqQuery transaction status
Balance InquiryPOST /upi/v1/wrapper/transaction/checkBalanceReqCheck account balance
Transaction HistoryPOST /upi/v1/wrapper/transaction/fetchTransactionsRetrieve transaction list

Phase 4 — VPA & Account Management

APIEndpointPurpose
Get ProfilePOST /upi/v1/wrapper/profile/getProfileFetch all profile details
Set Primary VPAPOST /upi/v1/wrapper/profile/setAsPrimaryVpaSet default VPA
VPA ActionsPOST /upi/v1/wrapper/profile/vpa/{action}Disable, delete VPA
Account ActionsPOST /upi/v1/wrapper/profile/account/{action}Delete, enable, disable account

Phase 5 — Mandate / AutoPay

APIEndpointPurpose
Create MandatePOST /upi/v1/wrapper/transaction/mandate/createmandateSet up recurring payment
Fetch MandatesPOST /upi/v1/wrapper/transaction/mandate/fetchmandateList mandates
Mandate ActionPOST /upi/v1/wrapper/transaction/mandate/mandateActionApprove, pause, resume, revoke
Execute PaymentPOST /upi/v1/wrapper/merchant/payment/executeExecute mandate payment

Phase 6 — Dispute & Complaint

APIEndpointPurpose
Create DisputePOST /upi/v1/wrapper/transaction/createDisputeRaise dispute
Fetch DisputePOST /upi/v1/wrapper/transaction/fetchDisputeTrack dispute resolution

Phase 7 — Optional: Delegate & UPI Lite

APIEndpointPurpose
Delegate AddPOST /upi/v1/wrapper/profile/reqDelegateAddAdd delegate
Delegate DetailsPOST /upi/v1/wrapper/profile/getDelegateDetailsFetch delegate info
Delegate ActionPOST /upi/v1/wrapper/profile/delegateactionApprove, reject, revoke
Delegate TransactionPOST /upi/v2/wrapper/transaction/reqDelegateAuthInitiate delegate payment
UPI Lite EnablePOST /upi/v1/wrapper/lite/enableEnable UPI Lite wallet
UPI Lite Top UpPOST /upi/v1/wrapper/lite/topupFund UPI Lite balance
UPI Lite PayPOST /upi/v1/wrapper/lite/payInstant payment from Lite

What M2P Provides

#ActionDescription
1NPCI switch connectivityEstablish & certify UPI switch connectivity
2VPA handle registrationRegister bank's handle with NPCI
3Tenant configurationBusiness configuration (type: PSP)
4CBS adapter setupConnect to bank's Core Banking System
5HSM integrationHardware Security Module for cryptographic operations
6Callback registrationConfigure partner's webhook URL
7Rate limit configurationPer-API rate limits
8Admin portal setupBank-branded admin portal
9NPCI UAT certificationRun all NPCI test scenarios
10Production deploymentDeploy to production with monitoring

What the Partner Builds

#ActionDescription
1Mobile app (Android + iOS)UPI app with all user flows
2SDK integrationIntegrate M2P Headless SDK
3Webhook consumerHTTP endpoint for transaction notifications
4PIN entry UISecure UPI PIN input (SDK provides secure input)
5QR scannerCamera-based QR scanning for P2M
6Intent handlerHandle upi://pay?... links
7Push notificationsFirebase/APNs for payment alerts
8Analytics & monitoringTrack success rates, errors, performance

On this page