You are on page 1of 424

VERSION Descriptions Acquirer Issuer

Subset A iOS
Subset B CL 1.5 (as ACQUIRER)
Subset C CL 1.5 (as ISSUER)
Subset D CL 1.5 (ISSUER + ACQUIRER)
Subset E USSD only testing (as ISSUER)
Subset F USSD only testing (as ACQUIRER)
Subset G USSD only testing (ISSUER + ACQUIRER)
Subset H Aadhaar & Aadhar+IIN cases ACQUIRER
Subset I Aadhaar & Aadhar+IIN cases ISSUER
Subset J Aadhaar & Aadhar+IIN cases (ISSUER + ACQUIRER)
Subset K Mobile & Mobile + MMID ACQUIRER
Subset L Mobile & Mobile + MMID ISSUER
Subset M Mobile & Mobile + MMID (ACCQUIRER +ISSUER)
Subset N Web Collect(Acquirer)
Subset O Web Collect(Issuer)
Subset P Web Collect(Acquirer+ Issuer)
Subset Q ND+NC+NO+OD+OC
Subset R Multiple Payee (Acquirer)
Subset S Multiple Payee(Issuer)
Subset T Multiple Payee(Acquirer + Issuer)
Subset U Min Amount(Acquirer)

Subset-V UPI 2.0


(FIR+Pre-approved+ versioning+ new spec changes+CS-respCode)

Subset-W
Mandate ( Issuer )
Subset-X
Mandate ( Issuer + Acquirer)
Subset-Y Mobile Banking Acquirer(Refer to the steps PR_0
9)

Subset-Z Assisted Model Acquirer(Refer to the steps PR_0


9 )
Test cases total count
18
22
22
38
2
2
4
2
3
5
1
3
4
10

15
25
12
1
3
4
5

125

27

185

33

21
HOME

Subset-A Subset-B Subset-C Subset-D Subset-E Subset-F Subset-G

USSD only
CL 1.5 USSD only USSD only
CL 1.5 CL 1.5 testing
iOS (ISSUER + testing testing
(ACQUIRER) (ISSUER) (ISSUER +
ACQUIRER) (ISSUER) (ACQUIRER) ACQUIRER)

MT_6 MT_3 MT_6 MT_3 MT_33 PR_28 MT_33

MT_7 MT_6 MT_7 MT_6 MT_37 PE_16 MT_37

MT_8 MT_7 MT_8 MT_7 PR_28

MT_9 MT_8 MT_9 MT_8 PE_16

MT_10
MT_9 MT_10
MT_9

MT_11 MT_10
MT_11 MT_10

MT_12 MT_11 MT_12 MT_11

MT_13 MT_12 MT_13 MT_12

MT_14 MT_13 MT_14 MT_13

MT_16 MT_14 MT_16 MT_14

MT_20
MT_16 MT_20
MT_16

MT_22 MT_20
MT_25 MT_20

MT_23 MT_25 MT_29 MT_25


MT_26 MT_29 MT_30
MT_26
PR_1 MT_30
MT_31 MT_28
PR_18 MT_31 MT_32 MT_29
PE_1 MT_32 MT_35 MT_30

PE_18 MT_36 MT_33 MT_36


MT_34 MT_36 MT_31
MT_35 RE_1 MT_32
PR_1 BE_1 MT_34
PE_1 MT_37 MT_35
RE_1
RE_14
RE_24
RE_25
RE_26
RE_27
RE_28
RE_29
BE_1
BE_17
PR_1
PR_22
PR_24
PE_1
MT_33
MT_37
HOME

BANKS TO BE ONBOARDED FOR


Subset-H Subset-I Subset-J Subset-K Subset-L Subset-M Subset-N

Mobile &
Aadhaar & Aadhaar & Aadhaar & Mobile & Mobile & Mobile+MM Web
Aadhar+IIN Aadhar+IIN Aadhar+IIN cases Mobile+MMID Mobile+M ID cases Collect
cases cases (ISSUER + cases MID cases (ISSUER + (Acquirer)
(ACQUIRER) (ISSUER) ACQUIRER) (ACQUIRER) (ISSUER) ACQUIRER)

PR_2 RE_4 PR_2 PR_5 RE_17 PR_5 MT_1

PR_3 BE_3 PR_3 BE_4 RE_17 MT_2

BE_5 RE_4 BE_15 BE_4 MT_5

BE_3 BE_15 MT_17

BE_5 MT_18

MT_19

MT_24

PE_1

PE_5

PE_15
Subset-O Subset-P Subset-Q Subset-R Subset-S Subset-T Subset-U Subset -V

UPI 2.0
(FIR+Pre-
Web ND+NC+N Multiple
Web Multiple Payee Min approved+
Collect O+OD+OC Payee Multiple Payee (Acquirer +
Collect (Acquirer Amount versioning+
(Issuer)
(Issuer) + Issuer) cases (Acquirer) Issuer) (Acquirer) new spec
changes+CS-
respCode)

RE_32 MT_1 RE_33 PR_8 RE_8 PR_8 PR_10


MT_38

BE_1 MT_2 RE_34 RE_23 RE_8 PR_23 MT_40

BE_2 MT_5 RE_35 BE_8 RE_23 PR_25 MT_42

BE_6 MT_17 RE_36 BE_8 PE_5 MT_44

BE_7 MT_18 RE_37 PR 40


MT_45

BE_8 MT_19 RE_38 MT_46

BE_9 MT_24 PR_29 MT_47

BE_10
PE_1 PE_19 MT_48

BE_11 PE_5 BE_21 MT_49

BE_12 PE_15 BE_22 MT_50

BE_13 RE_32 BE_23 MT_51

BE_15 BE_1 BE_24 MT_52


BE_17 BE_2 MT_53
BE_19 BE_6 MT_54
BE_20
BE_7 MT_56
BE_8 MT_58
BE_9 MT_60

BE_10
MT_61
BE_11 MT_62
BE_12 MT_63
BE_13 MT_64
BE_15 MT_65
BE_17 MT_66
BE_19 MT_67
BE_20
MT_68
MT_69
MT_70

MT_71
MT_72
MT_73
PR_30

PR_31
PR_33
PR_34
PR_35
PR_36
PR_37
PR_38
PR_39
PR_41
PR_42
PR_43
PR_44
PR_45
PR_47
PR_71
PR_72
PR_73
PR_74
PR_75
PR_76
PR_79
PR_80

PR_81
PR_82
PR_83
PR_84
PR_85
PR_86
PR_87
PR_88
PR_89
PR_90

PR_91
PR_92
PR_93
PR_94
PR_95
PR_96
PR_97
PR_98
PR_99
PR_10
0

PR_10
1
PR_10
2
PE_20

PE_21
PE_22
PE_23
PE_24
PE_25
PE_30

PE_31
PE_32
PE_33
PE_34
PE_35
PE_36
PE_37
PE_38
PE_39
PE_40

PE_41
PE_42
PE_43
PE_44
PE_45
RE_39
RE_58
RE_59
RE_60

RE_61
BE_25
BE_34
BE_35
BE_36
BE_37
BE_38
BE_39
BE_40

BE_41
BE_42
PR_69
PR_70

PE_29
RE_56
RE_57
BE_26
BE_27
BE_28
BE_29
BE_30

BE_31
BE_32
BE_33
Subset -W Subset-X Subset-Y Subset-Z

Mobile Assisted
Banking Model
Mandate Mandate
( Issuer + Acquirer) Acquirer Acquirer
( Issuer ) (Refer to the (Refer to the
steps PR_09) steps PR_09 )

MA_MT_RE_1 MA_MT_PR_1
MT_0
1 MT_0
1
MA_MT_RE_2 MA_MT_PR_2
MT_0
2 MT_0
2
MA_MT_RE_3 MA_MT_PR_3
MT_0
5 MT_0
5
MA_MT_RE_4 MA_MT_PR_4
MT_17 MT_17
MA_MT_RE_5 MA_MT_PR_5
MT_18 MT_18
MA_MT_RE_6 MA_MT_PR_6
MT_19 MT_19
MA_MT_RE_7 MA_MT_PR_7
MT_24 MT_24
MA_MT_RE_8 MA_MT_PR_8
PR_0
1 PR_0
1
MA_MT_RE_9 MA_MT_PR_9
PR_0
4 PR_0
3
MA_MT_RE_10
MA_MT_PR_10

PR_0
6 PR_0
6
MA_MT_RE_11 MA_MT_PR_11
PR_0
9 PR_13
RE_40
MA_MT_PR_12 PR_13 PR_14
RE_41 MA_MT_PR_13 PR_14 PR_26
RE_42 MA_MT_PR_14 PR_15 PR_27
RE_43 MA_MT_PR_15 PR_17 PR_29
RE_44 MA_MT_PR_16 PR_18 PE_0
4
RE_45 MA_MT_PR_17 PR_19 PE_0
9
RE_46 MA_MT_PR_18 PR_20
PE_10

RE_47 MA_MT_PR_19 PR_21 PE_11


RE_48 MA_MT_PR_20
PR_22 PE_13
RE_49 MA_MT_PR_21 PR_24 PE_14
RE_50
MA_MT_PR_22 PR_26
RE_51 MA_MT_PR_23 PR_27
RE_52 MA_MT_PR_24 PR_29
RE_53 MA_MT_PR_25 PE_0
1
RE_54 MA_MT_PR_26 PE_0
4
RE_55 MA_MT_PR_27 PE_0
9
MA_MT_PR_28 PE_10

MA_MT_PR_29 PE_11
MA_MT_PR_30
PE_13
MA_MT_PR_31 PE_14
MA_MT_PR_32 PE_15
MA_MT_PR_33 PE_19
MA_MT_PR_34
MA_MT_PR_35
MA_MT_PR_36
MA_MT_PR_37
MA_MT_PR_38
MA_MT_PR_39
MA_MT_PR_40

MA_MT_PR_41
MA_MT_PR_42
MA_MT_PR_43
MA_MT_PR_44
MA_MT_PR_45
MA_MT_PR_46
MA_MT_PR_47
MA_MT_PR_48
MA_MT_PR_49
MA_MT_PR_50

MA_MT_PR_51
MA_MT_PR_52
MA_MT_PR_53
MA_MT_PR_54
MA_MT_PR_55
MA_MT_PR_56
MA_MT_PR_57
MA_MT_PR_58
MA_MT_PR_59
MA_MT_PR_60

MA_MT_PR_61
MA_MT_PR_62
MA_MT_PR_63
MA_MT_PR_64
MA_MT_PE_1
MA_MT_PE_2
MA_MT_PE_3
MA_MT_PE_4
MA_MT_PE_5
MA_MT_PE_6
MA_MT_PE_7
MA_MT_PE_8
MA_MT_PE_9
MA_MT_PE_10

MA_MT_PE_11
MA_MT_PE_12
MA_MT_PE_13
MA_MT_PE_14
MA_MT_PE_15
MA_MT_PE_16
MA_MT_PE_17
MA_MT_PE_18
MA_MT_PE_19
MA_MT_PE_20

MA_MT_PE_21
MA_MT_PE_22
MA_MT_PE_23
MA_MT_PE_24
MA_MT_PE_25
MA_MT_PE_26
MA_MT_PE_27
MA_MT_PE_28
MA_MT_PE_29
MA_MT_PE_30

MA_MT_PE_31
MA_MT_PE_32
MA_MT_PE_33
MA_MT_PE_34
MA_MT_PE_35
MA_MT_PE_36
MA_MT_PE_37
MA_MT_PE_38
MA_MT_PE_39
MA_MT_PE_40

MA_MT_PE_41
MA_MT_PE_42
MA_MT_PE_43
MA_MT_PE_44
MA_MT_PE_45
MA_MT_PE_46
MA_MT_PE_47
MA_MT_PE_48
MA_MT_RE_1
MA_MT_RE_2
MA_MT_RE_3
MA_MT_RE_4
MA_MT_RE_5
MA_MT_RE_6
MA_MT_RE_7
MA_MT_RE_8
MA_MT_RE_9
MA_MT_RE_10

MA_MT_RE_11
MA_MT_RE_12
MA_MT_RE_13
MA_MT_RE_14
MA_MT_RE_15
MA_MT_RE_16
PR_46
PR_47
PR_48
PR_49
PR 50

PR 51
PR 52
PR 53
PR 54
PR 55
PR 56
PR 57
PR 58
PR 59
PR 60

PR 61
PR 62
PR 63
PR 64
PR 65
PR 66
PR 67
PR 68
PR_10
3
PR_10
4
PR_10
5
PE 27
PE 28
PE_46
PE_47
RE_40

RE_41
RE_42
RE_43
RE_44
RE_45
RE_46
RE_47
RE_48
RE_49
RE_50

RE_51
RE_52
RE_53
RE_54
RE_55
RE_62
RE_63
RE_64
RE_65
RE_66
RE_67
RE_68
RE_69
RE_70

RE_71
BE_43
S.No TEST ID API DETAILS

API NAME : Heart beat message


MT_1 TYPEENTITY
: Hbt
1 INVOLVED : Acquirer and
Issuer

API NAME : List for PSPs


2 MT_2 TYPE : ListPSP
ENTITY INVOLVED : Acquirer

API NAME : List Account Providers


3 MT_3 TYPE : ListAccPvd
ENTITY INVOLVED : Acquirer

API NAME : List All Keys


4 MT_4 TYPE : ListKeys
ENTITY INVOLVED : Acquirer

API NAME : List Verified Address Entries


5 MT_5 TYPE : ListVae
ENTITY INVOLVED : Acquirer

API NAME : Request for Otp


6 MT_6 TYPE : Otp
ENTITY INVOLVED : Acquirer and Issuer

API NAME : Request for Mobile


Registration TYPE : ReqRegMob
7 MT_7 ENTITY INVOLVED :
Acquirer and Issuer
API NAME : Request for Mobile
Registration TYPE :
8 MT_8 ReqRegMob/ReqOTP
ENTITY INVOLVED : Acquirer and
Issuer

API NAME : Request for Mobile


Registration TYPE : ReqRegMob
9 MT_9 ENTITY INVOLVED :
Acquirer and Issuer

API NAME : Request for Mobile


Registration TYPE : ReqRegMob
10
MT_10
ENTITY INVOLVED :
Acquirer and Issuer

API NAME : Request for Mobile


Registration TYPE : ReqRegMob
11 MT_11 ENTITY INVOLVED :
Acquirer and Issuer
API NAME : Request for Account List
MT_12 TYPEENTITY
: ListAccount
12 INVOLVED : Acquirer and
Issuer

API NAME : Request for Account List


MT_13 TYPEENTITY
: ListAccount
13 INVOLVED : Acquirer and
Issuer

API NAME : Set credential Request-


PINcredentials
14 MT_14 TYPE : SetCre
ENTITY INVOLVED : Acquirer and Issuer

MT_15

API NAME : Request for Mobile


MT_16 Registration TYPE ENTITY
: ReqRegMob
15 INVOLVED :
Acquirer and Issuer

API NAME : Check Txn Status


16 MT_17 TYPE : ChkTxn
ENTITY INVOLVED : Acquirer

API NAME : Validate Address Request


17 MT_18 TYPE : ValAdd
ENTITY INVOLVED : Acquirer

API NAME : Manage Verified Address


18 MT_19 Entries TYPE : ManageVae
ENTITY INVOLVED : Acquirer
API NAME : Request for Balance Enquiry
TYPE : BalEnq
19 MT_20
ENTITY INVOLVED :
Acquirer and Issuer

MT_21

API NAME : Request for Balance Enquiry


TYPE : BalEnq
20
MT_22 ENTITY INVOLVED :
Acquirer and Issuer

API NAME : Request for Balance Enquiry


TYPE : BalEnq
21 MT_23 ENTITY INVOLVED :
Acquirer and Issuer

API NAME : Validate Address Request


22 MT_24 TYPE : ValAdd
ENTITY INVOLVED : Acquirer

API NAME : Request for Account List


MT_25 TYPEENTITY
: ListAccount
23 INVOLVED : Acquirer and
Issuer

API NAME : Request for Balance Enquiry


TYPE : BalEnq
24 MT_26 ENTITY INVOLVED :
Acquirer and Issuer

MT_27

API NAME : Set credential Request-


PINcredentials
25 MT_28 TYPE : SetCre
ENTITY INVOLVED : Acquirer and Issuer
API NAME : Request for Account List
26 MT_29 TYPE : ListAccount
ENTITY INVOLVED : Acquirer and
Issuer

API NAME : Request for Account List


MT_30
TYPEENTITY
: ListAccount
27 INVOLVED : Acquirer and
Issuer

API NAME : Request for Mobile


Registration TYPE : ReqRegMob
28 MT_31 ENTITY INVOLVED :
Acquirer and Issuer

API NAME : Request for Mobile


Registration TYPE : ReqRegMob
29 MT_32 ENTITY INVOLVED :
Acquirer and Issuer

API NAME : Request for SetCredentials


TYPE : SetCre
30
MT_33 ENTITY
INVOLVED : Issuer
API NAME : Request for Account List
31 MT_34 TYPE : ListAccount
ENTITY INVOLVED : Acquirer

API NAME : Request for Mobile


Registration TYPE : ReqRegMob
32 MT_35 ENTITY INVOLVED :
Acquirer and Issuer

API NAME : Request for Mobile


Registration TYPE : ReqRegMob
33 MT_36 ENTITY INVOLVED :
Acquirer and Issuer

API NAME : Request for Mobile


Registration TYPE : ReqRegMob
34 MT_37 ENTITY INVOLVED :
Issuer
API Name : ReqListAccount
Type : ListAccount
Entity Involved : Acquirer

38 MT_38

MT_39
API Name : ReqManageVae
Type : ManageVae
Entity Involved : Acquirer

39 MT_40

API Name : ReqValAdd


Type : ValAdd
Entity Involved : Acquirer

41 MT_42

API Name : RespvalAdd


Type : ValAdd
Entity Involved : Acquirer

43 MT_44

API Name : ReqChkTxn


Type : ChkTxn
Entity Involved : Acquirer

44 MT_45
API Name : ReqChkTxn
Type : ChkTxn
Entity Involved : Acquirer

45 MT_46

API Name : RespChkTxn


Type : ChkTxn
Entity Involved : Issuer

46 MT_47

API Name : RespChkTxn


Type : ChkTxn
Entity Involved : Issuer

47 MT_48

API Name : RespChkTxn


Type : ChkTxn
Entity Involved : Issuer
48 MT_49

API Name : ReqListVae


Type : ListVae
Entity Involved : Acquirer
49 MT_50

API NAME :ReqListKeys


TYPE : ListKeys
ENTITY INVOLVED :
Acquirer

50
MT_51
API NAME :ReqListKeys
TYPE : ListKeys
ENTITY INVOLVED :
Acquirer

51 MT_52

API NAME : ResplistAccount


TYPE : ListAccount
ENTITY INVOLVED : Issuer

52 MT_53

API Name : RespValAdd


Type : ValAdd
Entity Involved : Acquirer

53 MT_54

API NAME : ReqSetCre


TYPE : SetCre
ENTITY INVOLVED :
Acquirer

55 MT_56

API Name : RespChkTxn


Type : ChkTxn
Entity Involved : Issuer

57 MT_58
API NAME : ReqOTP
TYPE : Otp
ENTITY INVOLVED: Acquirer

59 MT_60

API NAME : ReqOTP


TYPE : Otp
ENTITY INVOLVED : Acquirer

60
MT_61

API NAME : RespOTP


TYPE : Otp
ENTITY INVOLVED : Issuer
61 MT_62

API NAME : ReqBalEnq


TYPE : BalEnq
ENTITY INVOLVED : Acquirer

62 MT_63

API NAME : ReqBalEnq


TYPE : BalEnq
ENTITY INVOLVED : Acquirer

63 MT_64

API NAME : RespBalEnq


TYPE : BalEnq
ENTITY INVOLVED : Issuer

64 MT_65
API Name : ReqListPsp
Type : ListPsp
Entity Involved : Acquirer
65 MT_66

API Name : ReqListAccPvd


Type : ListAccPvd
Entity Involved : Acquirer
66 MT_67

API NAME's : ListPsp, ListAccPvd,


heartbeat, pending message, manage
Vae, verified address entries, check txn,
ListKeys, transaction confirmation

TYPE : ListPSP, ListAccPvd, ListKeys, List


67 MT_68 Vae, ManageVae, Hbt, PendingMsg,
TxnConfirmation & ChkTxn
ENTITY INVOLVED :
Acquirer

API NAME's : ListPsp, ListAccPvd,


heartbeat, pending message, manage
Vae, verified address entries, check txn,
ListKeys, transaction confirmation

TYPE : ListPSP, ListAccPvd, ListKeys, List


68 MT_69 Vae, ManageVae, Hbt, PendingMsg,
TxnConfirmation & ChkTxn
ENTITY INVOLVED :
Acquirer

API NAME's : List account, mobile


registration, balance enquiry, validate
address, set credential& OTP

TYPE : ListAccount, ReqRegMob, BalEnq,


SetCre, Otp &ValAdd
69 MT_70
ENTITY INVOLVED : Issuer

API NAME's : List account, mobile


registration, balance enquiry, validate
address, set credential& OTP

TYPE : ListAccount, ReqRegMob, BalEnq,


SetCre, Otp &ValAdd
70
MT_71 ENTITY INVOLVED : Issuer
API NAME's : List account, mobile
registration, balance enquiry, validate
address, set credential& OTP

TYPE : ListAccount, ReqRegMob, BalEnq,


SetCre, Otp &ValAdd
71 MT_72 ENTITY INVOLVED : Acquirer

API NAME's : List account, mobile


registration, balance enquiry, validate
address, set credential& OTP
72 MT_73 TYPE : ListAccount, ReqRegMob, BalEnq,
SetCre, Otp &ValAdd
ENTITY INVOLVED : Issuer

API NAME : ResplistAccount


TYPE : ListAccount
ENTITY INVOLVED : Issuer

73 MT_74

API NAME : ReqBalEnq


TYPE : BalEnq
ENTITY INVOLVED : Acquirer

74 MT_75
HOME
DESCRIPTION
This API is a mechanism for UPI system monitoring (monitoring
connection with PSPs)

(Note:
Scenario1. PSP Should fire ReqHbt.
Scenario2. If NPCI send ReqHbt, the PSP should send the RespHbt)

This API allows the PSPs to request for the list of all registered PSPs for
local caching.

This API pulls registered account providers before registering a customer


account within the PSP application.

(Pre-Requisite: PSP should send the successful ACK for RespListAccPvd)

(NOTE: PSP should accept the "RegMobFormat" field in the


RespListAccPvd and also update the format at their end.)

This API allows the PSPs to request for and cache the list of public keys of
UPI.

This API offers a mechanism to protect customers from attempts to spoof.

This API allows the PSPs to request for an OTP for a particular customer

NOTE: OTP should be auto-populated by the PSP app

This API allows the customer to set new UPI PIN for the first time and
resetting the forgotten UPI PIN.

(NOTE: Please do this scenario by both methods mentioned below


1. In ReqRegMob, if bank/PSP is populating the Device type = "MOB" &
egDetail field type ="FORMAT1",card no, expiry date, the corresponding
cred block should contain OTP & UPI PIN)
2. In ReqRegMob, if bank/PSP is populating the Device type = "MOB" &
RegDetail field type ="FORMAT2", the corresponding cred block should
contain OTP, ATM PIN & UPI PIN)
Response code: ZT (Failure)
OTP TRANSACTION LIMIT EXCEEDED ( Number of OTP's tried has
exceeded the limit)

(NOTE: Please do this scenario by both methods mentioned below


1. In ReqRegMob, if bank/PSP is populating the Device type = "MOB" &
egDetail field type ="FORMAT1",card no, expiry date, the corresponding
cred block should contain OTP & UPI PIN)
2. In ReqRegMob, if bank/PSP is populating the Device type = "MOB" &
RegDetail field type ="FORMAT2", the corresponding cred block should
contain OTP, ATM PIN & UPI PIN)

Response code: ZR (Failure)


INCORRECT OTP

(NOTE: Please do this scenario by both methods mentioned below


1. In ReqRegMob,if bank/PSP is populating the Device type = "MOB" &
RegDetail field type ="FORMAT1", the corresponding cred block should
contain card no., expiry date, OTP & UPI PIN)
2. In ReqRegMob,if bank/PSP is populating the Device type = "MOB" &
RegDetail field type ="FORMAT2", the corresponding cred block should
contain OTP, ATM PIN & UPI PIN)

Response code: ZS (Failure)


OTP time expired

(NOTE: Please do this scenario by both methods mentioned below


1. In ReqRegMob, if bank/PSP is populating the Device type = "MOB" &
egDetail field type ="FORMAT1",card no, expiry date, the corresponding
cred block should contain OTP & UPI PIN)
2. In ReqRegMob, if bank/PSP is populating the Device type = "MOB" &
RegDetail field type ="FORMAT2", the corresponding cred block should
contain OTP, ATM PIN & UPI PIN)

This API allows the customer to set new UPI PIN for the first time. (expired
card details). Response code - XL

(NOTE: Please do this scenario by both methods mentioned below


1. In ReqRegMob, if bank/PSP is populating the Device type = "MOB" &
egDetail field type ="FORMAT1",card no, expiry date, the corresponding
cred block should contain OTP & UPI PIN)
2. In ReqRegMob, if bank/PSP is populating the Device type = "MOB" &
RegDetail field type ="FORMAT2", the corresponding cred block should
contain OTP, ATM PIN & UPI PIN)
This API allows PSPs to find the list of accounts linked to the mobile by an
account provider. No accounts available.Response code-XH

(NOTE:The acquirer has to accept the below two methods


1. In the RespListAccount, if bank/PSP is supporting FORMAT1, cred block
should only contain MPIN
2. In the RespListAccount, if bank/PSP is supporting FORMAT2, cred block
should only contain MPIN & ATM PIN

This API allows PSPs to find the list of accounts linked to the mobile by an
account provider. Verifying dlength, dtype of MPIN

Pre-requisites: The accounts listed should be both mobile banking


enabled. Main purpose of the case is to check the usage of mbeba flag

(NOTE: Please do this scenario by both methods mentioned below


1. In the RespListAccount, if bank/PSP is supporting FORMAT1, cred block
should only contain MPIN along with the "dType" and "dLength" value
2. In the RespListAccount, if bank/PSP is supporting FORMAT2, cred block
should only contain MPIN & ATM PIN along with the "dType" and
"dLength" value)

This API is required for providing a unified channel for setting and
changing UPI PIN

Test case removed


Resetting UPI PIN for an account which is blocked
Response code-YE

(NOTE: NOTE: Please do this scenario by both methods mentioned below


1. In ReqRegMob, if bank/PSP is populating the Device type = "MOB" &
egDetail field type ="FORMAT1",card no, expiry date, the corresponding
cred block should contain OTP & UPI PIN)
2. In ReqRegMob, if bank/PSP is populating the RegDetail field type
="FORMAT2", the corresponding cred block should contain OTP, ATM PIN
& UPI PIN)

This API allows the PSPs to request for the status of the transaction. The
PSPs must request for status only after the specified timeout period.

This API will be used by the PSPs when their customer wants to add a
beneficiary within PSP application (for sending & collecting money).

NPCI offers a mechanism to protect customers from attempts to spoof


well known merchants such as LIC, Indian Railways, e-commerce players,
telecom players, bill payment entities, etc. This mechanism is an API,
where the PSPs can manage, and access the common collection of
verified address entries. NPCI, with the help of PSPs, will define a process
to manage these entries
This API Allows PSP to Request for Balance enquiry for a user.

Test case removed


This API Allows PSP to Request for Balance enquiry for a user.Invalid UPI
PIN. Response code - ZM

This API Allows PSP to Request for Balance enquiry for a user - No of Pin
tries exceeded. Response code - Z6

This API will be used by the PSPs when their customer wants to add a
beneficiary within PSP application (for sending & collecting money). -
Invalid VPA. Response code - ZH

This API allows PSPs to find the list of accounts linked to the mobile by an
account provider. Mobile number registered with multiple customer IDs
-BR

This API Allows PSP to Request for Balance enquiry for a user - UPIPIN not
set by customer -AM

Test case removed


This API is required for providing a unified channel for setting and
changing UPI PIN .
UPI PIN not set by customer -AM
This API allows PSPs to find the list of accounts linked to the mobile by an
account provider. Transaction not permitted to the account. Respcode=B3

This API allows PSPs to find the list of accounts linked to the mobile by an
account provider.
Account linked with multiple names -B2

Invalid/Incorrect ATM PIN -SP


While creating UPI PIN, customer has entered invalid/incorrect ATM PIN in
Mobile Banking registration

(NOTE:
1. In the ReqRegMob, if bank/PSP is supporting FORMAT2, cred block
should only contain MPIN & ATM PIN along with the "dType" and
"dLength" value)

Card is not active -AJ


Customer has never created/activated an ATM PIN however While
creating UPI PIN on the PSP app customer randomly enters any numerical
value in the ATM PIN block in Mobile
Banking Registration the response should be AJ .

(NOTE:
1. In the ReqRegMob, if bank/PSP is supporting FORMAT2, cred block
should only contain OTP,MPIN & ATM PIN )

This API allows the customer to change UPI PIN and resetting the UPI PIN.

In case of USSD flow, the device type should be "USDC" in ReqRegMob

(NOTE: Whenever ReqRegMob is initiated from USSD channel, the


bank/PSP should populate the RegDetail field type ="FORMAT1" or no
type tag )
This API allows PSPs to find the list of accounts linked to the mobile by an
account provider. The purpose of the case is to check, whether the PSP
can accept the below format or not.

(Pre-Requisite:
FORMAT1: Use IFSC="AABD" in the ReqListAccount
FORMAT2: Use IFSC="AABE" in the ReqListAccount)

(NOTE:The acquirer has to accept the below two methods


1. In the RespListAccount, if bank/PSP is supporting FORMAT1, cred
block should only contain MPIN SMS & OTP along with the "dType" and
"dLength" value
2. In the RespListAccount, if bank/PSP is supporting FORMAT2, cred
block should only contain MPIN & ATM PIN along with the "dType" and
"dLength" value)

This API allows the customer to set new UPI PIN for the first time and
resetting the forgotten UPI PIN.

Pre-Reques: Neg ACK-U76,If the issuer is live in FORMAT2, but the


Acquirer is sending the ReqRegMob with the cred block which contains
OTP and MPIN.

This API allows the customer to set new UPI PIN for the first time and
resetting the forgotten UPI PIN.

Pre-Requisite: Neg ACK-U76,If the issuer is live in FORMAT1, but the


Acquirer is sending the ReqRegMob with the cred block which contains
OTP, MPIN and ATMPIN.

This API allows the customer to set new UPI PIN for the first time and
setting the forgotten UPI PIN.

In case of USSD flow, the device type should be "USDC" in ReqRegMob

Pre-Requesite:
Scenario1: If the issuer bank is supporting OTP flow, then the bank should
validate the OTP and MPIN cred value.
Scenario2: If the issuer bank is not supporting OTP flow, then the bank
should validate the MPIN cred value.

(NOTE: Whenever ReqRegMob is initiated from USSD channel, the


bank/PSP should populate the RegDetail field type ="FORMAT1" or no
type tag )
Payer PSP is initiating a request with the Device Tag is TELECOM
(Telecom Field is applicable for SetCre, RegMob, BalEnq, OTP,
ManageVae)

NOTE: TELECOM field is mandatory in USDC channel

Test case removed

Payer PSP is initiating request with the key code=NPCI and


type="PKI" and ki=yyyymmdd and Key value which is base 64
encoded format.

Payer PSP is initiating request with Payee A/C + IFSC.

Payer PSP is initiating request with the Payee VPA is merchant.


Payee psp should send all the mandatory details under the
Merchant Block with merchantType=SMALL|LARGE

Payer PSP is initiating request properly with OrgMsgId and


OrgTxnDate
Payer PSP is initiating request with Initiation mode (This field also
applicable for ReqTxnConfirmation)

Payer PSP is sending response with OrgTxnId and OrgTxnDate

Payer PSP is sending response with Initiation Mode

Payer PSP is sending response with ApprovalNum, acnum, IFSC,


Code

Payer PSP should accept the list of merchant's details and key
value which is base 64 encoded format from UPI

This API allows the PSPs to request for public key of specific
pspOrgId .
In ReqListKeys type = ”ListPspKeys” pspOrgId =”100002 ” . Will
retrieve the public key of corresponding pspOrgId

Note - Test Case is for Signed intent Purpose


This API allows the PSPs to request for public key of specific psp
OrgID .
In ReqListKeys type = ”ListPspKeys” . Will retrieve all psp's public
key

Note - Test Case is for Signed intent Purpose

This API allows PSPs to find the list of accounts linked to the mobile
by an account provider. The purpose of the case is to check,
whether the PSP can accept the below format or not.
Bank will send ResplistAccount with the account type as NRE|
NRO|CREDIT|PPIWALLET|BANKWALLET

Payer PSP is initiating request with Payee VPA .Bank sends


RespValAdd to PSP with the account type as NRE|NRO|CREDIT|
PPIWALLET|BANKWALLET

This API allows the customer to change UPI PIN and resetting the
UPI PIN.PSP sends ReqSetCre with the account type as NRE|NRO|
CREDIT|PPIWALLET|BANKWALLET.

Payer PSP is initiating ReqChkTxn to UPI .


UPI sends responds with account type as NRE|NRO|CREDIT|
PPIWALLET|BANKWALLET to PSP
This API allows the PSPs to request for an OTP for a particular
customer. PSP can initiate ReqOTP to UPI with the account type as
NRE|NRO|CREDIT|PPIWALLET|BANKWALLET

NOTE: OTP should be auto-populated by the PSP app

This API allows the PSPs to request for an OTP for a particular
customer along with card details
NOTE: OTP should be auto-populated by the PSP app

This API allows the PSPs to request for an OTP for a particular
customer. Bank will send the response in RespOTP API with
securePinUrl

NOTE: securePinUrl -url redirecting to the Issuer PSP page from CL

This API Allows PSP to Request for Balance enquiry for a user. PSP
can initiate ReqBalEnq api to UPI with the account type as NRE|
NRO|CREDIT|PPIWALLET|BANKWALLET .

This API Allows PSP to Request for Balance enquiry for a user. If in
ReqBal type = BalChk

NOTE - If type has balance check then amount tag will be


mandatory. If not UPI will send negative ACK="BA2"

This API Allows PSP to Request for Balance enquiry for a user. If in
ReqBal type = BalChk

NOTE -RespBalEnq should send result=SUCCESS then the value


should be “Y” and if the result=FAILURE then the data value
should be “N”
Payer PSP should accept the list of psp details with the version
supported tag from UPI

Payer PSP should accept the list of bank details with the version
supported tag from UPI

If psp is live in 1.0

1. URL version & Header Version must be ver 1.0


for the mentioned API's
when request is fired to UPI
2. Also ACK should be in ver 1.0
from the PSP's to UPI for the mentioned
API's

Note:
1. If the psp url and header version is not in ver1.0
. UPI will decline with
negative ACK="UH1"

If psp is live in 2.0

1. URL version & Header Version must be ver 2.0


for the mentioned API's
when request is fired to UPI
2. Also ACK should be in ver 2.0
from the PSP's to UPI for the mentioned
API's

Note:
1. If the psp url and header version is not in ver1.0
. UPI will decline with
negative ACK="UH1"

If psp is live in 2.0

1. URL version & Header Version must be ver 2.0


for the mentioned API's
when request is fired to UPI
2. Also ACK should be in ver 2.0
from the PSP's to UPI for the mentioned
API's

Note:
1. If the psp url and header version is not in ver1.0
. UPI will decline with
negative ACK="UH1"

If psp is live in 1.0

1. URL version & Header Version must be ver 1.0


for the mentioned API's
when request is fired to UPI
2. Also ACK should be in ver 1.0
from the PSP's to UPI for the mentioned
API's

Note:
1. If the psp url and header version is not in ver1.0
. UPI will decline with
negative ACK="UH1"
If payer psp is live in 2.0
and remitter bank is live in ver 1.0

1. URL version & Header Version must be ver 2.0


for the mentioned API's
when request is fired to UPI

Note:
1. If the payer psp is in ver2.0
, but the remitter bank is in ver1.0
, UPI will
downgrade and pass success
2. Payer psp has to accept the response in ver1.0
and also sends ack in
ver1.0

1. UPI sends the request in ver 1.0


, then remitter bank fails to sends the
response and ACK in ver 1.0

Note: If remitter bank fails to sends response in ver 1.0


, then UPI decline
with negative ACK="UV2"

This API allows PSPs to find the list of accounts linked to the mobile
by an account provider. The purpose of the case is to check,
whether the PSP can accept the below format or not.
Bank will send ResplistAccount with the account type as "SOD|
UOD"

This API Allows PSP to Request for Balance enquiry for a user. PSP
can initiate ReqBalEnq api to UPI with the account type as "SOD|
UOD" .
HOME
TEST STEPS STATUS PAYER PAYEE REMITTER
Scenario1:
1. PSP sends ReqHbt api to UPI.
2. UPI sends ack to PSP.
3. UPI sends RespHbt api to PSP.
4. PSP sends ack to UPI.

Scenario2:
1. UPI sends ReqHbt api to PSP
2. PSP sends ack to UPI
3. PSP sends RespHbt api to UPI Success Y Y Y
4. UPI sends ack to PSP

1. PSP sends ReqListPSP api to UPI.


2. UPI sends ack to PSP.
3. UPI sends RespListPsp api to PSP. Success Y Y N
4.PSP sends ack to UPI.

1. PSP sends ReqListAccPvd api to UPI.


2. UPI sends ack to PSP.

3. UPI sends RespListAccPvd api to PSP.


4.PSP sends ack to UPI. Success Y Y N

1. PSP sends ReqListKeys api to UPI.


2. UPI sends ack to PSP.
3. UPI sends RespListKeys api to PSP. Success Y Y N
4.PSP sends ack to UPI.

1. PSP sends ReqListVae api to UPI.


2. UPI sends ack to PSP.
3. UPI sends RespListVae api to PSP. Success Y Y N
4.PSP sends ack to UPI.

1. PSP sends ReqOTP api to UPI and UPI sends ack to PSP.

2. UPI forwards ReqOTP to Bank and bank sends Ack to UPI

3. Bank sends the RespOTP Success to UPI and UPI sends Ack to Bank.
4. UPI sends Success Y Y Y
RespOTP to PSP and PSP sends ack to UPI.

1. PSP sends ReqOTP api to UPI and UPI sends ack to PSP.
2. UPI forwards ReqOTP to Bank and bank sends
Ack to UPI
3. Bank sends the RespOTP Success to UPI and UPI sends Ack to Bank.
4. UPI sends RespOTP to PSP and PSP sends ack to UPI.
5. PSP sends ReqRegMob api to UPI and UPI sends ack to PSP.
Success Y Y Y
6. UPI forwards ReqRegMob to Bank and bank sends Ack to UPI

7. Bank sends the RespRegMob to UPI and UPI sends Ack to Bank.

8. UPI sends RespRegMob to PSP and PSP sends ack to UPI.


1. PSP sends ReqOTP api to UPI and UPI sends ack to PSP.

2. UPI forwards ReqOTP to Bank and bank sends Ack to UPI

3. Bank sends the RespOTP Success to UPI and UPI sends Ack to Bank.
4. UPI sends
RespOTP to PSP and PSP sends ack to UPI.
5. PSP sends ReqRegMob api to UPI along with the recieved OTP and Failure Y Y Y
UPI sends ack to PSP.
6. UPI forwards ReqRegMob to Bank and bank sends Ack to UPI

7. Bank sends the RespRegMob with failure response stating that OTP
TRANSACTION LIMIT EXCEEDED to UPI and UPI sends Ack to Bank.
response code:ZT
8. UPI sends failure RespRegMob to PSP and PSP sends ack to UPI.
1. PSP sends ReqOTP api to UPI and UPI sends ack to PSP.

2. UPI forwards ReqOTP to Bank and bank sends Ack to UPI

3. Bank sends the RespOTP Success to UPI and UPI sends Ack to Bank.
4. UPI sends
RespOTP to PSP and PSP sends ack to UPI.
5. PSP sends ReqRegMob api to UPI along with the recieved OTP and Failure Y Y Y
UPI sends ack to PSP.
6. UPI forwards ReqRegMob to Bank and bank sends Ack to UPI

7. Bank sends the RespRegMob with failure response stating that


INCORRECT OTP to UPI and UPI sends Ack to Bank. response code:ZR

8. UPI sends failure RespRegMob to PSP and PSP sends ack to UPI.
1. PSP sends ReqOTP api to UPI and UPI sends ack to PSP.
2. UPI forwards ReqOTP to Bank and bank sends
Ack to UPI 3. Bank sends the
RespOTP Success to UPI and UPI sends Ack to Bank.
4. UPI sends RespOTP to PSP and
PSP sends ack to UPI.
5. PSP sends ReqRegMob api to UPI along with the recieved OTP and
UPI sends ack to PSP.
6. UPI forwards ReqRegMob to Bank and bank sends Ack to UPI

7. Bank sends the RespRegMob with failure response stating that OTP
has been expired to UPI and UPI sends Ack to Bank. response code:ZS Failure Y Y Y

8. UPI sends failure RespRegMob to PSP and PSP sends ack to UPI.

1. PSP sends ReqOTP api to UPI and UPI sends ack to PSP.
2. UPI forwards ReqOTP to Bank and bank sends
Ack to UPI 3. Bank sends the
RespOTP Success to UPI and UPI sends Ack to Bank.
4. UPI sends RespOTP to PSP and
PSP sends ack to UPI.
5. PSP sends ReqRegMob api to UPI and UPI sends ack to PSP. Failure Y Y Y

6. UPI forwards ReqRegMob to Bank and bank sends Ack to UPI

7. Bank sends the RespRegMob to UPI and UPI sends Ack to Bank with
response code - XL
8. UPI sends RespRegMob to PSP and PSP sends ack to UPI.
1. PSP sends ReqListAccount api to UPI and UPI sends ack to PSP.

2. UPI forwards ReqListAccount to Bank and bank sends Ack to UPI

3. Bank sends the RespListAccount to UPI with response code XH and


UPI sends Ack to Bank. Failure Y Y Y
4. UPI sends RespListAccount to PSP and PSP sends ack to
UPI.

1. PSP sends ReqListAccount api to UPI and UPI sends ack to PSP.

2. UPI forwards ReqListAccount to Bank and bank sends Ack to UPI

3. Bank sends the RespListAccount to UPI with all the accounts listed
and registered with mobile banking-USSD ( mbeba - Y), UPI PIN is
present. In case of N (mbeba-N),UPI PIN is not present.
Success Y Y Y
4. UPI sends RespListAccount to PSP . It should be reflected accordingly
on the application.

1. PSP sends ReqSetCre api to UPI and UPI sends ack to PSP.

2. UPI forwards ReqSetCre to Bank and bank sends Ack to UPI


Success Y N Y
3. Bank sends the RespSetCre Success to UPI and UPI sends Ack to Bank.
4. UPI sends
RespSetCre
Test case removedto PSP and PSP sends ack to UPI.
1. PSP sends ReqOTP api to UPI and UPI sends ack to PSP.
2. UPI forwards ReqOTP to Bank and bank sends
Ack to UPI 3. Bank sends the
RespOTP Success to UPI and UPI sends Ack to Bank.
4. UPI sends RespOTP to PSP and
PSP sends ack to UPI.
5. PSP sends ReqRegMob api with txn type "ReqRegMob" to UPI and
UPI sends ack to PSP.
6. UPI forwards ReqRegMob to Bank and bank sends Ack to UPI. Failure Y Y Y

7. Bank sends the RespRegMob to UPI with response code-YE and UPI
sends Ack to Bank.

8. UPI sends RespRegMob to PSP and PSP sends ack to UPI.

1. PSP sends ReqChkTxn api to UPI.


2. UPI sends ack to PSP.
Success Y Y Y
3. UPI sends RespChkTxn api to PSP.
4.PSP sends ack to UPI.
1. PSP sends ReqValAdd api to UPI and UPI sends ack to PSP.

2. UPI forwards ReqValAdd to PSP and PSP sends Ack to UPI


Success Y Y Y
3. PSP sends the RespValAdd Success to UPI and UPI sends Ack to PSP.
4. UPI sends
RespValAdd
1. PSP sendsto PSP and PSP sends
ReqManageVae api toack to UPI.
UPI.
2. UPI sends ack to PSP.
3. UPI sends RespManageVae api to PSP.
4.PSP sends ack to UPI. Success Y Y N
1. PSP sends ReqBalEnq api to UPI and UPI sends ack to PSP.

2. UPI forwards ReqBalEnq to Bank and bank sends Ack to UPI


Success Y Y Y
3. Bank sends the RespBalEnq Success to UPI and UPI sends Ack to Bank
4. UPI sends
RespBalEnq
Test case removedto PSP and PSP sends ack to UPI.
1. PSP sends ReqBalEnq api to UPI and UPI sends ack to PSP.

2. UPI forwards ReqBalEnq to Bank and bank sends Ack to UPI


Failure Y Y Y
3. Bank sends the RespBalEnq with response code -ZM in error code tag
to UPI and UPI sends Ack to Bank
4. UPI
1. PSP sends ReqBalEnq apisends
to UPIRespBalEnq to PSP
and UPI sends ack and PSP sends ack
to PSP.

2. UPI forwards ReqBalEnq to Bank and bank sends Ack to UPI


Failure Y Y Y
3. Bank sends the RespBalEnq with response code Z6 in error code tag
to UPI and UPI sends Ack to Bank
4. UPI
1. PSP sends ReqValAdd apisends
to UPIRespBalEnq to PSP
and UPI sends ackand PSP sends ack
to PSP.

2. UPI forwards ReqValAdd to PSP and PSP sends Ack to UPI


Failure Y Y Y
3. PSP sends the RespValAdd Failure stating that Invalid VPA to UPI with
response code is : ZH and UPI sends Ack to PSP.
1. PSP sends ReqListAccount api to UPI and UPI sends ack to PSP.

2. UPI forwards ReqListAccount to Bank and bank sends Ack to UPI


Failure Y Y Y
3. Bank sends the RespListAccount to UPI with response code BR and
UPI sends Ack to Bank.
4. UPI sends RespListAccount to PSP and PSP sends ack to
UPI.
1. PSP sends ReqBalEnq api to UPI and UPI sends ack to PSP.

2. UPI forwards ReqBalEnq to Bank and bank sends Ack to UPI


Failure Y Y Y
3. Bank sends the RespBalEnq with response code AM in error code tag
to UPI and UPI sends Ack to Bank
Test case removed 4. UPI sends RespBalEnq to PSP and PSP sends ack
1. PSP sends ReqSetCre api to UPI and UPI sends ack to PSP.

2. UPI forwards ReqSetCre to Bank and bank sends Ack to UPI

3. Bank sends RespSetCre Failure with response code AM to UPI and


UPI sends Ack to Bank.
4. UPI sends failure RespSetCre to PSP and PSP sends ack to UPI. Failure Y Y Y
1. PSP sends ReqListAccount api to UPI and UPI sends ack to PSP.

2. UPI forwards ReqListAccount to Bank and bank sends Ack to UPI

3. Bank sends the RespListAccount to UPI with response code B3 and


UPI sends Ack to Bank.
4. UPI sends RespListAccount to PSP and PSP sends ack to
UPI.

Failure Y Y Y

1. PSP sends ReqListAccount api to UPI and UPI sends ack to PSP.

2. UPI forwards ReqListAccount to Bank and bank sends Ack to UPI


Failure Y Y Y
3. Bank sends the RespListAccount to UPI with response code B2 and
UPI sends Ack to Bank.
4. UPI sends RespListAccount to PSP and PSP sends ack to
UPI.
1. PSP sends ReqOTP api to UPI and UPI sends ack to PSP.

2. UPI forwards ReqOTP to Bank and bank sends Ack to UPI


3. Bank sends the RespOTP Success to UPI
and UPI sends Ack to Bank.
4. UPI sends RespOTP to PSP and PSP sends ack to UPI.
5. PSP sends ReqRegMob api with txn type "ReqRegMob" to UPI and Failure Y Y Y
UPI sends ack to PSP.
6. UPI forwards ReqRegMob to Bank and bank sends Ack to UPI.

7. Bank sends the RespRegMob to UPI with response code-SP and UPI
sends Ack to Bank.

8. UPI sends RespRegMob to PSP and PSP sends ack to UPI.


1. PSP sends ReqOTP api to UPI and UPI sends ack to PSP.
2. UPI forwards ReqOTP to Bank and bank sends
Ack to UPI 3. Bank sends the
RespOTP Success to UPI and UPI sends Ack to Bank.
4. UPI sends RespOTP to PSP and
PSP sends ack to UPI.
5. PSP sends ReqRegMob api with txn type "ReqRegMob" to UPI and Failure Y Y Y
UPI sends ack to PSP.
6. UPI forwards ReqRegMob to Bank and bank sends Ack to UPI.

7. Bank sends the RespRegMob to UPI with response code-AJ and UPI
sends Ack to Bank.

8. UPI sends RespRegMob to PSP and PSP sends ack to UPI.


1. PSP sends ReqSetCre api to UPI and UPI sends ack to PSP.

2. UPI forwards ReqSetCre to Bank and bank sends Ack to UPI

3. Bank sends the RespSetCre Success to UPI and UPI sends Ack to Bank.
4. UPI sends
RespSetCre to PSP and PSP sends ack to UPI.
Success Y Y Y
1. PSP sends ReqListAccount api to UPI and UPI sends ack to PSP.

2. UPI forwards ReqListAccount to Bank and bank sends Ack to UPI

3. Bank sends the RespListAccount to UPI with response with success


and UPI sends Ack to Bank.
4. UPI sends RespListAccount to PSP and PSP sends ack
to UPI.
Success Y Y Y

1. PSP sends ReqOTP api to UPI and UPI sends ack to PSP.

2. UPI forwards ReqOTP to Bank and bank sends Ack to UPI

3. Bank sends the RespOTP Success to UPI and UPI sends Ack to Bank. Failure Y Y Y
4. UPI sends
RespOTP to PSP and PSP sends ack to UPI.
5. PSP sends ReqRegMob api to UPI and UPI sends Negative ACK with
error code="U76"

1. PSP sends ReqOTP api to UPI and UPI sends ack to PSP.

2. UPI forwards ReqOTP to Bank and bank sends Ack to UPI

3. Bank sends the RespOTP Success to UPI and UPI sends Ack to Bank. Failure Y Y Y
4. UPI sends
RespOTP to PSP and PSP sends ack to UPI.
5. PSP sends ReqRegMob api to UPI and UPI sends Negative ACK with
error code="U76"

1. PSP sends ReqOTP api to UPI and UPI sends ack to PSP. (only
applicable if issuer supports OTP over USSD channel, otherwise only
card number, expiry date followed by UPI PIN is asked to USSD user)

2. UPI forwards ReqOTP to Bank and bank sends Ack to UPI

3. Bank sends the RespOTP Success to UPI and UPI sends Ack to Bank.
4. UPI sends
RespOTP to PSP and PSP sends ack to UPI.
5. PSP sends ReqRegMob api to UPI and UPI sends ack to PSP.

6. UPI forwards ReqRegMob to Bank and bank sends Ack to UPI Success Y Y Y
7. Bank sends the RespRegMob to UPI and UPI sends Ack to Bank.

8. UPI sends RespRegMob to PSP and PSP sends ack to UPI.


1. PSP sends ReqListAccount api to UPI with Tag Name as Success Y Y Y
TELECOM and UPI sends ack to PSP.

2. UPI forwards ReqListAccount to Bank with Tag Name as


TELECOM and Bank sends Ack to UPI

3. PSP sends the RespListAccount Success to UPI with Tag Name


as TELECOM and UPI sends Ack to PSP.
4. UPI sends
RespListAccount to PSP with Tag Name as TELECOM and PSP
sends ack to UPI.

NOTE: If PSP fails to send the Tag Name as TELECOM in USDC


channel to UPI, then UPI will send negative ack(D12)

Test case removed


1. PSP sends ReqManageVae api to UPI with key code=NPCI with Success Y Y Y
type="PKI" and ki=yyyymmdd & key value which is base 64
encoded format.and UPI sends ack to PSP.

2. UPI sends RespManageVae to PSP, key code=NPCI with


type="PKI" and ki=yyyymmdd
and PSP sends ack to UPI.

1. PSP sends ReqValAdd api to UPI and UPI sends ack to PSP. Success Y Y Y

2. UPI forwards ReqValAdd to Bank and Bank sends Ack to UPI

3. Bank sends the RespValAdd Success to UPI and UPI sends Ack
to PSP.
4. UPI sends RespValAdd to PSP with and PSP sends ack to UPI.

1. PSP sends ReqValAdd api to UPI and UPI sends ack to PSP. Success Y Y Y

2. UPI forwards ReqValAdd to Bank and Bank sends Ack to UPI

3. Bank sends the RespValAdd Success to UPI with merchant


block and UPI sends Ack to PSP.
4. UPI sends
RespValAdd to PSP with merchant block and PSP sends ack to
UPI.

NOTE: If Remitter bank fails to send the Merchant block to


UPI, then UPI will send negative ack (PM0)

1. PSP sends ReqChkTxn api to UPI with OrgMsgId and Success Y Y Y


OrgTxnDate then the UPI sends ack to PSP.

2. UPI sends RespChkTxn to PSP with OrgMsgId and


OrgTxnDate then the PSP sends ack to UPI.

NOTE: If PSP fails to send the OrgMsgId and OrgTxnDate to UPI,


then UPI will send negative ack (X09)
1. PSP sends ReqChkTxn api to UPI with initiation mode and UPI Success Y Y Y
sends ack to PSP.
2. UPI sends
RespChkTxn to PSP with initiation mode then the PSP sends ack
to UPI.

NOTE: If PSP fails to send the Initiation mode to UPI, then UPI
will send negative ack (IM0)

1. PSP sends ReqChkTxn api to UPI and UPI sends ack to PSP. Success Y Y Y

2. UPI sends RespChkTxn to PSP with


OrgTxnId and OrgTxnDate then PSP sends ack to UPI.

NOTE: If UPI fails to send with OrgTxnId and OrgTxnDate to psp,


then psp will send negative ack (X09)

1. PSP sends ReqChkTxn api to UPI and UPI sends ack to PSP. Success Y Y Y

2. UPI sends RespChkTxn to PSP with


initiation mode and PSP sends ack to UPI.

NOTE: If UPI fails to send the Initiation mode , then psp will
send negative ack (IM0)

1. PSP sends ReqChkTxn api to UPI and UPI sends ack to PSP. Success Y Y Y

2. UPI sends RespChkTxn to PSP with


ApprovalNum, acnum, IFSC, code and PSP sends ack to UPI.

1. PSP sends ReqListVae api to UPI and UPI sends ack to PSP. Success Y Y Y

2. UPI sends RespListVae to PSP with


merchant's details and key value. PSP should accept and sends
ack to UPI.

1. PSP sends ReqListKeys api to UPI. With type = ”ListPspKeys”


psp OrgID =”10
0
0
0
2 ”
2. UPI sends ack to PSP.

3. UPI sends RespListKeys api with the public key of the


respective PSPOrgId to PSP.
4.PSP sends ack to UPI. Success Y Y N
1. PSP sends ReqListKeys api to UPI.with type = ”ListPspKeys”

2. UPI sends ack to PSP.

3. UPI sends RespListKeys api with the public key of all psp to
PSP.
4.PSP sends ack to UPI. Success Y Y N

1. PSP sends ReqListAccount api to UPI and UPI sends ack to PSP.

2. UPI forwards ReqListAccount to Bank and bank sends Ack to


UPI
3.Bank sends the ResplistAccount with the account type as NRE|
NRO|CREDIT|PPIWALLET|BANKWALLET Success Y Y Y
4. UPI sends RespListAccount to PSP and PSP sends ack to
UPI.

1. PSP sends ReqValAdd api to UPI and UPI sends ack to PSP. Success Y Y Y

2. UPI forwards ReqValAdd to Bank and Bank sends Ack to UPI

3. Bank sends the RespValAdd Success to UPI with the account


type as NRE|NRO|CREDIT|PPIWALLET|BANKWALLET and UPI
sends Ack to PSP.
4. UPI sends RespValAdd to PSP with the
account type as NRE|NRO|CREDIT|PPIWALLET|BANKWALLET
and PSP sends ack to UPI.

1. PSP sends ReqSetCre api with the account type as NRE|NRO|


CREDIT|PPIWALLET|BANKWALLET to UPI and UPI sends ack to
PSP.
2. UPI forwards ReqSetCre to Bank and bank sends Ack to UPI

3. Bank sends the RespSetCre Success to UPI and UPI sends Ack
to Bank. Success Y Y Y
4. UPI sends RespSetCre to PSP and PSP sends ack to UPI.

1. PSP sends ReqChkTxn api to UPI and UPI sends ack to PSP. Success Y Y Y

2. UPI sends RespChkTxn to PSP with the


account type as NRE|NRO|CREDIT|PPIWALLET|BANKWALLET
then the PSP sends ack to UPI.
1. PSP sends ReqOTP api with the account type as NRE|NRO|
CREDIT|PPIWALLET|BANKWALLET to UPI and UPI sends ack to
PSP.
2. UPI forwards ReqOTP to Bank and bank sends Ack to UPI

3. Bank sends the RespOTP Success to UPI and UPI sends Ack to Success Y Y Y
Bank.
4. UPI sends RespOTP to PSP and PSP sends ack to UPI.

1. PSP sends ReqOTP api with the card Details to UPI and UPI
sends ack to PSP.
2. UPI forwards ReqOTP to Bank and bank sends Ack to UPI

3. Bank sends the RespOTP Success to UPI and UPI sends Ack to Success Y Y Y
Bank.
4. UPI sends RespOTP to PSP and PSP sends ack to UPI.

1. PSP sends ReqOTP api to UPI and UPI sends ack to PSP.

2. UPI forwards ReqOTP to Bank and bank sends Ack to UPI

3. Bank sends the RespOTP Success with securePinUrl to UPI and Success Y Y Y
UPI sends Ack to Bank.
4. UPI sends RespOTP to PSP and PSP sends ack
to UPI.
1. PSP sends ReqBalEnq api with the account type as NRE|NRO|
CREDIT|PPIWALLET|BANKWALLET to UPI and UPI sends ack to
PSP.
2. UPI forwards ReqBalEnq to Bank and bank sends Ack to UPI

3. Bank sends the RespBalEnq Success to UPI and UPI sends Ack Success Y Y Y
to Bank
4. UPI sends RespBalEnq to PSP and PSP sends ack to UPI.

1. PSP sends ReqBalEnq api with transaction type = BalChk and


Amount value="" curr="INR", Against the amount is specified the
issuer has to verify and confirm in the response by Y|N to UPI and
UPI sends ack to PSP.
2. UPI forwards ReqBalEnq to Bank and bank sends Ack to UPI
3. Bank sends the RespBalEnq Success to UPI and UPI sends Ack Success Y Y Y
to Bank
4. UPI sends RespBalEnq to PSP and PSP sends ack to UPI.

1. PSP sends ReqBalEnq api with transaction type = BalChk to UPI


and UPI sends ack to PSP.
2. UPI forwards ReqBalEnq to Bank and bank sends Ack to UPI

3. Bank sends the RespBalEnq CRED block should come the value
should be “Y” and if the result=FAILURE then the data value Success Y Y Y
should be “N” to UPI and UPI sends Ack to Bank
4. UPI sends
RespBalEnq to PSP and PSP sends ack to UPI.
1. PSP sends ReqListPsp api to UPI and UPI sends ack to PSP. Success Y Y Y

2. UPI sends RespListPsp to PSP with psp


details with the version supported tag. PSP should accept and
sends ack to UPI.

1. PSP sends ReqListAccPvd api to UPI and UPI sends ack to PSP. Success Y Y Y

2. UPI sends RespListAccPvd to PSP


with bank details with the version supported tag. PSP should
accept and sends ack to UPI.

1. Payer psp should initiate a request in ver1.0


. UPI sends the ACK in
ver1.0

2. UPI sends the response in ver 1.0


and also expects the AKC from psp
in ver 1.0

Success Y Y N

1. Payer psp should initiate a request in ver2.0


. UPI sends the ACK in
ver2.0

2. UPI sends the response in ver 2.0


and also expects the AKC from psp
in ver 2.0

Success Y Y N

1. Payer psp should initiate a request in ver2.0


. UPI sends the ACK in
ver2.0

2. UPI forwards the request to remitter bank with ver2.0

3. Remitter bank respond in ver 2.0

4. UPI forwards the same response to psp and also expects the AKC
from psp in ver 2.0

Success Y Y N

1. Payer psp should initiate a request in ver1.0


. UPI sends the ACK in
ver1.0

2. UPI forwards the request to remitter bank with ver1.0

3. Remitter bank respond in ver1.0

4. UPI forwards the same response to psp and also expects the AKC
from psp in ver 1.0

Success Y Y N
1. Payer psp should initiate a request in ver2.0
.
2. UPI validate the versioning and downgrade the version into 1.0
and
forwards the request in ver 1.0
to Remitter bank
3. Remitter bank sends the response in ver 1.0
.
4. UPI forwards the same response to Payer psp ver 1.0

success Y Y N

1. Payer psp should initiate a request only in ver1.0


.
2. UPI forwards the request in ver 1.0
to Remitter bank
3. Remitter bank fails to sends the response in ver 1.0
. Then UPI will
decline with negative ACK="UV2"
4. UPI forwards the same response to Payer psp Failure Y Y Y

1. PSP sends ReqListAccount api to UPI and UPI sends ack to PSP.

2. UPI forwards ReqListAccount to Bank and bank sends Ack to


UPI
3.Bank sends the ResplistAccount with the account type as
"SOD|UOD" Success Y Y Y
4. UPI sends
RespListAccount to PSP and PSP sends ack to UPI.

1. PSP sends ReqBalEnq api with the account type as "SOD|


UOD" to UPI and UPI sends ack to PSP.

2. UPI forwards ReqBalEnq to Bank and bank sends Ack to UPI


Success Y Y Y
3. Bank sends the RespBalEnq Success to UPI and UPI sends Ack
to Bank
4. UPI sends RespBalEnq to PSP and PSP sends ack to UPI.
BENEFICIARY ENTITY

Acquirer
Y and Issuer

N Acquirer

N Acquirer

N Acquirer

N Acquirer

Acquirer
N and Issuer

Acquirer
Y and Issuer
Acquirer
Y and Issuer

Acquirer
Y and Issuer

Acquirer
Y and Issuer

Acquirer
Y and Issuer
Acquirer
Y and Issuer

Acquirer
Y and Issuer

Acquirer
N and Issuer

Acquirer
Y and Issuer

Y Acquirer

Y Acquirer

N Acquirer
Acquirer
Y and Issuer

Acquirer
Y and Issuer

Acquirer
Y and Issuer

Y Acquirer

Acquirer
Y and Issuer

Acquirer
Y and Issuer

Acquirer
Y and Issuer
Y Acquirer
and Issuer

Acquirer
Y and Issuer

Acquirer
Y and Issuer

Acquirer
Y and Issuer

Y Issuer
Y Acquirer

Acquirer
Y and Issuer

Acquirer
Y and Issuer

Y Issuer
Y

Acquirer
and Issuer

Acquirer

Acquirer

Acquirer

Acquirer
Y

Acquirer

Acquirer

Acquirer

Acquirer

Acquirer

N Acquirer
N Acquirer

Y Issuer

Acquirer

Y Acquirer

Issuer
N Acquirer

N Acquirer

N Issuer

Y Acquirer

Y Acquirer

Y Issuer
Y

Acquirer

Acquirer

N Acquirer

N Acquirer

N Issuer

N Issuer
N Acquirer

Y Issuer

Y Issuer

Y Acquirer
S.NO TEST ID DETAILS

API Involved: ReqMandate


RespMandate
Type : Create Mandate
Approval Type : Non Pre-
Approved
1 MA_MT_PR_1 Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Create Mandate
Approval Type : Non Pre-
Approved
2 MA_MT_PR_2 Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Create Mandate
Approval Type : Non Pre-
Approved
3 MA_MT_PR_3 Payer Handle : VPA
Payee Handle : VPA
API Involved: ReqMandate
RespMandate
Type : Create Mandate
Approval Type : Non Pre-
Approved
4 MA_MT_PR_4 Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Create Mandate
Approval Type : Non Pre-
Approved
5 MA_MT_PR_5 Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Create Mandate
Approval Type : Non Pre-
6 Approved
MA_MT_PR_6 Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Create Mandate
Approval Type : Non Pre-
Approved
7 MA_MT_PR_7 Payer Handle : VPA
Payee Handle : VPA
API Involved: ReqMandate
RespMandate
Type : Create Mandate
Approval Type : Non Pre-
Approved
8 MA_MT_PR_8 Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Create Mandate
Approval Type : Non Pre-
Approved
9 MA_MT_PR_9 Payer Handle : VPA
Payee Handle : A/c +IFSC

API Involved: ReqMandate


RespMandate
Type : Create Mandate
Approval Type : Non Pre-
Approved
10
MA_MT_PR_10
Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Create Mandate
Approval Type : Non Pre-
Approved
11 MA_MT_PR_11 Payer Handle : VPA
Payee Handle : VPA
API Involved: ReqMandate
RespMandate
Type : Create Mandate
Approval Type : Non Pre-
Approved
12 MA_MT_PR_12 Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Create Mandate
Approval Type : Non Pre-
Approved
13 MA_MT_PR_13 Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Create Mandate
Approval Type : Non Pre-
Approved
14 MA_MT_PR_14 Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Create Mandate
Approval Type : Non Pre-
Approved
15 MA_MT_PR_15 Payer Handle : VPA
Payee Handle : VPA
API Involved: ReqMandate
RespMandate
Type : Create Mandate
Approval Type : Non Pre-
Approved
16 MA_MT_PR_16 Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Create Mandate
Approval Type : Non Pre-
Approved
17 MA_MT_PR_17 Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Create Mandate
Approval Type : Non Pre-
Approved
18 MA_MT_PR_18 Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Create Mandate
Approval Type : Non Pre-
Approved
19 MA_MT_PR_19 Payer Handle : VPA
Payee Handle : VPA
API Involved: ReqMandate
RespMandate
Type : Create Mandate
Approval Type : Non Pre-
Approved
20
MA_MT_PR_20
Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqAuthMandate


RespAuthMandate

ReqMandateConfimation

RespMandateConfirmation
21 MA_MT_PR_21 Type : Create Mandate
Approval Type : Non Pre-Approved
Payer Handle : VPA
Payee Handle : VPA
API Involved : ReqAuthMandate
RespAuthMandate
Type : Create Mandate
22 MA_MT_PR_22 Approval Type : Non Pre-Approved
Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Create Mandate
Approval Type : Non Pre-
Approved
23 MA_MT_PR_23 Payer Handle : VPA
Payee Handle : VPA
API Involved: ReqMandate
RespMandate
Type : Create Mandate
Approval Type : Non Pre-
Approved
24 MA_MT_PR_24 Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Create Mandate
Approval Type : Non Pre-
25 Approved
MA_MT_PR_25 Payer Handle : VPA
Payee Handle : VPA
API Involved: ReqMandate
RespMandate
Type : Update Mandate
Approval Type : Non Pre-
Approved
26 MA_MT_PR_26 Payer Handle : VPA
Payee Handle : VPA

API Involved : ReqMandate


RespMandate

MA_MT_PR_27 Type : Update Mandate


27 Approval Type : Non Pre-Approved
Payer Handle : VPA
Payee Handle : VPA

API Involved : ReqAuthMandate


RespAuthMandate
Type : Update Mandate
28 MA_MT_PR_28 Approval Type : Non Pre-Approved
Payer Handle : VPA
Payee Handle : VPA
API Involved : ReqAuthMandate
RespAuthMandate
Type : Update Mandate
29 MA_MT_PR_29 Approval Type : Non Pre-Approved
Payer Handle : VPA
Payee Handle : VPA

API Involved : ReqAuthMandate


RespAuthMandate
Type : Update Mandate
30
MA_MT_PR_30
Approval Type : Non Pre-Approved
Payer Handle : VPA
Payee Handle : VPA

API Involved : ReqAuthMandate


RespAuthMandate
Type : Update Mandate
31 MA_MT_PR_31 Approval Type : Non Pre-Approved
Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqAuthMandate


RespAuthMandate
Type: Update Mandate
32 MA_MT_PR_32 Approval Type: Non Pre-Approved
Payer Handle: VPA
Payee Handle: VPA
API Involved : ReqAuthMandate
RespAuthMandate
Type : Update Mandate
33 MA_MT_PR_33 Approval Type : Non Pre-Approved
Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqAuthMandate


RespAuthMandate
Type : Update
Mandate Approval
Type : Non Pre-Approved
34 MA_MT_PR_34 Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Revoke Mandate
Approval Type : Non Pre-
Approved
35 MA_MT_PR_35 Payer Handle : VPA
Payee Handle : VPA
API Involved: ReqMandate
RespMandate
Type : Create Mandate
Approval Type :Pre-Approved
36 MA_MT_PR_36 Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Create Mandate
Approval Type : Pre-Approved
37 MA_MT_PR_37 Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqAuthMandate


RespAuthMandate
Type : Create Mandate
Approval Type : Pre-
Approved
38 MA_MT_PR_38 Payer Handle : VPA
Payee Handle : VPA
API Involved: ReqMandate
RespMandate
Type : Create Mandate
Approval Type : Pre-Approved
39 MA_MT_PR_39 Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Create Mandate
Approval Type : Pre-Approved
40
MA_MT_PR_40
Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Create Mandate
Approval Type : Pre-Approved
41 MA_MT_PR_41 Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Create Mandate
Approval Type : Pre-Approved
42 MA_MT_PR_42 Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Create Mandate
Approval Type : Pre-Approved
43 MA_MT_PR_43 Payer Handle : VPA
Payee Handle : VPA
API Involved: ReqMandate
RespMandate
Type :
Create Mandate
Approval Type : Pre-
44 MA_MT_PR_44 Approved
Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type :
Create Mandate
Approval Type : Pre-
45 MA_MT_PR_45 Approved
Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type :
Create Mandate
Approval Type : Pre-
46 MA_MT_PR_46 Approved
Payer Handle : VPA
Payee Handle : VPA
API Involved: ReqAuthMandate
RespAuthMandate

Type : Create Mandate


Approval
47 MA_MT_PR_47 Type : Pre-Approved
Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate

Type : Update Mandate


Approval Type :Pre-Approved
48 MA_MT_PR_48 Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Revoke Mandate
Approval Type : Pre-Approved
49 MA_MT_PR_49 Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Create Mandate
Approval Type : Non Pre-
Approved
50
MA_MT_PR_50
Payer Handle : VPA
Payee Handle : VPA
API Involved: ReqMandate
RespMandate
Type : Create Mandate
Approval Type : Non Pre-
Approved
51 MA_MT_PR_51 Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Create Mandate
Approval Type : Non Pre-
Approved
52 MA_MT_PR_52 Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Create Mandate
Approval Type : Non Pre-
Approved
53 MA_MT_PR_53 Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Create Mandate
Approval Type : Pre-Approved
54 MA_MT_PR_54 Payer Handle : VPA
Payee Handle : VPA
API Involved: ReqMandate
RespMandate
Type : Create Mandate
Approval Type : Non Pre-
Approved
55 MA_MT_PR_55 Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqAuthMandate


RespAuthMandate
Type : Create Mandate
Approval Type : Non Pre-
Approved
56 MA_MT_PR_56 Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqAuthMandate


RespAuthMandate
Type : Create Mandate
Approval Type : Non Pre-
Approved
57 MA_MT_PR_57 Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Create Mandate
Approval Type : Pre-Approved
58 MA_MT_PR_58 Payer Handle : VPA
Payee Handle : VPA
API Involved: ReqMandate
RespMandate
Type : Create Mandate
Approval Type : Pre-Approved
59 MA_MT_PR_59 Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Update Mandate
Approval Type : Non Pre-
Approved
60
MA_MT_PR_60
Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Update Mandate
Approval Type : Non Pre-
61 Approved
MA_MT_PR_61 Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Update Mandate
Approval Type : Non Pre-
Approved
62 MA_MT_PR_62 Payer Handle : VPA
Payee Handle : VPA
API Involved: ReqMandate
RespMandate
Type : Revoke Mandate
Approval Type : Non Pre-
Approved
63 MA_MT_PR_63 Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Revoke Mandate
Approval Type : Non Pre-
Approved
64 MA_MT_PR_64 Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Create Mandate
Approval Type : Non Pre-
Approved
65 MA_MT_PR_65 Payer Handle : VPA
Payee Handle : VPA
API Involved: ReqMandate
RespMandate
Type : Create Mandate
Approval Type : Non Pre-
Approved
66 MA_MT_PE_1 Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Create Mandate
Approval Type : Non Pre-
Approved
67 MA_MT_PE_2 Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Create Mandate
Approval Type : Non Pre-
Approved
68 MA_MT_PE_3 Payer Handle : VPA
Payee Handle : VPA
API Involved: ReqMandate
RespMandate
Type : Create Mandate
Approval Type : Non Pre-
Approved
69 MA_MT_PE_4 Payer Handle : A/c+IFSC
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Create
Mandate Approval
Type : Non Pre-Approved
70
MA_MT_PE_5 Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqAuthMandate


RespAuthMandate
Type : Create Mandate
Approval Type : Non Pre-
Approved
71 MA_MT_PE_6 Payer Handle : VPA
Payee Handle : VPA
API Involved: ReqMandate
RespMandate
Type : Create Mandate
Approval Type : Non Pre-
Approved
72 MA_MT_PE_7 Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Create Mandate
Approval Type : Non Pre-
Approved
73 MA_MT_PE_8
Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Create Mandate
Approval Type : Non Pre-
Approved
74 MA_MT_PE_9 Payer Handle : VPA
Payee Handle : VPA
API Involved: ReqMandate
RespMandate
Type : Create Mandate
Approval Type : Non Pre-
Approved
75 MA_MT_PE_10
Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Create Mandate
Approval Type : Non Pre-
Approved
76 MA_MT_PE_11 Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqAuthMandate


RespAuthMandate
Type : Create
Mandate Approval
Type : Non Pre-Approved
77 MA_MT_PE_12 Payer Handle : VPA
Payee Handle : VPA
API Involved: ReqAuthMandate
RespAuthMandate
Type : update
Mandate Approval
Type : Non Pre-Approved
78 MA_MT_PE_13 Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Create Mandate
Approval Type : Non Pre-
Approved
79 MA_MT_PE_14 Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Create Mandate
Approval Type : Non Pre-
Approved
80
MA_MT_PE_15 Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Create Mandate
Approval Type : Non Pre-
Approved
81 MA_MT_PE_16 Payer Handle : VPA
Payee Handle : VPA
API Involved: ReqMandate
RespMandate
Type : Create Mandate
Approval Type : Non Pre-
Approved
82 MA_MT_PE_17 Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Create Mandate
Approval Type : Non Pre-
Approved
83 MA_MT_PE_18 Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Create Mandate
Approval Type : Non Pre-
Approved
84 MA_MT_PE_19 Payer Handle : VPA
Payee Handle : VPA
API Involved: ReqMandate
RespMandate
Type : Create Mandate
Approval Type : Non Pre-
Approved
85 MA_MT_PE_20
Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Create Mandate
Approval Type : Non Pre-
Approved
86 MA_MT_PE_21 Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Update Mandate
Approval Type : Non Pre-
Approved
87 MA_MT_PE_22 Payer Handle : VPA
Payee Handle : VPA
API Involved: ReqAuthMandate
RespAuthMandate
Type : Update
Mandate Approval
Type : Non Pre-Approved
88 MA_MT_PE_23 Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqAuthMandate


RespAuthMandate
Type : Update
Mandate Approval
Type : Non Pre-Approved
89 MA_MT_PE_24 Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqAuthMandate


RespAuthMandate
Type : Update
Mandate Approval
Type : Non Pre-Approved
90
MA_MT_PE_25 Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqAuthMandate


RespAuthMandate
Type : Update
Mandate Approval
Type : Non Pre-Approved
91 MA_MT_PE_26 Payer Handle : VPA
Payee Handle : VPA
API Involved : ReqAuthMandate
RespAuthMandate

ReqMandateConfirmation

92 MA_MT_PE_27 RespMandateConfirmation Type :


UPDATE
Approval Type : Non Pre-Approved
Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Revoke Mandate
Approval Type : Non Pre-
Approved
93 MA_MT_PE_28 Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Create Mandate
Approval Type : Pre-Approved
94 MA_MT_PE_29 Payer Handle : VPA
Payee Handle : VPA
API Involved:
ReqMandateConfirmation

RespMandateConfirmation
Type : Create Mandate
95 MA_MT_PE_30
Approval Type : Pre-Approved
Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Create Mandate
Approval Type : Pre-Approved
96 MA_MT_PE_31 Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Create Mandate
Approval Type : Pre-Approved
97 MA_MT_PE_32 Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type :
Create Mandate
Approval Type : Pre-
98 MA_MT_PE_33 Approved
Payer Handle : VPA
Payee Handle : VPA
API Involved: ReqMandate
RespMandate

Type : Create Mandate

99 MA_MT_PE_34 Approval Type : Non Pre-Approved


Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate

Type : Create Mandate


10
0
MA_MT_PE_35
Approval Type : Non Pre-Approved
Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate

Type : Create Mandate


10
1 MA_MT_PE_36
Approval Type : Non Pre-Approved
Payer Handle : VPA
Payee Handle : VPA
API Involved: ReqMandate
RespMandate

Type : Create Mandate


10
2 MA_MT_PE_37
Approval Type : Non Pre-Approved
Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate

Type : Create Mandate


10
3 MA_MT_PE_38
Approval Type : Pre-Approved
Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate

Type : Create Mandate


10
4 MA_MT_PE_39
Approval Type : Non Pre-Approved
Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate

Type : Create Mandate

10
5 MA_MT_PE_40
Approval Type : Non Pre-Approved
Payer Handle : VPA
Payee Handle : VPA
API Involved: ReqMandate
RespMandate

Type : Create Mandate


10
6 MA_MT_PE_41
Approval Type : Non Pre-Approved
Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate

Type : Create Mandate


10
7 MA_MT_PE_42
Approval Type : Pre-Approved
Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate

Type : Create Mandate


10
8 MA_MT_PE_43
Approval Type : Pre-Approved
Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate

Type : Update Mandate


10
9 MA_MT_PE_44
Approval Type : Non Pre-Approved
Payer Handle : VPA
Payee Handle : VPA
API Involved: ReqMandate
RespMandate

Type : Update Mandate


110
MA_MT_PE_45
Approval Type : Non Pre-Approved
Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate

Type : Revoke Mandate


111 MA_MT_PE_46
Approval Type : Non Pre-Approved
Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate

Type : Revoke Mandate


112 MA_MT_PE_47
Approval Type : Non Pre-Approved
Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate

Type : Revoke Mandate


113 MA_MT_PE_48
Approval Type : Non Pre-Approved
Payer Handle : VPA
Payee Handle : VPA
API Involved: ReqMandate
RespMandate
Type : Create Mandate
Approval Type : Non Pre-
Approved
114 MA_MT_RE_1 Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Create Mandate
Approval Type : Non Pre-
Approved
115 MA_MT_RE_2 Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Create Mandate
Approval Type : Non Pre-
Approved
116 MA_MT_RE_3 Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Create Mandate
Approval Type : Non Pre-
Approved
117 MA_MT_RE_4 Payer Handle : VPA
Payee Handle : VPA
API Involved: ReqMandate
RespMandate
Type : Create Mandate
Approval Type : Non Pre-
Approved
118 MA_MT_RE_5 Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Create Mandate
Approval Type : Non Pre-
119 MA_MT_RE_6 Approved
Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Create Mandate
Approval Type : Non Pre-
Approved
120
MA_MT_RE_7 Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Update Mandate
Approval Type : Non Pre-
Approved
121 MA_MT_RE_8 Payer Handle : VPA
Payee Handle : VPA
API Involved: ReqMandate
RespMandate
Type : Update Mandate
Approval Type : Non Pre-
Approved
122 MA_MT_RE_9 Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Revoke Mandate
Approval Type : Non Pre-
Approved
123 MA_MT_RE_10
Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Revoke Mandate
Approval Type : Non Pre-
Approved
124 MA_MT_RE_11 Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Create Mandate
Approval Type : Pre-Approved
125 MA_MT_RE_12 Payer Handle : VPA
Payee Handle : VPA
API Involved: ReqMandate
RespMandate
Type : Create Mandate
Approval Type : Non Pre-
126 MA_MT_RE_13 Approved
Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Update Mandate
Approval Type : Non Pre-
127 MA_MT_RE_14 Approved
Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Update Mandate
Approval Type : Non Pre-
128 MA_MT_RE_15 Approved
Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqMandate


RespMandate
Type : Revoke Mandate
Approval Type : Non Pre-
129 MA_MT_RE_16 Approved
Payer Handle : VPA
Payee Handle : VPA
HOME
TXN
TEST DESCRIPTION INITIATED STATUS
BY

Payer PSP initiates a proper mandate request


with all mandatory fields

NOTE:
1. Always recurrence value should be
"ONETIME" and block fund should be "Y" Bank Success
always for all create/update mandate, if not UPI
will send neagtive ACK=""
2. UPI PIN is required in payer created mandate.
3. In payer created mandate, orgId & umn
handle should be send from the same psp. UMN
should be unique.

Payer generated UMN should be 32 digit


according to UUID logic
Bank Success
NOTE: .Always recurrence value should be
"ONETIME" and block fund should be "Y"
always

Payer generated txn id inside the mandate block


should be same as the txn id under the
transaction tag
Bank Success
NOTE: Always recurrence value should be
"ONETIME" and block fund should be "Y"
always
Payer psp to store the digitally signed mandate
block against the customer's mandate details

NOTE:
1.Always recurrence value should be "ONETIME"
and block fund should be "Y" always. For
onetime mandate recurrence rule tag not Bank Success
allowed
2. In case of P2M txn, it is payer responsibility to
validate whether merchnat is a verified
merchant or not. Based on the validation only
bank/PSP would be able to populate the
revokable field

To test whether the Payer PSP has


shareToPayee="Y"
Bank Success
Note: The shareToPayee option is only available
when the Payer PSP creates a mandate.Then the
recurrence option should be"ONETIME"

Payer PSP has to check whether the start date


and end date should be on or after the current
date.
Bank Success
Note:
1. Amount and End Date can only be modified
2. Both "EXACT|MAX" are possible in create
onetime mandate.

Payer wants to create a mandate for his/her gift


surprise, the Payer PSP has to initiates a
mandate which contains the option of
ShareToPayee="N".

Payer PSP option of ShareToPayee="N". Then the Bank Success


recurrence option should be "ONETIME", other
recurrence options are not applicable.

Note: The shareToPayee option is only available


when the Payer PSP creates a mandate
The payer psp initiates ReqMandate with wrong
UPIN.
Remitter bank decline with failure response Bank Failure
code"ZM". UPI forwards the same response and
error code as "UM8"

A payer initiates a create mandate request via


UPI using Payer VPA and Payee A/c+IFSC

To test Payer should initiated a mandate against


Payee address A/c+IFSC. Bank Failure

NOTE: UPI decline the transaction with the


failure code ="MC4"

If the recurrence value= ONETIME. The rule tag


should not be populated.

NOTE: 1.If rule tag is present UPI fails the Bank Success
mandate with the negative ACK="MB7"
2. One time recurrence pattern refers execution
of mandate only once by the PSP
.

A failure scenario where payee psp is not


available Errorcode="UN6"
Bank Failure
NOTE: Payer psp has to accept and inform the
customer about the payee psp is not available
A failure scenario where payee psp is not
register Errorcode="UN9"
Bank Failure
NOTE: Payer psp has to accept and inform the
customer about the payee psp is not registered

A failure scenario where payee psp missed the


UMN filed in the RespAuthMandate. UPI send
negative ACK.
Bank Failure
NOTE: Payer psp has to accept and inform the
Errorcode="UM5" where payee psp fails in
RespAuthMandate

Timeout at RespAuthMandate in payee psp.

NOTE: Payer psp has to accept and inform the Bank Failure
Errorcode="UM2" where payee psp timeout at
RespAuthMandate

The payer psp should accept the failure as


ReqAuthMandate ACK not received Bank Failure
ReqAuthMandate Timeout:UM0
Payer psp has to accept the failure code=UM7
stating that ReqMandate ACK not received from Bank Failure
the remitter bank

Payer psp should accept the failure stating that


Remitter bank timeout in the RespMandate Bank Failure
Errorcode=UM9

The payer psp should accept the failure


Errorcode=UN1 stating that Remitter bank fails Bank Failure
to send the payer address in the Resp tag

The payer psp should accept the failure as Bank Failure


remitter bank not registered:UO0(for mandate)
The payer psp should accept the remitter bank
fails the request stating that frozen/Block Bank Failure
account response Code=YE errCode=UM8

Payer psp not sending ACK after the


ReqMandateConfirmation

NOTE: UPI sending 3 ReqMandateConfirmation NPCI Failure


to check whether payer is reply for any one of
the Request, but payer psp fails to send
response.
A failure scenario in RespAuthMandate leg.
"mandate can not be created on this VPA-QQ".
UPI send final RespMandate with
responseCode="QQ" and errorCode="UM1"
NPCI Failure
NOTE:
1. In case of Payer psp is not allowed to created
mandate against tis VPA
2.Payee psp has to accept and inform the
customer about the failure in payer psp end

Payee psp not sending ACK after the


ReqMandateConfirmation Bank Success
Payer psp not sending ACK after the
RespMandate

NOTE: 1. UPI sending 3 RespMandate to check


whether payer is reply for any one of the
Request, but payer psp fails to send response. Bank Failure
2. UPI sends RespMandate confirmation to
Remitter bank & Payee psp stating that ACK not
received from Payer PSP for RespMandate
3. UPI sends Final RespMandate after 3rd try,
with failure stating that Payer psp not sending
ACK for RespMandate

Payer psp successfully initiate the create


mandate with blockFund=Y & purpose =01 in
Txn Tag (SEBI)
Bank Success
Note: block=Y & purpose =0
1 in Txn Tag (SEBI) is
mandatory if not UPI will decline with negative
ACK= "MC5" .
A payer PSP initiates a proper update mandate
request with all mandatory fields.

NOTE: Txn id,UMN, ts, shareToPayee & Bank Success


revokeable, payer upi ID, payee UPI ID and payer
A/C can not be modified. Only amount and End
date can be modified

A failure scenario in RespAuthMandate leg.


"Mandate has been Revoked-QC". UPI send final
RespMandate with response Code="QC" and
Errorcode="UM1"
NPCI Failure
NOTE:
1."QC "will come when payee initiates a request
for a revoked mandate
2.Payee psp has to accept and inform the
customer about the failure in payer psp end

A failure scenario in RespAuthMandate leg.


"Mandate has expired-QD". UPI send final
RespMandate with response Code="QD" and
errorCode="UM1"
NPCI Failure
NOTE:
1. Payer psp should validate the mandate against
the UMN and fails with "QD"
2.Payee psp has to accept and inform the
customer about the failure in payer psp end
A failure scenario in RespAuthMandate leg.
"UMN does not exist-QJ". UPI send final
RespMandate with response Code="QJ" and
errorCode="UM1"
NPCI Failure
NOTE:
1."QJ " will come when UMN requested is not
present with payer PSP or issuer bank
2.Payee psp has to accept and inform the
customer about the failure in payer psp end

A failure scenario in RespAuthMandate leg.


"Payer VPA is incorrect -QM". UPI send final
RespMandate with response Code="QM" and
errorCode="UM1"

NOTE: NPCI Failure


1. "QM " will come when the payer VPA in
ReqAuthMandate API is different from what has
been saved by PSP then PSP will use this RC to
decline the txn
2.Payee psp has to accept and inform the
customer about the failure in payer psp end

A failure scenario in RespAuthMandate leg.


"Duplicate mandate request-QN". UPI send final
RespMandate with responseCode="QN" and
errorCode="UM1"

NOTE: NPCI Failure


1. "QN"will come if mandate request received by
payer with exactly same details within time
period of 1 mins
2.Payee psp has to accept and inform the
customer about the failure in payer psp end

A failure scenario in RespAuthMandate leg.


"Payer initiated mandate cannot be modified by
payee-QP". UPI send final RespMandate with
responseCode="QP" and errorCode="UM1"
NPCI Failure
NOTE:
1. When payee PSP tries to modify the mandate
which is created by payer PSP
2.Payee psp has to accept and inform the
customer about the failure in payer psp end
A failure scenario in RespAuthMandate leg.
"Mandate modify request is declined-QT". UPI
send final RespMandate with
responseCode="QT" and errorCode="UM1"

NOTE: NPCI Failure


1." QT " will come when Payer or payee can
choose to decline the update request if mandate
attributes are not acceptable to either party
2.Payee psp has to accept and inform the
customer about the failure in payer psp end

payer psp to accept the failure response from


the payee psp end Bank Failure
QW - UMN does not exists

A payer PSP initiates a proper revoke mandate


request with all mandatory fields
Note:
1. REVOKE mandate by payer psp is only possible
when the txn is P2P and revokable field should Bank Success
be "Y" during payer initiated mandate creation
2. If revokable="N" during payer mandate
creation, then payer psp cannot perform
REVOKE option.
3. In REVOKE mandate, blockFund="N" always
Payer psp initiates ReqMandate with
Preapproved cred block.
Bank Success
NOTE: It is upto payer psp to store and validate
the digital signature in case f pre-approved flow.

The payer psp should accept the failure as


ReqAuthMandate ACK not received from
Payee psp Bank Failure
Timeout:UM0

NOTE: Mandate is not created

Payer psp not sending ACK after the


RespMandate
NOTE: 1. UPI sending 3 RespMandate to check
whether payer is reply for any one of the
Request, but payer psp fails to send response. 2. NPCI Failure
UPI sends RespMandate confirmation to
Remitter bank & Payee psp stating that ACK not
received from Payer PSP for RespMandate
3. UPI sends Final RespMandate after 3rd try,
with failure stating that Payer psp not sending
ACK for RespMandate
Payer generated txn id inside the mandate block
should be same as the txn id under the Bank Success
transaction tag

Payer generated UMN should be 32 digit Bank Success


according to UUID logic

To test whether the Payer PSP has


shareToPayee="N"
Bank Success
Note: The shareToPayee option is only available
when the Payer PSP creates a mandate. It is only
for recurrence="ONETIME"

Payer psp to store the digitally signed mandate Bank Success


block against the customer's mandate details

A failure scenario where payee psp is not


available errorCode="UN6"
BANK Failure
NOTE: Payer psp has to accept and inform the
customer about the payee psp is not available
Payer psp initiates ReqMandate with
PreApproved cred block.
Bank Failure
NOTE: The payer has to accept and inform the
customer as Payee psp failure in the
RespAuthMandate leg

Payer psp initiates ReqMandate with


PreApproved cred block.
Bank Failure
NOTE: The payer has to accept and inform the
customer as Payee psp failure in the
RespAuthMandate negative ACK message

Payer psp initiates ReqMandate with


PreApproved cred block.
Bank Failure
NOTE: The payer has to accept and inform the
customer as Payee psp timeouts scenario in
RespAuthMandate
Payer psp sends RespAuthMandate with
PreApproved cred block. (YE|123456) failure
result

Bank Failure

Payer psp initiates ReqMandate with Bank Success


PreApproved cred block.

A payer PSP initiates a proper revoke mandate


request with all mandatory fields

NOTE:
1. Mandate can be revoked only by payee psp
pertaining to the scenarios and block fund value Bank Success
should be "N" always.
2. Only in case of P2P txn, Payer is eligible to
revoke the madate in case of payer created
mandate.
3. Remitter bank should unblock the fund when
blockFund="N"

Payer psp successfully initiate the create


mandate with blockFund=Y , purpose =01 in Txn
Tag (SEBI) & shareToPayee=Y
Bank Success
Note: The field shareToPayee=Y is mandatory if
not UPI will decline with negative ACK ="MP5"
stating that shareToPayee is always "Y" for SEBI
txn
Payer psp successfully initiate the create
mandate with blockFund=Y , purpose =01 in Txn
Tag (SEBI), shareToPayee=Y and amount
rule="MAX"
Bank Success
Note:
1. The field rule="MAX" is mandatory if not UPI
will decline with negative ACK ="MP4" stating
that amount rule should be "MAX" for SEBI txn
+E10
2

Payer psp successfully initiate the create


mandate with blockFund=Y , purpose =0
1 in Txn
Tag (SEBI), shareToPayee=Y, amount
rule="MAX" and recurrence value="ONETIME"
Bank Success
Note: The field recurrence value="ONETIME" is
mandatory if not UPI will decline with negative
ACK ="MP3" stating that recurrence pattern
value should be "ONETIME" for SEBI txn D7

Payer psp successfully initiate the create


mandate with unique combination (application
form no+ IPO no) should be populated in refId Bank Success

Payer psp successfully initiate the create


mandate with blockFund=Y , purpose =0
1 in Txn
Tag (SEBI), shareToPayee=Y, amount
rule="MAX" and recurrence value="ONETIME"
Bank Success
Note: The field recurrence value="ONETIME" is
mandatory if not UPI will decline with negative
ACK ="MP3" stating that recurrence pattern
value should be "ONETIME" for SEBI txn
Payer psp successfully initiate the create
mandate with same combination (application
form no+ IPO no) in refId, payee declines with
responseCode="IA" stating that Duplicate Block
Fund for mandate request Bank Failure
Note: Payer should accept the response and re-
initiate with unique refId

Payer authorize the mandate after the expiry


TAT
Bank Failure
Note: If payer authorize the mandate after the
expiry TAT, UPI will decline with negative
ACK="UM6" stating that the transaction not
found, since transaction is already complete.

In payee initiated mandate is rejected or


declined by Payer psp.
Bank Failure
NOTE: For SEBI or any other "ONETIME"
mandate

Payer psp successfully initiate the create


mandate with unique combination (application
form no+ IPO no) should be populated in refId Bank Success
Payer should initiate a SEBI mandate within the
amount limit 2,00,000

Note: If payer psp wrongly initiate a SEBI Bank Success


mandate more than 2,0
0
,0
0
0
UPI will decline
with negative ACK="UP2" stating that amount
limit exceeded

Payer psp initiates an update request with


updated amount(Other values to remain the
same)

Note: UPI will not validate the date and time Bank Success
value. It is a payee psp responsibility to validate
T,T+1… [The start date and end date will be
between T-2 and T + 13 days (15 days).
Modification will be allowed only till T+1 day or
as payee decides]

If Payer psp updates the expiry time, frequency


or rules then UPI will decline with negative Bank Success
ACK="MP2" stating that only amount can
modified

The Payer should use the same refId when


updating the mandate. If not, Remitter or Payee
psp will decline with negative ACK=""

Note: Bank Success


1. If the validity end date reached, UPI will
automatically deactive the mandate.
Update/Revoke is not allowed after deactivation
Payer successfully revokes mandate when
purpose =SEBI and blockFund="N", If not, UPI Bank Success
will decline with negative ACK ="MP1"

Payer initiates a Revoke mandate after the


remitter unblock the amount. Remitter will
decline with responseCode="IB"

NOTE:
1.Payer is eligible to revoke in case of P2P txn Bank Failure
payer initiated mandate
2. Payee initated REVOKE, UPI PIN is not
required. It is a payer responsibility to send
,mandate digital signature cred block instead of
PIN cred block

If the recurrence pattern= WEEKLY then the


value must be 1 to 7.

NOTE: 1.If the pattern is WEEKLY then the value


must be 1 to 7 , if not UPI will decline with
negative ACK="MB6"
2. If the pattern is FORTNIGHTLY then the value Bank Success
must be 1 to 16, if not UPI will decline with
negative ACK="MB8"
3. If the pattern is BIMONTHLY, QUARTERLY|
HALFYEARLY|YEARLY then the value must be 1 to
31, if not UPI will decline with negative
ACK="MB9"
Payee PSP initiates a proper mandate request
with all mandatory fields.

NOTE:
1.Payee psp should mention the expiry field
value. If payee psp has not mention the expiry
value, UPI will take "30
min" as default value
2.Always recurrence value should be "ONETIME" Bank Success
and block fund should be "Y" always for all
create mandate, if not UPI will send neagtive
ACK=""
3. UMN should always generated by Payer, If
payee wrongly generates, UPI will decline with
neagtive ACK=""
4. Payee psp cannot have shareToPayee field.
5. Any mandate has maximum allowed limit
1,0
0
,0
0
0
limit per mandate except SEBI mandate

Bank Failure
Payee PSP initiates a mandate request with
expiry field and it will expire=UM3

Check if the start date will be on or after the Bank Success


current date
Failure case, Payee initiated a mandate against
Payer address as <acc.no>@<IFSC>.ifsc.npci. As
of now, UPI allow to create mandate Only via Bank Failure
VPA to VPA. UPI decline the transaction with the
failure code ="MC4"

Payee PSP not send ACK message after the final


RespMandate leg Bank Success

NOTE: Mandate will be created irrespective of


Payee psp is not sends an ACK.

Payee PSP not send ACK message after the final


ReqMandateConfirmation leg NPCI Success

NOTE: Mandate will be created irrespective of


Payee psp is not sends an ACK.
Failure scenario where payer psp missed the
UMN filed in the RespAuthMandate. UPI will Bank Failure
send negative ACK.

NPCI Failure
If the payee initiates ReqMandate against
frozen/Block account-YE

Bank Failure
payee initiated mandate request will breached
the limit amount
Payee initiated mandate fields should not be Bank Failure
changed by the Payer PSP during address
resolution.

if the payee sends the request mandate with


Recurrence=ONETIME" there is no rule tag value
Bank Success

NOTE: If rule tag is present UPI fails the mandate


with the negative ACK="MB7"

NPCI Failure
NOTE: Due to some fraud act, payee psp is not
allowed the VPA to create mandate
NOTE: Payer or payee can choose to decline the NPCI Failure
update request if mandate attributes are not
acceptable to either party-VW

NOTE: Payee psp should accept and inform the


customer about the failure in ReqAuthMandate Bank Failure
api stating that NO ACK received from payer psp

ReqAuthMandate Timeout:UM0

NOTE: Payee psp also accept the error code in Bank Failure
the RespMandate API and inform to his/her
customer

Bank Failure
NOTE: Payee psp has to accept and inform the
customer about the payer psp is not available
Bank Failure
NOTE: Payee psp has to accept and inform the
customer about the payer psp is not registered

NOTE: Payee psp should store the UMN for Bank Success
financial txn which is received from the
RespMandate

The payee psp receives negative ACK failure in Bank Failure


RespMandate API (Remitter Bank)
Timeout at RespMandate scenario in remitter Bank Failure
bank-UM9

Payee psp has to populate blockFund="Y" when


the remitter bank had blocked the customer Bank Success
account succesfully.

Payee PSP initiates a proper modify mandate


request with all mandatory fields

NOTE: Bank Success


1.Txn id,UMN, ts, shareToPayee & revokeable
payer upi ID, payee UPI ID and payer A/C can not
be modified. Only end date and amount can be
modified
2. Payee initiated UPDATE/REVOKE mandate,
UMN should be allowed
NPCI Failure
NOTE: When the case of update mandate, payee
does not have the details of the UMN-QW

NOTE: When the payer VPA in ReqAuthMandate NPCI Failure


API is different from what has been saved by
Payee PSP then PSP will use "QX" to decline the
txn

NPCI Failure
NOTE: In case of Payee created mandate, Payee
should only allow to modify the mandate

Failure case is to check the responseCode=QZ


stating that
Mandate modification declined by merchant
NPCI Failure
NOTE: When modified mandate attributes are
not as per merchant & payers initially agreed
terms
Note -Payee should accept and inform the Bank Failure
customer about the failure in payer psp end.
Payee created mandate cannot be modified by
payer

A payee PSP initiates a proper revoke mandate


request with all mandatory fields

NOTE: 1. Mandate can be revoked only by payee


psp pertaining to the scenarios and block fund
value should be "N" always.
2. Only in case of P2P txn, Payer is eligible to Bank Success
revoke the madate in case of payer created
mandate.
3. Remitter bank should unblock the fund when
blockFund="N"
4. For payee initiated REVOKE, UPI PIN is not
required from payer.

Payee psp not sending ACK after the


RespMandate
Bank Success
NOTE: Mandate will be created irrespective of
payee not sends an ACK.
In ReqMandateConfirmation, Payee psp not
sending ACK
NPCI Success
NOTE: Mandate will be created irrespective of
payee not sends an ACK.

Payer psp should send the pre-approved cred


block as success with response =0
0
& approval
no
Bank Success
Note: If the mandate will be created as a pre-
approved then the financial execution must be a
preapproved txn

Preapproved failure case with QQ code


Bank Failure
NOTE: Payee & Payer should accept the failure
response

Failure at RespAuthMAndate api in payer psp-


UM1

Bank Failure
Payee psp successfully initiate the create
mandate with blockFund=Y & purpose =01 in
Txn Tag(SEBI)
Bank Success
Note: blockFund=Y & purpose =0
1 (SEBI) are
mandatory if not, UPI will decline with negative
ACK= "MC5"

Payee psp successfully initiates create mandate


with blockFund=Y , purpose =0
1 (SEBI) in Txn Tag
and amount rule="MAX"
Bank Success
Note: The field rule="MAX" is mandatory.
If not, UPI will decline with negative ACK
="MP4"stating that amount rule should be
"MAX" for SEBI txn

Payee psp successfully initiates create mandate


with blockFund=Y , purpose =0
1 (SEBI) in Txn
Tag, amount rule="MAX" and recurrence
value="ONETIME"

Note:
1.The field recurrence value="ONETIME" is Bank Success
mandatory.
If not, UPI will decline with negative ACK
="MP3" stating that recurrence pattern value
should be "ONETIME" for SEBI txn
2.In case of P2M txn, merchant tag is mandatory
under payee tag
Payee psp successfully initiates create mandate
with unique combination (application form no+
IPO no) should be populated in refId Bank Success

Payee psp successfully initiates create mandate


with blockFund=Y , purpose =0
1 (SEBI) in Txn
Tag, amount rule="MAX" and recurrence
value="ONETIME"
Bank Success
Note: The field recurrence value="ONETIME" is
mandatory. If not, UPI will decline with negative
ACK ="MP3"stating that recurrence pattern
value should be "ONETIME" for SEBI txn

Payee psp initiates create mandate with same


combination (application form no+ IPO no) in
refId, Payer declines with responseCode="IA"
stating that duplicate Block Fund mandate
request Bank Failure
Note: Payee should accept the response and re-
initiate with unique refId

Payee sends the RespAuthMandate after the


TAT
Bank Failure
Note: If payee sends the RespAuthMandate after
the TAT, UPI will decline with negative
ACK="UM6" stating that the transaction not
found, since the transaction is already
completed.
In payer initiated mandate is rejected or Bank Failure
declined by Payee psp.

Payee psp successfully initiates create mandate


with unique combination (application form no+
IPO no) should be populated in refId Bank Success

Payee PSP initiates SEBI create mandate within


the amount limit 2,00,000

Note: If payee psp wrongly initiate a SEBI Bank Success


mandate more than 2,0
0
,0
0
0
, UPI will decline
with negative ACK="UP2" stating that amount
limit exceeded.

Payee psp initiates an update mandate request


for a different amount and end Date (Other
values to remain the same) [The start date and
end date will be between T-2 and T + 13 days (15
days)]

Note: UPI will not validate the date and time Bank Success
value. It is a payee psp responsibility to validate
T,T+1...
Payee PSP to ensure that any revoke or update
attempt post T+1 23.59 hrs is declined at their
end ( Critical Business rule to be built at their
end)
If payee psp updates the expiry time, frequency
or rules then UPI will decline with negative Bank Success
ACK="MP2" stating that only amount can
modified

Payee successfully revokes mandate when


purpose =0
1 in Txn Tag(SEBI) and
blockFund="N".
If not, UPI will decline with negative ACK
="MP1"
Bank Success
Note:
1. If the validity end date reached, UPI will
automatically deactive the mandate.
Update/Revoke is not allowed after deactivation

Payee initiates Revoke mandate after the


remitter unblock the amount. Remitter will Bank Failure
decline with response code="IB"

If share is not allotted for customer, it is a


responsibility of Payee psp to revoke the
mandate with full amount
Bank Success
Note: If payee psp fails to initiate a revoke, then
remitter bank should unblock the amount
automatically post expiry of mandate
The case is to validate the remitter bank sends
the successful RespMandate

NOTE: 1. Remitter should signed the Mandate


block with CA signed certificate prior to the
digital signing of whole RespMandate XML Npci Success
message
2. Always recurrence value should be
"ONETIME" and block fund should be "Y" always
for all create mandate, if not UPI will send
neagtive ACK=""

Failure responseCode="VF" stating that UMN


does not exists
Npci Failure
NOTE: When UMN requested is not present with
payer PSP or issuer bank

Failure responseCode="VL" stating that Mandate


registration not allowed for CC PF PPF act
(bank's policy) Npci Failure

Failure responseCode="VM" stating that Nature


of debit not allowed in account type Npci Failure
Payer psp should accept the failure stating that
Remitter bank timeout in the RespMandate Npci Failure
errorCode=UM9

Remitter bank should block the fund in the


customer's account when the mandate is
created as blockFund="Y" by Payer/Payee psp Npci Success
Note: (Blocking can happen anytime between T-
2 days and T+1 day 120
0
hrs)

Remitter bank should unblock the blocked fund


from the customer's account when the mandate
is expired and no shares are allotted Npci Success
Note: (Blocking can happen anytime between T-
2 days and T+1 day 120
0
hrs)

Failure responseCode="VG" stating that Payer


VPA is incorrect
Npci Failure
NOTE: It is used for the updation of mandate, if
payee psp update the mandate with wrongly
payer VPA
Failure responseCode="VU" stating that
Mandate has expired Npci Failure

Revoked mandate successful Npci Success

Remitter bank should unblock the enitre blocked


fund in the customer's account when the
mandate is revoked by Payee psp

NOTE: 1. Mandate can be revoked only by payee


psp pertaining to the scenarios and block fund
value should be "N" always. Npci Success
2. Only in case of P2P txn, Payer is eligible to
revoke the madate in case of payer created
mandate.
3. Remitter bank should unblock the fund when
blockFund="N"

Payer psp successfully initiate the create


mandate with unique combination (application
form no+ IPO no) should be populated in RefId

Note: In case the mandate type is "CREATE" and Npci Success


RefId is same for both requests and the Block is
already done, then the remitter will decline the
transaction with " Block already done for the
refID"
Remitter bank decline with respcode code="Z9" Npci Failure
insufficient funds to create mandate

Remitter bank should only accept the amount


and end date change as part of update mandate
request (Other values to remain the same) [The
start date and end date will be between T-2 and
T + 13 days (15 days)] Npci Success

Note: UPI will not validate the date and time


value. It is a payee psp responsibility to validate
T,T+1...

Remitter bank should decline the update


request stating that the Amount already Npci Failure
unblocked for mandate

Remitter bank should unblock the blocked fund


when type=REVOKE and blockFund=N Npci Success
TEST STEPS Mandatory/Optional

1. Payer PSP initiates a create mandate Request by entering the Virtual


Address of the Payee .
2. UPI sends ReqAuthMandate to Payee PSP in order to resolve the
address.
3. Payee PSP sends RespAuthMandate to UPI.
4. UPI sends a ReqMandate to remitter bank.
5. Remitting Bank validates all the mandate details with payer credentials
and block the fund . Then, sends a RespMandate to UPI with the digitally
signed mandate block to UPI.
6. UPI forwards the same RespMandate which contains a digitally signed
mandate block with Success result to Payer PSP. Payer PSP has to store
the digitally signed mandate block which will be used during the financial
txn.
7. UPI sends a ReqMandateConfirmation to Payee PSP with successful
message without the signed xml block.
8. Payee PSP should send RespMandateConfirmation with status as
success always to UPI.

1. Payer PSP initiates a create mandate Request with proper UMN .

NOTE: UPI validates 32 digit alphanumeric. Otherwise UPI will send Neg
ACK="MA5"

1. Payer PSP initiates a create mandate Request with same txn id in


mandate block and txn tag.

NOTE: Txn id should be as per the UPI txn id logic. Otherwise UPI will
send negative ACK="MA3"
Refer test case S.No. 1 for other steps

6. UPI forwards the same RespMandate which contains a digitally signed


mandate block with Success result to Payer PSP. Payer PSP has to store
the digitally signed mandate block which will be used during the financial
txn.

1. Payer initiates a create mandate Request by entering the Virtual


Address of the Payee . Payer initiated mandate only can have
"shareToPayee"="Y" option

1. Payer initiates a create mandate Request by entering the Virtual


Address of the Payee. Payer PSP should validate the start and end date.

Note: The start date should be on or after the current date. Otherwise
UPI will send the negative ACK="MB0
"

1. Payer initiates a create mandate Request by entering the Virtual


Address of the Payee . The recurrence value in the ReqMandate should
be "ONETIME"
7. Payer has to share his/her mandate details offline to Payee. (via text
message & WhatsApp)

Refer S.No.1 for other steps

NOTE: If payer psp wrongly sends the recurrence option other than
"ONETIME". UPI will give negative ACK to payer psp "MA8"
1. Payer initiates a create mandate Request by entering the Virtual
Address of the Payee .
2. UPI sends ReqAuthMandate to Payee PSP in order to resolve the
address.
3.Payee PSP sends RespAuthMandate to UPI.
4.UPI sends a ReqMandate to remitter bank.
5. Remitting Bank validates all the mandate details and payer credential
(UPIN) is wrong.
6. Remitter bank sends a RespMandate to UPI with failure status that
Invalid UPIN- "ZM"
7.UPI forwards the same RespMandate which contains the response
Code="ZM" and Errorcode="UM8"to Payer PSP.
8. UPI sends a ReqMandateConfirmation to Payee PSP with failure
message
9. Payee PSP will always sends a successful RespMandateConfirmation
back to UPI.

1. Payer initiates a create mandate Request by entering the financial


Address of the Payee .
2. As UPI restrict the mandate creation as between VPA to VPA.
3. UPI sends negative ACK to Payer PSP as Errorcode="MC4". Payer has to
read the negative ACK and act accordingly

1. Payer initiates a create mandate Request by entering the VPA of the


Payee. The recurrence value=ONETIME. Rule tag should not be
populated.
Refer S.No.1 for other legs

1. Payer initiates a create mandate Request by entering the Virtual


Address of the Payee .
2.UPI sends RespMandate which contains the Errorcode="UN6"to Payer
PSP.
1. Payer initiates a create mandate Request by entering the Virtual
Address of the Payee .
2.UPI sends RespMandate which contains the Errorcode="UN9"to Payer
PSP.

1. Payer initiates a create mandate Request by entering the Virtual


Address of the Payee .
2. UPI sends ReqAuthMandate to Payee PSP in order to resolve the
address.
3.Payee PSP missed the UMN and sends the RespAuthMandate to UPI
and UPI sends negative ACK stating that UMN field is missing
4. UPI sends the finalRespMandate with Errorcode="UM5" tp payer psp

1. Payer initiates a create mandate Request by entering the Virtual


Address of the Payee .
2. UPI sends ReqAuthMandate to Payee PSP in order to resolve the
address.
3.Payee PSP fails to send response within the time period.
4.UPI decline the transaction as timeout and UPI sends a final
RespMandate with the failure message to payer PSP.errorCode="UM2"

1. Payer initiates a create mandate Request by entering the Virtual


Address of the Payee .
2. UPI sends ReqAuthMandate to Payee PSP in order to resolve the
address.
3.Payee PSP fails to send ACK within the time period.
4.UPI decline the transaction as timeout and UPI sends a final
RespMandate with the failure message to payer PSP.errorCode="UM0
"
Refer S.No.1 for other steps

4.UPI sends a ReqMandate to remitter bank.


5. Remitting Bank fails to sends an ACK for the ReqMandate
7.UPI sends RespMandate which contains the and Errorcode="UM7"to
Payer PSP.
8. UPI sends a ReqMandateConfirmation to Payee PSP with failure
message
9. Payee PSP sends a RespMandateConfirmation back to UPI.

1. Payer initiates a create mandate Request by entering the Virtual


Address of the Payee .
2. UPI sends ReqAuthMandate to Payee PSP in order to resolve the
address.
3.Payee PSP sends RespAuthMandate to UPI.
4. UPI sends a ReqMandate to remitter bank.
5. Remitting Bank fails to sends RespMandate to UPI within time period
6. UPI declines final RespMandate with Errorcode=UM9

1. Payer initiates a create mandate Request by entering the Virtual


Address of the Payee .
2. UPI sends ReqAuthMandate to Payee PSP in order to resolve the
address.
3.Payee PSP sends RespAuthMandate to UPI.
4.UPI sends a ReqMandate to remitter bank.
5. Remitting Bank validates all the mandate details and debits the
customer account
6. Remitter bank sends a RespMandate to UPI with Success and fails to
populate payer address. UPI sends negative ACK with Errorcode="R0
2"
7.UPI sends the RespMandate which contains Errorcode="UN1"to Payer
PSP.
8. UPI sends a ReqMandateConfirmation to Payee PSP with failure
message
9. Payee PSP sends a RespMandateConfirmation back to UPI.

1. Payer initiates a create mandate Request by entering the Virtual


Address of the Payee .
2.UPI decline the transaction with Errorcode="UO0
" stating that Remitter
bank not registered
1. Payer initiates a create mandate Request by entering the Virtual
Address of the Payee .
2. UPI sends ReqAuthMandate to Payee PSP in order to resolve the
address.
3.Payee PSP sends RespAuthMandate to UPI.
4.UPI sends a ReqMandate to remitter bank.
5. Remitting Bank validates all the mandate details and payer credential
6. Remitting Bank sends a failure RespMandate with response Code="YE"
to UPI
7.UPI forwards the same RespMandate which contains failure result to
Payer PSP
8. UPI sends a ReqMandateConfirmation to Payee PSP with failure
message
9. Payee PSP sends a RespMandateConfirmation back to UPI.

1. Payee initiates a create mandate Request by entering the Virtual


Address of the Payer .
2. UPI sends ReqAuthMandate to Payer PSP for address resolution
3.Payer PSP sends RespAuthMandate to UPI.
4.UPI sends a ReqMandate to remitter bank.
5. Remitting Bank validates all the mandate details and payer credential
6. Remitting Bank sends a RespMandate to UPI with the signed xml to UPI
7.UPI forwards the same RespMandate with Success result to Payee PSP
8. UPI sends a ReqMandateConfirmation to Payer PSP with successful
message with the signed xml block.
9. Payer PSP fails to sends a RespMandateConfirmation back to UPI.
10
. UPI sending three time ReqMandateConfirmation to check whether
the Payer PSP send response for anyone of the
ReqMandateConfirmation.
12. Payer PSP fails to send response for Final ReqMandateConfirmation.
UPI decline the transaction with the errCode="UN4"
1. Payee initiates a create mandate Request by entering the Virtual
Address of the Payer .
2. UPI sends ReqAuthMandate to Payer PSP for address resolution
3.Payer PSP sends RespAuthMandate to UPI with Failure
errorCode="QQ"
4.UPI sends failure Final RespMandate with erroCode="UM1" and
ResponseCode =QQ to payee psp.

1. Payer initiates a create mandate Request by entering the Virtual


Address of the Payee .
2. UPI sends ReqAuthMandate to Payee PSP in order to resolve the
address.
3.Payee PSP sends RespAuthMandate to UPI.
4.UPI sends a ReqMandate to remitter bank.
5. Remitting Bank validates all the mandate details and payer credential
6. Remitting Bank sends a RespMandate to UPI with the signed xml to UPI
7.UPI forwards the same RespMandate which contains a signed xml with
Success result to Payer PSP
8. UPI sends a ReqMandateConfirmation to Payee PSP with successful
message
9. Payee PSP fails to sends a ACK & RespMandateConfirmation back to
UPI.

NOTE: Mandate will be created irrespective of no ACK &


RespMandateConfirmation from Payee Psp
1. Payer initiates a create mandate Request by entering the Virtual
Address of the Payee .
2. UPI sends ReqAuthMandate to Payer PSP for address resolution
3.Payee PSP sends RespAuthMandate to UPI.
4.UPI sends a ReqMandate to remitter bank.
5. Remitting Bank validates all the mandate details and payer credential
6. Remitting Bank sends a RespMandate to UPI with the signed xml to UPI
7.UPI forwards the same RespMandate which contains a signed xml with
Success result to Payer PSP. Payer psp not sending ACK after the
RespMandate
8. UPI sending 3 ReqMandate to check whether payer is reply for any one
of the Request, but payer psp fails to send response
9. UPI sends a ReqMandateConfirmation to Payee PSP & remitter bank
with failure message as erroCode="UN3"
10
. Payee PSP sends a RespMandateConfirmation back to UPI.

NOTE: Mandate will not be created irrespective of Payer psp not sending
ACK for Final RespMandate

1. Payer PSP initiates a create mandate request by entering the Virtual


Address of the Payee .
2. UPI sends ReqAuthMandate to Payee PSP in order to resolve the
address.
3. Payee PSP sends RespAuthMandate to UPI.
4. UPI sends a ReqMandate to remitter bank.
5. Remitting Bank validates all the mandate details with payer credentials
and sends a RespMandate to UPI with the digitally signed mandate block
to UPI ( Remitting Bank blocks the amount after checking block fund is Y)
6. UPI forwards the same RespMandate which contains a digitally signed
mandate block with Success result to Payer PSP. Payer PSP has to store
the digitally signed mandate block which will be used during the financial
txn.
7. UPI sends a ReqMandateConfirmation to Payee PSP with successful
message without the signed xml block.
8. Payee PSP should send RespMandateConfirmation with status as
success always to UPI.
1. Payer PSP initiates a update mandate Request by entering the Virtual
Address of the Payee .
2. UPI sends ReqAuthMandate to Payee PSP in order to resolve the
address.
3. Payee PSP sends RespAuthMandate to UPI.
4. UPI sends a ReqMandate to remitter bank.
5. Remitting Bank validates all the mandate details with payer credentials
and sends a RespMandate to UPI with the digitally signed mandate block
to UPI
6. UPI forwards the same RespMandate which contains a digitally signed
mandate block with Success result to Payer PSP. Payer PSP has to store
the digitally signed mandate block which will be used during the financial
txn.
7. UPI sends a ReqMandateConfirmation to Payee PSP with successful
message without the signed xml block.
8. Payee PSP should send RespMandateConfirmation with status as
success always to UPI.

1. Payee initiates a update mandate Request by entering the Virtual


Address of the Payer .
2. UPI sends ReqAuthMandate to Payer PSP for address resolution
3.Payer PSP sends RespAuthMandate to UPI with Failure Errorcode="QC"
4.UPI sends failure Final RespMandate with errCode="UM1" and
Response Code =QC to payee psp.

1. Payee initiates a update mandate Request by entering the Virtual


Address of the Payer .
2. UPI sends ReqAuthMandate to Payer PSP for address resolution
3.Payer PSP sends RespAuthMandate to UPI with Failure errorCode="QD"
4.UPI sends failure Final RespMandate with errCode="UM1" and
Response Code =QD to payee psp.
1. Payee initiates a Update mandate Request by entering the Virtual
Address of the Payer .
2. UPI sends ReqAuthMandate to Payer PSP for address resolution
3.Payer PSP sends RespAuthMandate to UPI with Failure errorCode="QJ"
4.UPI sends failure Final RespMandate with errCode="UM1" and
Response Code =QJ to payee psp.

1. Payee initiates a update mandate Request by entering the Virtual


Address of the Payer .
2. UPI sends ReqAuthMandate to Payer PSP for address resolution
3.Payer PSP sends RespAuthMandate to UPI with Failure
errorCode="QM"
4.UPI sends failure Final RespMandate with errCode="UM1" and
ResponseCode = QM to payee psp.

1. Payee initiates a create mandate Request by entering the Virtual


Address of the Payer .
2. UPI sends ReqAuthMandate to Payer PSP for address resolution
3.Payer PSP sends RespAuthMandate to UPI with Failure errorCode="QN"
4.UPI sends failure Final RespMandate with erroCode="UM1" and
ResponseCode = QN to payee psp.

1. Payee initiates a modify mandate Request by entering the Virtual


Address of the Payer .
2. UPI sends ReqAuthMandate to Payer PSP for address resolution
3.Payer PSP sends RespAuthMandate to UPI with Failure errorCode="QP"
4.UPI sends failure Final RespMandate with erroCode="UM1" and
ResponseCode =QP to payee psp.
1. Payee initiates a update mandate Request by entering the Virtual
Address of the Payer .
2. UPI sends ReqAuthMandate to Payer PSP for address resolution
3.Payer PSP sends RespAuthMandate to UPI with Failure errorCode="QT"
4.UPI sends failure Final RespMandate with erroCode="UM1" and
ResponseCode =QT to payee psp.

1. Payer initiates a update mandate Request by entering the Virtual


Address of the Payee .
2. UPI sends ReqAuthMandate to Payee PSP in order to resolve the
address.
3.Payee PSP sends failure RespAuthMandate with errorCode="QW" to
UPI.
4.UPI forwards the same RespMandate which contains Failure
ResponseCode="QW" & errorCode=UM1

1. Payer PSP initiates a Revoke mandate Request by entering the Virtual


Address of the Payee .
2. UPI sends ReqAuthMandate to Payee PSP in order to resolve the
address.
3. Payee PSP sends RespAuthMandate to UPI.
4. UPI sends a ReqMandate to remitter bank.
5. Remitting Bank validates all the mandate details with payer credentials
and sends a RespMandate to UPI with the digitally signed mandate block
to UPI
6. UPI forwards the same RespMandate which contains a digitally signed
mandate block with Success result to Payer PSP. Payer PSP has to store
the digitally signed mandate block which will be used during the financial
txn.
7. UPI sends a ReqMandateConfirmation to Payee PSP with successful
message without the signed xml block.
8. Payee PSP should send RespMandateConfirmation with status as
success always to UPI.
1. Payer initiates a create mandate Request by entering the Virtual
Address of the Payee .
2. As payer and remitter bank PSP are same, Payer PSP initiates the
request mandate with Pre-approved cred block( response code &
approval no).
3. UPI sends ReqAuthMandate to Payee PSP in order to resolve the
address.
4.Payee PSP sends RespAuthMandate to UPI.
5. UPI sends RespMandate to Payer PSP.
6. UPI sends a ReqMandateConfirmation to Payee PSP with successful
message without the signed xml block.
7. Payee PSP should send RespMandateConfirmation with status as
success always to UPI.

1. Payer initiates a create mandate Request by entering the Virtual


Address of the Payee .
2.As payer and remitter bank PSP are same, Payer PSP initiates the
request mandate with Pre-approved cred block( response code &
approval no)
3.UPI sends ReqAuthMandate to Payee PSP in order to resolve the
address.
4.Payee PSP fails to send ACK within the time period.
5.UPI decline the transaction as timeout and UPI sends a final
RespMandate with the failure message to payer PSP.errorCode="UM0
"

1. Payer initiates a create mandate Request by entering the Virtual


Address of the Payee .
2.As payer and remitter bank PSP are same, Payer PSP initiates the
request mandate with Pre-approved cred block( response code &
approval no)
3.UPI sends ReqAuthMandate to Payee PSP in order to resolve the
address and Payee PSP sends response within the time period.
4. UPI sends final RespMandate to Payer psp. Payer psp fails to send ACK
4. UPI sends 3 RespMandate to check, but payer psp fails to send ACK.
5. UPI sends a ReqMandateConfirmation to Payee PSP with failure
message
6. Payee PSP sends a RespMandateConfirmation back to UPI.
7. UPI will declines the transaction with the erroCode="UN3"
1. Payer PSP initiates a create mandate Request with same txn id in
mandate block and txn tag.

NOTE: Txn id should be as per the UPI txn id logic. Otherwise UPI will
send negative ACK ="MA3"

1. Payer PSP initiates a create mandate Request with proper UMN .

NOTE: UPI validates 32 digit alphanumeric . Otherwise UPI will send


negative ACK ="MA5"

1. Payer initiates a create mandate Request by entering the Virtual


Address of the Payee . Payer initiated mandate only can have
"shareToPayee"="N" option

Refer test case S.No. 1 for other steps

6. UPI forwards the same RespMandate which contains a digitally signed


mandate block with Success result to Payer PSP. Payer PSP has to store
the digitally signed mandate block which will be used during the financial
txn.

1. Payer initiates a create mandate Request by entering the Virtual


Address of the Payee .
2.UPI sends RespMandate which contains the errorCode="UN6"to Payer
PSP.
1. Payer initiates a create mandate Request by entering the Virtual
Address of the Payee .
2. As payer and remitter bank PSP are same, Payer PSP initiates the
request mandate with Pre-approved cred block( response code &
approval no)
3. UPI sends ReqAuthMandate to Payee PSP in order to resolve the
address.
4.Payee PSP sends RespAuthMandate with failure errorcode="ZE" to UPI.
5.UPI forwards the same RespMandate which contains the
responseCode="ZE" to Payer PSP.

1. Payer initiates a create mandate Request by entering the Virtual


Address of the Payee .
2. As payer and remitter bank PSP are same, Payer PSP initiates the
request mandate with Pre-approved cred block( response code &
approval no)
3. UPI sends ReqAuthMandate to Payee PSP in order to resolve the
address.
4.Payee PSP fails to send the umn in the RespAuthMandate. UPI declines
with the negative ACK="MC3"
5.UPI sends the RespMandate with failure to Payer PSP.

1. Payer initiates a create mandate Request by entering the Virtual


Address of the Payee .
2. As payer and remitter bank PSP are same, Payer PSP initiates the
request mandate with Pre-approved cred block( response code &
approval no)
3. UPI sends ReqAuthMandate to Payee PSP in order to resolve the
address.
4.Payee PSP fails to send a RespAuthMandate with in the time period.
UPI declines with timeout.
5.UPI sends the RespMandate which contains the responseCode="UM2"
to Payer PSP.
1. Payee initiates a create mandate Request by entering the Virtual
Address of the Payer .
2. UPI sends ReqAuthMandate to Payee PSP in order to resolve the
address.
3. As payer and remitter bank PSP are same, Payer PSP sends the
RespAuthMandate with Pre-approved cred block( negative response
code=YE & approval no) with Failure result.
4. UPI sends Failure in RespMandate UM1 to payee psp

NOTE: If payer psp sends result=success and response code=YE, UPI


decline with the negative ACK=C11

1. Payer initiates a Update mandate Request by entering the Virtual


Address of the Payee .
2. As payer and remitter bank PSP are same, Payer PSP initiates the
request mandate with Pre-approved cred block( response code &
approval no)

Refer S.No.26 for other steps

1. Payer initiates a revoke mandate request by entering the Virtual


Address of the Payee .
2. As pre-approved txn, payer unblock the customer account and sends
the pre-approved cred block with response code and approval no

Refer S.No.35 for other steps

1. Payer PSP initiates a create mandate request by entering the Virtual


Address of the Payee .

For other steps refer SEBI payer created case


1. Payer PSP initiates a create mandate request by entering the Virtual
Address of the Payee .

For other steps refer SEBI payer created case

1. Payer PSP initiates a create mandate request by entering the Virtual


Address of the Payee .

For other steps refer SEBI payer created case

1. Payer PSP initiates a create mandate request by entering the Virtual


Address of the Payee .

For other steps refer SEBI payer created case

1. Payer PSP initiates a create mandate request by entering the Virtual


Address of the Payee .

For other steps refer SEBI payer created case


1. Payer PSP initiates a create mandate request by entering the Virtual
Address of the Payee .
2. UPI sends ReqAuthMandate to Payee PSP in order to resolve the
address.
3. Payee should validate the refId and fails the RespAuthMandate stating
that block already done for the refID to UPI.
4. UPI forwards the same response with failure message to payer psp.
Payer psp should accept the response code and re-initiate with unique
refId

1. Payee initiates a create mandate request by entering the Virtual


Address of the Payer .
2. UPI sends ReqAuthMandate to Payer PSP in order to authorize the
mandate and retrieve the account details
3.Payer PSP authorize the mandate after the TAT and sends
RespAuthMandate to UPI.
4.UPI sends a negative ACK stating that request not found
5. UPI consider as a time out scenario and fails the transaction
6. UPI sends ReqTxnConfirmation to payer psp with failure errorCode.
7. Payer psp sends the response back to UPI

1. Payee initiates a create mandate request by entering the Virtual


Address of the Payer .
2. UPI sends ReqAuthMandate to Payer PSP in order to authorize the
mandate and retrieve the account details
3. Payer psp rejects the mandate with failure errorCode="ZA".
4. UPI forwards the failure response to payee psp.

1. Payer PSP initiates a create mandate request by entering the Virtual


Address of the Payee .

For other steps refer SEBI payer created Pre-approved case


1. Payer PSP initiates a create mandate request by entering the Virtual
Address of the Payee .

For other steps refer SEBI payer created Pre-approved case

1. Payer PSP initiates an update mandate Request by entering the Virtual


Address of the Payee .

For other steps refer payer updated case

Note: Mandate amount can only be updated if purpose="0


1 ", if not UPI
will decline ACK="MP2"

1. Payer PSP initiates a update mandate Request by entering the Virtual


Address of the Payee .

For other steps refer payer updated case

1. Payer PSP initiates a update mandate request by entering the Virtual


Address of the Payee .

For other steps refer payer updated case


1. Payer PSP initiates revoke mandate request by entering the Virtual
Address of the Payee .

For other steps refer payer updated case

1. Payer PSP initiates revoke mandate request by entering the Virtual


Address of the Payee .

For other steps refer payer revoke case

1. Payer initiates a create mandate Request by entering the VPA of the


Payee. The recurrence value=ONETIME|ASPRESENTED|DAILY. Rule tag
should not be populated.
Refer S.No.1 for other legs
1. Payee initiates a create mandate Request by entering the Virtual
Address of the Payer .
2. UPI sends ReqAuthMandate to Payer PSP in order to authorize the
mandate and retrieve the account details
3.Payer PSP authorize the mandate and sends RespAuthMandate to UPI.
4.UPI sends a ReqMandate to remitter bank.
5. Remitting Bank validates all the mandate details and block the fund in
customer account
6. Remitting Bank sends a RespMandate to UPI with the signed xml to UPI
7.UPI forwards the same RespMandate which will not contains a signed
xml with Success result to Payee PSP
8. UPI sends a ReqMandateConfirmation to Payer PSP which contain
signed xml with successful message
9. Payer PSP sends a RespMandateConfirmation back to UPI.
Mandatory

1. Payee initiates a create mandate Request by entering the Virtual


Address of the Payer .
2. UPI sends ReqAuthMandate to Payer PSP in order to resolve the
address.
3.Payer PSP should not authorize the mandate within the expiry period
time
4. UPI declines the transaction with expiry message=UM3 Mandatory

1. Payee initiates a create mandate to Request by entering the Virtual


Address of the Payer.

NOTE: If payee psp selects the invalid date (less than current date). UPI
will reject with negative ACK="MB0
"

Mandatory
1. Payee initiates a create mandate Request by entering the financial
Address of the Payer .
2. As UPI restrict the mandate creation as between VPA to VPA.
3. UPI sends negative ACK to Payee PSP as errorCode="MC4". Payee has
to read the negative ACK and act accordingly

1. Payee initiates a create mandate Request by entering the Virtual


Address of the Payer .
2. UPI sends ReqAuthMandate to Payer PSP in order to resolve the
address.
3.Payer PSP sends RespAuthMandate to UPI.
4.UPI sends a ReqMandate to remitter bank.
5. Remitting Bank validates all the mandate details and payer credential
6. Remitting Bank sends a RespMandate to UPI with the signed xml to UPI
7. UPI sends a ReqMandateConfirmation to Payer PSP with successful
message with the signed xml block.
8. Payer PSP sends a RespMandateConfirmation back to UPI.
9.UPI sends RespMandate with Success result to Payee PSP. Payee psp
fails to sends an ACK.

1. Payer initiates a create mandate Request by entering the Virtual


Address of the Payee .
2. UPI sends ReqAuthMandate to Payee PSP in order to resolve the
address.
3.Payee PSP sends RespAuthMandate to UPI.
4.UPI sends a ReqMandate to remitter bank.
5. Remitting Bank validates all the mandate details and payer credential
6. Remitting Bank sends a RespMandate to UPI with the signed xml to UPI
7.UPI forwards the same RespMandate with signed xml with Success
result to Payer PSP
8. UPI sends a ReqMandateConfirmation to Payee PSP with successful
message without the signed xml block.
9. Payee PSP not sending ACK after the final ReqMandateConfirmation
message.
1. Payee initiates a create mandate Request by entering the Virtual
Address of the Payer .
2. UPI sends ReqAuthMandate to Payer PSP in order to resolve the
address.
3.Payer PSP missed the UMN and sends the RespAuthMandate to UPI
4.UPI sends negative stating that UMN field is missing

1. Payer initiates a create mandate Request by entering the Virtual


Address of the Payer.
2. UPI sends ReqAuthMandate to Payer PSP in order to resolve the
address.
3.Payer PSP sends RespAuthMandate to UPI.
4.UPI sends a ReqMandate to remitter bank.
5. Remitting Bank validates all the mandate details and payee credential
6. Remitting Bank sends a failure RespMandate to UPI
7.UPI forwards the same RespMandate which contains failure result to
Payee PSP errCode=UM8
8. UPI sends a ReqMandateConfirmation to Payer PSP with failure
message with signed xml block.
9. Payee PSP sends a RespMandateConfirmation back to UPI.

1. Payee initiates a create mandate Request by entering the Virtual


Address of the Payer.
2. UPI sends ReqAuthMandate to Payer PSP in order to resolve the
address.
3.Payer PSP sends RespAuthMandate to UPI.
4.UPI check the limit cap of Remitting BANK and declines transaction
5. UPI sends failure message with error code- U0
3 Failure result to Payee
PSP
6. UPI sends a ReqMandateConfirmation to Payer PSP with failure
message with signed xml block
7. Payer PSP sends a RespMandateConfirmation back to UPI.
1. Payee initiates a create mandate Request by entering the Virtual
Address of the Payer.
2. UPI sends ReqAuthMandate to Payer PSP in order to resolve the
address.
3.Payer PSP resolves the address and wrongly change the revokable
option as Y.
4.UPI sends the final RespMandate to payee psp.

NOTE: UPI declines the transaction with negative ACK=""

1. Payee initiates a create mandate request by entering the Virtual


Address of the Payer .
2.If the rule tag="ASPRESENTED|ONETIME|DAILY", then the recurrence
value should not be populate.
3.UPI sends ReqAuthMandate to Payer PSP in order to resolve the
address.
3.Payer PSP sends RespAuthMandate to UPI.
4.UPI sends a ReqMandate to remitter bank.
5. Remitting Bank validates all the mandate details and payee credential
6. Remitting Bank sends a RespMandate to UPI with the signed xml to UPI
7. UPI forwards the same RespMandate without signed xml with
Success result to Payee PSP
8. UPI sends a ReqMandateConfirmation to Payer PSP with successful
message .
9. Payer PSP sends a RespMandateConfirmation back to UPI.

1. Payer initiates a create mandate Request by entering the Virtual


Address of the Payee .
2. UPI sends ReqAuthMandate to Payee PSP in order to resolve the
address.
3.Payee PSP sends failure RespAuthMandate with errorCode="VV" to UPI.
4.UPI forwards the same RespMandate which contains Failure
ResponseCode="VV" & errorCode=UM1
1. Payer initiates a update mandate Request by entering the Virtual
Address of the Payee .
2. UPI sends ReqAuthMandate to Payee PSP in order to resolve the
address.
3.Payee PSP sends failure RespAuthMandate with errorCode="VW" to
UPI.
4.UPI forwards the same RespMandate which contains Failure
ResponseCode="VW" & errorCode=UM1

1. Payee initiates a create mandate Request by entering the Virtual


Address of the Payer .
2. UPI sends ReqAuthMandate to Payer PSP in order to authorize the
mandate and retrieve the account details
3.Payer PSP fails to send ACK after ReqAuthMandate within TAT to UPI.
4.UPI sends the failure RespMandate with errorCode="UM0
"

Refer S.No.1 for other steps

4.UPI sends a ReqMandate to remitter bank.


5. Remitting Bank fails to sends an ACK for the ReqMandate
7.UPI sends RespMandate which contains the and errorCode="UM7"to
Payee PSP.
8. UPI sends a ReqMandateConfirmation to Payer PSP with failure
message
9. Payer PSP sends a RespMandateConfirmation back to UPI.

1. Payee initiates a create mandate Request by entering the Virtual


Address of the Payer .
2.UPI sends RespMandate which contains the errorCode="UN5"to Payee
PSP.
1. Payee initiates a create mandate Request by entering the Virtual
Address of the Payer .
2.UPI sends RespMandate which contains the errorCode="UN8"to Payee
PSP.

1. Payee initiates a create mandate Request by entering the Virtual


Address of the Payer .
2. UPI sends ReqAuthMandate to Payer PSP in order to authorize the
mandate and retrieve the account details
3.Payer PSP authorize the mandate and sends RespAuthMandate to UPI.
4.UPI sends a ReqMandate to remitter bank.
5. Remitting Bank validates all the mandate details and payer credential
6. Remitting Bank sends a RespMandate to UPI with the signed xml to UPI
7.UPI forwards the same RespMandate which will not contains a signed
xml with Success result to Payee PSP
8. UPI sends a ReqMandateConfirmation to Payer PSP which contain
signed xml with successful message
9. Payer PSP sends a RespMandateConfirmation back to UPI.

1. Payee initiates a create mandate Request by entering the Virtual


Address of the Payer.
2. UPI sends ReqAuthMandate to Payer PSP in order to resolve the
address.
3.Payer PSP sends RespAuthMandate to UPI.
4.UPI sends a ReqMandate to remitter bank.
5. Remitting Bank validates all the mandate details and payee credential
6. Remitting Bank fails to sends Payer address in the Ref tag. UPI declines
with negative ACK="R0
2"
7.UPI forwards the same RespMandate which contains failure result to
Payee PSP
8. UPI sends a ReqMandateConfirmation to Payer PSP with failure
message with signed xml block.
9. Payee PSP sends a RespMandateConfirmation back to UPI.
1. Payee initiates a create mandate Request by entering the Virtual
Address of the Payer .
2. UPI sends ReqAuthMandate to Payer PSP in order to authorize the
mandate and retrieve the account details
3.Payer PSP authorize the mandate and sends RespAuthMandate to UPI.
4.UPI sends a ReqMandate to remitter bank.
5. Remitting Bank validates all the mandate details and payer credential
6. Remitting Bank fails to sends a RespMandate to UPI within TAT
7.UPI forwards the same RespMandate with failure result to Payee PSP
errorCode="UM9"
8. UPI sends a ReqMandateConfirmation to Payer PSP with failure
9. Payer PSP sends a RespMandateConfirmation back to UPI.

1. Payee initiates a create mandate to Request by entering the Virtual


Address of the Payer with blockFund="Y"

ReferS.No.1 for other steps

1. Payee initiates a modify mandate request by entering the Virtual


Address of the Payer .
2. UPI sends ReqAuthMandate to Payer PSP in order to resolve the
address.
3.Payer PSP sends RespAuthMandate to UPI.
4.UPI sends a ReqMandate to remitter bank.
5. Remitting Bank validates all the mandate details and payee credential
6. Remitting Bank sends a RespMandate to UPI with the signed xml to UPI
7.UPI forwards the same RespMandate without signed xml with Success
result to Payee PSP
8. UPI sends a ReqMandateConfirmation to Payer PSP with successful
message with signed xml block.
9. Payer PSP sends a RespMandateConfirmation back to UPI.
1. Payer initiates a update mandate Request by entering the Virtual
Address of the Payee .
2. UPI sends ReqAuthMandate to Payee PSP in order to resolve the
address.
3.Payee PSP sends failure RespAuthMandate with errorCode="QW" to
UPI.
4.UPI forwards the same RespMandate which contains Failure
ResponseCode="QW" & errorCode=UM1

1. Payer initiates a update mandate Request by entering the Virtual


Address of the Payee .
2. UPI sends ReqAuthMandate to Payee PSP in order to resolve the
address.
3.Payee PSP sends failure RespAuthMandate with errorCode="QX" to
UPI.
4.UPI forwards the same RespMandate which contains Failure
ResponseCode="QX" & errorCode=UM1

1. Payer initiates a update mandate Request by entering the Virtual


Address of the Payee .
2. UPI sends ReqAuthMandate to Payee PSP in order to resolve the
address.
3.Payee PSP sends failure RespAuthMandate with errorCode="QY" to UPI.
4.UPI forwards the same RespMandate which contains Failure
ResponseCode="QY" & errorCode=UM1

1. Payer initiates a update mandate Request by entering the Virtual


Address of the Payee .
2. UPI sends ReqAuthMandate to Payee PSP in order to resolve the
address.
3.Payee PSP sends failure RespAuthMandate with errorCode="QZ" to UPI.
4.UPI forwards the same RespMandate which contains Failure
ResponseCode="QZ" & errorCode=UM1
1. Payee initiates a update request by entering the Virtual Address of the
Payer .
2. UPI sends ReqAuthMandate to Payer PSP in order to resolve the
address.
3. Payer PSP sends RespAuthMandate with Failure, error code"QU - payer
account has changed" to UPI
4. UPI sends a RespPay with Failure to Payee PSP error code tag:UM1 &
ResponseCode:QU

1. Payee initiates a revoke mandate request by entering the Virtual


Address of the Payer .
2. UPI sends ReqAuthMandate to Payer PSP in order to resolve the
address.
3.Payer PSP sends RespAuthMandate to UPI.
4.UPI sends a ReqMandate to remitter bank.
5. Remitting Bank validates all the mandate details and payee credential
6. Remitting Bank sends a RespMandate to UPI with the signed xml to UPI
7.UPI forwards the same RespMandate without signed xml with Success
result to Payee PSP
8. UPI sends a ReqMandateConfirmation to Payer PSP with successful
message with signed xml block.
9. Payer PSP sends a RespMandateConfirmation back to UPI.

1. Payee initiates a create mandate Request by entering the Virtual


Address of the Payer .
2. UPI sends ReqAuthMandate to Payer PSP in order to resolve the
address. As a Pre-approved txn, remitter and payer psp are same.
3.Payer PSP sends RespAuthMandate to UPI.
4.UPI sends a ReqMandateConfirmation to Payer PSP with successful
message with the signed xml block.
5. Payer PSP sends a RespMandateConfirmation back to UPI.
6.UPI sends RespMandate with Success result to Payee PSP. Payee psp
fails to sends an ACK.
1. Payer initiates a create mandate Request by entering the Virtual
Address of the Payee . As a Pre-approved, remitter bank and payer psp
are same.
2. UPI sends ReqAuthMandate to Payee PSP in order to resolve the
address.
3.Payee PSP sends RespAuthMandate to UPI.
4.UPI forwards the RespMandate with signed xml with Success result to
Payer PSP
5. UPI sends a ReqMandateConfirmation to Payee PSP with successful
message without the signed xml block.
6. Payee PSP not sending ACK after the final ReqMandateConfirmation
message.

1. Payee initiates a create mandate Request by entering the Virtual


Address of the Payer .
2. As payer and remitter bank PSP are same, Payer PSP initiates the
request mandate with Pre-approved cred block( response code 0
0
&
approval no)

Refer S.No.1 for other steps

1. Payee initiates a create mandate Request by entering the Virtual


Address of the Payer .
2. As payer and remitter bank PSP are same,Payee PSP initiates the
request mandate with Pre-approved cred block( response code &
approval no)
3. UPI sends ReqAuthMandate to Payer PSP in order to resolve the
address.
4.Payer PSP sends RespAuthMandate with failure errorcode=" QQ" to
UPI.
5.UPI forwards the same RespMandate which contains the
responseCode="QQ" to Payee PSP.

1. Payee initiates a create mandate Request by entering the Virtual


Address of the Payer .
2. UPI sends ReqAuthMandate to Payee PSP in order to resolve the
address.
3. As payer and remitter bank PSP are same, Payer PSP sends the
RespAuthMandate with Pre-approved cred block( negative response
code=YE & approval no) with Failure result.
4. UPI sends Failure in RespMandate UM1 to payee psp

NOTE: If payer psp sends result=success and response code=YE, UPI


decline with the negative ACK=C11
1. Payee PSP initiates a create mandate Request by entering the Virtual
Address of the Payer .
2. UPI sends ReqAuthMandate to Payer PSP in order to resolve the
address.
3. Payer PSP sends RespAuthMandate to UPI.
4. UPI sends a ReqMandate to remitter bank.
5. Remitting Bank validates all the mandate details with payer credentials
and sends a RespMandate to UPI with the digitally signed mandate
block.
6. UPI forwards the same RespMandate without digitally signed mandate
block with Success result to Payee PSP.
7. UPI sends a ReqMandateConfirmation to Payer PSP with successful
message & digitally signed mandate.
8. Payer PSP should send RespMandateConfirmation with status as
success always to UPI.

1. Payee PSP initiates a create mandate Request by entering the Virtual


Address of the Payer .

For other steps refer SEBI payee created case

1. Payee PSP initiates a create mandate Request by entering the Virtual


Address of the Payer .
For other steps refer SEBI payee created case
1. Payee PSP initiates a create mandate Request by entering the Virtual
Address of the Payer .

For other steps refer SEBI payee created case

1. Payee PSP initiates a create mandate Request by entering the Virtual


Address of the Payer.

For other steps refer SEBI payee created case

1. Payee PSP initiates a create mandate Request by entering the Virtual


Address of the Payer .
2. UPI sends ReqAuthMandate to Payer PSP in order to resolve the
address.
3. Payer should validate the refId and fails the RespAuthMandate stating
that block already done for the refID to UPI.
4. UPI forwards the same response with failure message to payee psp.
Payee psp should accept the response code and re-initiate with unique
refId

1. Payer initiates a create mandate Request by entering the Virtual


Address of the Payee .
2. UPI sends ReqAuthMandate to Payee PSP in order to authorize the
mandate and retrieve the account details
3.Payee PSP fails to sends the RespAuthMandate after the TAT to UPI.
4.UPI sends a negative ACK stating that request not found
5. UPI consider as a time out scenario and fails the transaction and sends
final RespPay to UPI
6. UPI sends ReqTxnConfirmation to payee psp with failure errorCode.
7. Payee psp sends the response back to UPI
1. Payer initiates a create mandate request by entering the Virtual
Address of the Payee .
2. UPI sends ReqAuthMandate to Payee PSP in order to authorize the
mandate and retrieve the account details
3. Payee psp rejects the mandate with failure errorCode="MM".
4. UPI forwards the failure response to payer psp.

1. Payee PSP initiates a create mandate Request by entering the Virtual


Address of the Payer .

For other steps refer SEBI payer created Pre-approved case

1. Payee PSP initiates a create mandate Request by entering the Virtual


Address of the Payer .

For other steps refer SEBI payer created Pre-approved case

1. Payee PSP initiates an update mandate Request by entering the Virtual


Address of the Payer .

For other steps refer payer updated case


1. Payee PSP initiates an update mandate Request by entering the Virtual
Address of the Payer .

For other steps refer payer updated case

1. Payee PSP initiates revoke mandate request by entering the Virtual


Address of the Payer .

For other steps refer payer updated case

1. Payee PSP initiates revoke mandate request by entering the Virtual


Address of the Payer .

For other steps refer payer updated case

1. Payee PSP initiates revoke mandate request by entering the Virtual


Address of the Payer .

For other steps refer payer updated case


1. Payer PSP initiates a create mandate Request by entering the Virtual
Address of the Payee .
2. UPI sends ReqAuthMandate to Payee PSP in order to resolve the
address.
3. Payee PSP sends RespAuthMandate to UPI.
4. UPI sends a ReqMandate to remitter bank.
5. Remitting Bank validates all the mandate details with payer credentials
and sends a RespMandate to UPI with the digitally signed mandate block
to UPI
6. UPI forwards the same RespMandate which contains a digitally signed
mandate block with Success result to Payer PSP. Payer PSP has to store
the digitally signed mandate block which will be used during the financial
txn.
7. UPI sends a ReqMandateConfirmation to Payee PSP with successful
message without the signed xml block.
8. Payee PSP should send RespMandateConfirmation with status as
success always to UPI.

Refer S.No.1 for 1-3 & 6-8


4. UPI sends a ReqMandate to remitter bank.
5. Remitting Bank validates all the mandate details with payer credentials
and sends failure RespMandate to UPI with the with responseCode="VF"
to UPI

Refer S.No.1 for 1-3 & 6-8


4. UPI sends a ReqMandate to remitter bank.
5. Remitting Bank validates all the mandate details with payer credentials
and sends failure RespMandate to UPI with the with responseCode="VL"
to UPI

Refer S.No.1 for 1-3 & 6-8


4. UPI sends a ReqMandate to remitter bank.
5. Remitting Bank validates all the mandate details with payer credentials
and sends failure RespMandate to UPI with the with
responseCode="VM" to UPI
1. Payer initiates a create mandate Request by entering the Virtual
Address of the Payee .
2. UPI sends ReqAuthMandate to Payee PSP in order to resolve the
address.
3.Payee PSP sends RespAuthMandate to UPI.
4. UPI sends a ReqMandate to remitter bank.
5. Remitting Bank fails to sends RespMandate to UPI within time period
6. UPI declines final RespMandate with errorCode=UM9

Refer Remitter Mandate Steps


4. UPI sends a ReqMandate to remitter bank.
5. Remitting Bank validates all the mandate details with payer credentials
and block the mentioned amount in the customer's account. Then
remitter bank sends success RespMandate to UPI

Refer S.No.1 for 1-3 & 6-8


4. UPI sends a ReqMandate to remitter bank.
5. Remitting Bank validates all the mandate details with payer credentials
and unblock the amount to the customer's account when the mandate
expires. Then remitter bank sends success RespMandate to UPI

Refer S.No.1 for 1-3 & 6-8


4. UPI sends a ReqMandate to remitter bank.
5. Remitting Bank validates all the mandate details with payer credentials
and sends failure RespMandate to UPI with the with responseCode="VG"
to UPI
Refer S.No.1 for 1-3 & 6-8
4. UPI sends a ReqMandate to remitter bank.
5. Remitting Bank validates all the mandate details with payer credentials
and sends failure RespMandate to UPI with the with responseCode="VU"
to UPI

Refer S.No.1 for 1-3 & 6-8


4. UPI sends a ReqMandate to remitter bank.
5. Remitting Bank validates all the mandate details with payer credentials
and sends success RespMandate to UPI

Refer S.No.1 for 1-3 & 6-8


4. UPI sends a ReqMandate to remitter bank.
5. Remitting Bank validates all the mandate details with payer credentials
and unblock the entire amount towards the customer's account. Then
remitter bank sends success RespMandate to UPI

Refer Remitter Mandate Steps


4. UPI sends a ReqMandate to remitter bank.
5. Remitting Bank validates all the mandate details with payer credentials
and block the mentioned amount in the customer's account. Then
remitter bank sends success RespMandate to UPI
Refer Remitter Mandate Steps
4. UPI sends a ReqMandate to remitter bank.
5. Remitting Bank validates all the mandate details with payer credentials
and declines with failure responseCode="Z9" insufficient funds to create
mandate

Refer Remitter Mandate Steps


4. UPI sends a ReqMandate to remitter bank.
5. Remitting Bank validates all the mandate details with payer credentials
and updates the amount

Refer Remitter Mandate Steps


4. UPI sends a ReqMandate to remitter bank.
5. Remitting Bank validates all the mandate details with payer credentials
and decline the update mandate request stating that earlier Block
amount is already released with responseCode="IB"
Amount already unblocked for mandate

Refer Remitter Mandate Steps


4. UPI sends a ReqMandate to remitter bank.
5. Remitting Bank validates all the mandate details with payer credentials
and unblock the amount to the customer's account when type=REVOKE
& blockFund=N
S.NO TEST ID DETAILS

API Involved : ReqPay


RespPay
Type : Pay
1 PR_1 Approval Type : Non-Pre Approved
Payer Handle : VPA
Payee Handle : VPA

PR_2 Test case

API Involved : ReqPay


RespPay
Type : Pay
3 PR_4 Approval Type : Non-Pre Approved
Payer Handle : VPA
Payee Handle : A/c+IFSC

PR_5 Test case

API Involved : ReqPay


RespPay
4 PR_6 Type : Pay
Approval Type : Pre-Approved
Payer Handle : VPA
Payee Handle : A/c+IFSC

PR_7
PR_8 Test case

API Involved : ReqAuthDetail


RespAuthDetail
ReqTxnConfirmation
RespTxnConfirmation Type :
5 PR_9 Collect
Approval Type : Pre-Approved
Payer Handle : VPA
Payee Handle : VPA

PR_10 Test case


PR_11
PR_12

API Involved : ReqPay


RespPay
Type : Pay
6 PR_13 Approval Type : Non-Pre Approved
Payer Handle : VPA
Payee Handle : VPA

API Involved : ReqPay


RespPay
Type : Pay
7 PR_14 Approval Type : Non-Pre Approved
Payer Handle : VPA
Payee Handle : VPA

API Involved : ReqAuthDetail


RespAuthDetail
ReqTxnConfirmation
RespTxnConfirmation Type
8 PR_15 : Collect
Approval Type : Non-Pre Approved
Payer Handle : VPA
Payee Handle : VPA

PR_16

API Involved : ReqAuthDetail


RespAuthDetail
ReqTxnConfirmation
RespTxnConfirmation Type
9 PR_17 : Collect
Approval Type : Non-Pre Approved
Payer Handle : VPA
Payee Handle : VPA
API Involved : ReqAuthDetail
RespAuthDetail
ReqTxnConfirmation
RespTxnConfirmation Type
10
PR_18 : Collect
Approval Type : Non-Pre Approved
Payer Handle : VPA
Payee Handle : VPA

API Involved : ReqAuthDetail


RespAuthDetail
ReqTxnConfirmation
RespTxnConfirmation Type
11 PR_19 : Collect
Approval Type : Non-Pre Approved
Payer Handle : VPA
Payee Handle : VPA

API Involved : ReqAuthDetail


RespAuthDetail
ReqTxnConfirmation
RespTxnConfirmation Type
12 PR_20
: Collect
Approval Type : Non-Pre Approved
Payer Handle : VPA
Payee Handle : VPA

API Involved : ReqAuthDetail


RespAuthDetail
ReqTxnConfirmation
RespTxnConfirmation Type
13 PR_21 : Collect
Approval Type : Non-Pre Approved
Payer Handle : VPA
Payee Handle : VPA

API Involved : ReqAuthDetail


RespAuthDetail
ReqTxnConfirmation
RespTxnConfirmation Type
14 PR_22 : Collect
Approval Type : Non-Pre Approved
Payer Handle : VPA
Payee Handle : VPA

PR_23 Test case


API Involved : ReqAuthDetail
RespAuthDetail
ReqTxnConfirmation
RespTxnConfirmation Type
15 PR_24 : Collect
Approval Type : Non-Pre Approved
Payer Handle : VPA
Payee Handle : VPA

PR_25 Test case

API Involved : ReqPay


RespPay
16 PR_26 Type : Pay
Approval Type : Non-Pre Approved
Payer Handle : VPA
Payee Handle : VPA

API Involved : ReqPay


RespPay
Type : Pay
17 PR_27 Approval Type : Non-Pre Approved
Payer Handle : VPA
Payee Handle : A/c+IFSC

API Involved : ReqPay


RespPay
Type : Pay
18 PR_28 Approval Type : Non-Pre Approved
Payer Handle : VPA
Payee Handle : VPA

API Involved : ReqPay


RespPay
Type : Pay
19 PR_29 Approval Type : Non-Pre Approved
Payer Handle : VPA
Payee Handle : VPA
API Involved : ReqPay
RespPay
Type : Pay
20
PR_30
Approval Type : Pre-Approved
Payer Handle : VPA
Payee Handle :
may@mypsp

API Involved : ReqPay


RespPay
Type : Pay
21 PR_31 Approval Type : Pre-Approved
Payer Handle : VPA
Payee Handle :
may@mypsp

PR_32 Test case

API Involved : ReqPay


RespPay
Type : Pay
22 PR_33 Approval Type : Pre-Approved
Payer Handle : VPA
Payee Handle :
may@mypsp
API Involved : ReqAuthDetail
RespAuthDetail
ReqTxnConfirmation
RespTxnConfirmation
23 PR_34 Type : Collect
Approval Type :
Pre-Approved Payer Handle
: VPA
Payee Handle : VPA

API Involved : ReqAuthDetail


RespAuthDetail
ReqTxnConfirmation
RespTxnConfirmation
24 PR_35 Type : Collect
Approval Type :
Pre-Approved Payer Handle
: VPA
Payee Handle : VPA
API Involved : ReqAuthDetail
RespAuthDetail
ReqTxnConfirmation
RespTxnConfirmation
25 PR_36 Type : Collect
Approval Type :
Pre-Approved Payer Handle
: VPA
Payee Handle : VPA

API Involved : ReqAuthDetail


RespAuthDetail
ReqTxnConfirmation
RespTxnConfirmation
26 PR_37 Type : Collect
Approval Type :
Pre-Approved Payer Handle
: VPA
Payee Handle : VPA

API Involved : ReqAuthDetail


RespAuthDetail
ReqTxnConfirmation
RespTxnConfirmation
27 PR_38 Type : Collect
Approval Type :
Pre-Approved Payer Handle
: VPA
Payee Handle : VPA
API Involved : ReqAuthDetail
RespAuthDetail
ReqTxnConfirmation
RespTxnConfirmation
28 PR_39 Type : Collect
Approval Type :
Pre-Approved Payer Handle
: VPA
Payee Handle : VPA

PR_40 Test case

API Involved : ReqPay


RespPay
Type : Pay
29 PR_41 Approval Type : Non-PreApproved
Payer Handle : VPA
Payee Handle :
may@mypsp

API Involved : ReqAuthDetail


RespAuthDetail
ReqTxnConfirmation
RespTxnConfirmation
30
PR_42 Type : Collect
Approval Type :
Non-Pre Approved Payer
Handle : VPA
Payee Handle : VPA
API Involved : ReqAuthDetail
RespAuthDetail
ReqTxnConfirmation
RespTxnConfirmation
31 PR_43 Type : Collect
Approval Type :
Non-Pre Approved Payer
Handle : VPA
Payee Handle : VPA

API Involved: ReqPay


RespPay
Type : Pay
Approval Type: Non Pre-Approved
32 PR_44 Payer Handle: VPA
Payee Handle :may@mypsp

API Involved: ReqPay, RespPay


Type : Pay
Approval Type: Non Pre-Approved
33 PR_45
Payer Handle: VPA
Payee Handle : may@mypsp

API Involved: ReqAuthDetail, RespAuthDetail


Type : Collect
Approval Type: Non Pre-Approved
Payer Handle: VPA
Payee Handle : VPA
34 PR_46

API Involved: ReqPay, RespPay


Type : Pay
Approval Type: Non Pre-Approved
35 PR_47
Payer Handle: VPA
Payee Handle :may@mypsp
API Involved : ReqAuthDetail
RespAuthDetail
ReqTxnConfirmation
RespTxnConfirmation
36 PR_48
Type : Collect
Approval Type : Non-Pre Approved
Payer Handle: VPA(umn@psp)
Payee Handle: VPA

API Involved : ReqAuthDetail


RespAuthDetail
ReqTxnConfirmation
RespTxnConfirmation
37 PR_49
Type : Collect
Approval Type : Non-Pre Approved
Payer Handle: VPA(umn@psp)
Payee Handle: VPA

API Involved : ReqAuthDetail


RespAuthDetail
ReqTxnConfirmation
RespTxnConfirmation
38 PR_50

Type : Collect
Approval Type : Non-Pre Approved
Payer Handle: VPA(umn@psp)
Payee Handle: VPA

API Involved : ReqAuthDetail


RespAuthDetail
ReqTxnConfirmation
RespTxnConfirmation
39 PR_51
Type : Collect
Approval Type : Non-Pre Approved
Payer Handle: VPA(umn@psp)
Payee Handle: VPA
API Involved : ReqAuthDetail
RespAuthDetail
ReqTxnConfirmation
RespTxnConfirmation
40
PR_52
Type : Collect
Approval Type : Non-Pre Approved
Payer Handle: VPA(umn@psp)
Payee Handle: VPA

API Involved : ReqAuthDetail


RespAuthDetail
ReqTxnConfirmation
RespTxnConfirmation
41 PR_53
Type : Collect
Approval Type : Non-Pre Approved
Payer Handle: VPA(umn@psp)
Payee Handle: VPA

API Involved : ReqAuthDetail


RespAuthDetail
ReqTxnConfirmation
RespTxnConfirmation
42 PR_54
Type : Collect
Approval Type : Non-Pre Approved
Payer Handle: VPA(umn@psp)
Payee Handle: VPA

API Involved : ReqAuthDetail


RespAuthDetail
ReqTxnConfirmation
RespTxnConfirmation
43 PR_55
Type : Collect
Approval Type : Non-Pre Approved
Payer Handle: VPA(umn@psp)
Payee Handle: VPA
API Involved : ReqAuthDetail
RespAuthDetail
ReqTxnConfirmation
RespTxnConfirmation
44 PR_56
Type : Collect
Approval Type : Non-Pre Approved
Payer Handle: VPA(umn@psp)
Payee Handle: VPA

API Involved : ReqAuthDetail


RespAuthDetail
ReqTxnConfirmation
RespTxnConfirmation
45 PR_57
Type : Collect
Approval Type : Non-Pre Approved
Payer Handle: VPA(umn@psp)
Payee Handle: VPA

API Involved : ReqAuthDetail


RespAuthDetail
ReqTxnConfirmation
RespTxnConfirmation
46 PR_58
Type : Collect
Approval Type : Non-Pre Approved
Payer Handle: VPA(umn@psp)
Payee Handle: VPA

API Involved : ReqAuthDetail


RespAuthDetail
ReqTxnConfirmation
RespTxnConfirmation
47 PR_59
Type : Collect
Approval Type : Non-Pre Approved
Payer Handle: VPA(umn@psp)
Payee Handle: VPA
API Involved : ReqAuthDetail
RespAuthDetail
ReqTxnConfirmation
RespTxnConfirmation
48 PR_60

Type : Collect
Approval Type : Non-Pre Approved
Payer Handle: VPA(umn@psp)
Payee Handle: VPA

API Involved : ReqAuthDetail


RespAuthDetail
ReqTxnConfirmation
RespTxnConfirmation
49 PR_61
Type : Collect
Approval Type : Non-Pre Approved
Payer Handle: VPA(umn@psp)
Payee Handle: VPA

API Involved : ReqAuthDetail


RespAuthDetail
ReqTxnConfirmation
RespTxnConfirmation
50
PR_62
Type : Collect
Approval Type : Non-Pre Approved
Payer Handle: VPA(umn@psp)
Payee Handle: VPA

API Involved : ReqAuthDetail


RespAuthDetail
ReqTxnConfirmation
RespTxnConfirmation
51 PR_63
Type : Collect
Approval Type : Non-Pre Approved
Payer Handle: VPA(umn@psp)
Payee Handle: VPA
API Involved : ReqAuthDetail
RespAuthDetail
ReqTxnConfirmation
RespTxnConfirmation
52 PR_64
Type : Collect
Approval Type : Non-Pre Approved
Payer Handle: VPA(umn@psp)
Payee Handle: VPA

API Involved : ReqAuthDetail


RespAuthDetail
ReqTxnConfirmation
RespTxnConfirmation
53 PR_65
Type : Collect
Approval Type : Pre Approved
Payer Handle: VPA(umn@psp)
Payee Handle: VPA

API Involved : ReqAuthDetail


RespAuthDetail
ReqTxnConfirmation
RespTxnConfirmation
54 PR_66
Type : Collect
Approval Type : Pre Approved
Payer Handle: VPA(umn@psp)
Payee Handle: VPA
API Involved : ReqPay
RespPay
Type: Collect
55 PR_67 Approval Type : Non-Pre Approved
Payer Handle : VPA (umn@psp)
Payee Handle : VPA

API Involved : ReqPay


RespPay
Type: Collect
56 PR_68 Approval Type : Non-Pre Approved
Payer Handle : VPA
Payee Handle : VPA

API Involved : ReqAuthDetail


RespAuthDetail
ReqTxnConfirmation
RespTxnConfirmation
57 PR_69 Type : Collect
Approval Type : Pre-Approved
Payer Handle : VPA
Payee Handle : VPA
API Involved : ReqAuthDetail
RespAuthDetail
ReqTxnConfirmation
RespTxnConfirmation
58 PR_70
Type : Collect
Approval Type : Non-Pre
Approved Payer Handle : VPA
Payee
Handle : VPA
API Involved: ReqPay, RespPay
Type : Pay
Approval Type: Pre-Approved
Payer Handle: VPA
Payee Handle : may@mypsp

59 PR_71

API Involved: ReqPay, RespPay


Type : Pay
Approval Type: Non Pre-Approved
Payer Handle: VPA
Payee Handle : may@mypsp
60
PR_72

API Involved: ReqPay, RespPay


Type : Pay
Approval Type: Non Pre-Approved
PR_73 Payer
61
Handle: PSP
Payee Handle : may@mypsp

API Involved : ReqPay


RespPay
Type : Pay
Approval Type : Non Pre-Approved
Payer Handle : VPA
Payee Handle : may@mypsp

62 PR_74
API Involved: ReqPay, RespPay
Type : Pay
Approval Type: Pre-Approved
Payer Handle: VPA
Payee Handle : VPA
63 PR_75

API Involved: ReqPay, RespPay


Type : Pay
Approval Type: Pre-Approved
Payer Handle: VPA
Payee Handle :
345678987654@AABF0
98760
0
.ifsc.npci
64 PR_76

API Involved: ReqPay, RespPay


Type : Pay
Approval Type: Pre-Approved
Payer Handle: VPA
Payee Handle : maywish@mypsp2
67 PR_79

API Involved: ReqPay, RespPay


Type : Pay
Approval Type: Pre-Approved
Payer Handle: VPA
Payee Handle : may@mypsp
68 PR_80

API Involved: ReqPay, RespPay


Type : Pay
Approval Type: Pre-Approved
Payer Handle: VPA
Payee Handle : may@mypsp
69 PR_81
API Involved: ReqPay, RespPay
Type : Pay
Approval Type: Pre-Approved
Payer Handle: VPA
Payee Handle : may@mypsp
70
PR_82

API Involved: ReqPay, RespPay


Type : Pay
Approval Type: Pre-Approved
Payer Handle: VPA
71 PR_83 Payee Handle : may@mypsp

API Involved: ReqPay, RespPay


Type : Pay
Approval Type: Pre-Approved
Payer Handle: VPA
72 PR_84 Payee Handle : may@mypsp

API Involved: ReqPay, RespPay


Type : Pay
Approval Type: Pre-Approved
Payer Handle: VPA
Payee Handle : may@mypsp
73 PR_85

API Involved: ReqPay, RespPay


Type : Pay
Approval Type: Pre-Approved
Payer Handle: VPA
74 PR_86 Payee Handle : may@mypsp

API Involved: ReqPay, RespPay


Type : Pay
Approval Type: Pre-Approved
Payer Handle: VPA
75 PR_87 Payee Handle : may@mypsp
API Involved: ReqPay, RespPay
Type : Pay
Approval Type: Pre-Approved
Payer Handle: VPA
76 PR_88 Payee Handle : may@mypsp

API Involved: ReqPay


RespPay Type : Pay

Approval Type : Non Pre-Approved


Payer Handle : VPA
Payee Handle : may@mypsp
77 PR_89

API Involved: ReqPay, RespPay


Type : Pay
Approval Type: Pre-Approved
Payer Handle: VPA
Payee Handle : may@mypsp
78 PR_90

API Involved: ReqPay, RespPay


Type : Pay
Approval Type: Pre-Approved
Payer Handle: A/Ac+IFSC
Payee Handle : may@mypsp

79 PR_91
API Involved: ReqPay
RespPay Type : Pay

Approval Type : Non Pre-Approved


Payer Handle : VPA
Payee Handle : may@mypsp

80
PR_92

API Involved: ReqPay


RespPay Type : Pay

Approval Type : Non Pre-Approved


Payer Handle : VPA
Payee Handle : may@mypsp
81 PR_93

API Involved: ReqPay


RespPay Type : Pay

Approval Type : Non Pre-Approved


Payer Handle : VPA
Payee Handle : may@mypsp
82 PR_94

API Involved: ReqPay


RespPay Type : Pay

Approval Type : Non Pre-Approved


Payer Handle : VPA
Payee Handle : may@mypsp

83 PR_95
API Involved: ReqPay
RespPay Type :
COLLECT
Approval Type : Non Pre-Approved
Payer Handle : VPA
Payee Handle : VPA

84 PR_96

API Involved: ReqPay


RespPay Type : Pay

Approval Type : Non Pre-Approved


Payer Handle : VPA
Payee Handle : maywish@mypsp2

85 PR_97

API Involved: ReqPay


RespPay Type : Pay
Approval Type : Non Pre-Approved
Payer Handle : VPA
Payee Handle :
786543234678@AABF0
8760
0
1.ifsc.npci
86 PR_98
API Involved: ReqPay
RespPay Type : Pay

Approval Type :Pre-Approved


Payer Handle : VPA
Payee Handle :
87 PR_99 786543234678@AABF0
8760
0
1.ifsc.npci

API Involved: ReqPay


RespPay Type : Pay

Approval Type : Non Pre-Approved


Payer Handle : VPA
Payee Handle : maywish@mypsp2

88 PR_10
0

API Involved: ReqPay


RespPay Type : Pay

Approval Type : Non Pre-Approved


Payer Handle : VPA
Payee Handle : may@mypsp

89 PR_10
1
API Involved: ReqPay
RespPay Type : Pay

Approval Type : Non Pre-Approved


Payer Handle : VPA
Payee Handle : maywish@mypsp2

90
PR_10
2

API Involved : ReqAuthDetail


RespAuthDetail
ReqTxnConfirmation
RespTxnConfirmation
91 PR_10
3
Type : Collect
Approval Type : Non-Pre Approved
Payer Handle: VPA(umn@psp)
Payee Handle: VPA

API Involved : ReqAuthDetail


RespAuthDetail
ReqTxnConfirmation
RespTxnConfirmation
92 PR_10
4
Type : Collect
Approval Type : Non-Pre Approved
Payer Handle: VPA(umn@psp)
Payee Handle: VPA

API Involved : ReqAuthDetail


RespAuthDetail
ReqTxnConfirmation
RespTxnConfirmation
93 PR_10
5
Type : Collect
Approval Type : Non-Pre Approved
Payer Handle: VPA(umn@psp)
Payee Handle: VPA
API Involved : ReqAuthDetail
RespAuthDetail
ReqTxnConfirmation
RespTxnConfirmation
94 PR_10
6
Type : Collect
Approval Type : Non-Pre Approved
Payer Handle: VPA(umn@psp)
Payee Handle: VPA

API Involved : ReqAuthDetail


RespAuthDetail
ReqTxnConfirmation
RespTxnConfirmation
95 PR_10
7
Type : Collect
Approval Type : Non-Pre Approved
Payer Handle: VPA(umn@psp)
Payee Handle: VPA
API Involved : ReqAuthDetail
RespAuthDetail
ReqTxnConfirmation
RespTxnConfirmation
96 PR_10
8
Type : Collect
Approval Type : Non-Pre Approved
Payer Handle: VPA(umn@psp)
Payee Handle: VPA

API Involved: ReqPay


RespPay Type :
COLLECT
Approval Type : Non Pre-Approved
Payer Handle : VPA
Payee Handle : VPA

97 PR_10
9

O
API Involved : ReqPay
RespPay
Type : Pay
Approval Type : Non Pre-Approved
Payer Handle : VPA
Payee Handle : VPA

98 PR_110

API Involved : ReqPay


RespPay
Type : Pay
Approval Type : Non Pre-Approved
Payer Handle : VPA
Payee Handle : VPA

99 PR_111

API Involved : ReqPay


RespPay
Type : COLLECT
Approval Type : Non Pre-Approved
Payer Handle : VPA
Payee Handle : VPA

10
0
PR_112

API Involved : ReqPay


RespPay
Type : COLLECT
Approval Type : Non Pre-Approved
Payer Handle : VPA
Payee Handle : VPA

10
1 PR_113
API Involved : ReqPay
RespPay
Type : Pay
Approval Type : Pre-Approved
Payer Handle : VPA
Payee Handle : VPA

10
2 PR_114

API Involved : ReqPay


RespPay
Type : COLLECT
Approval Type : Pre-Approved
Payer Handle : VPA
Payee Handle : VPA

10
3 PR_115

API Involved : ReqPay


RespPay
Type : Pay
Approval Type : Non Pre-Approved
Payer Handle : VPA
Payee Handle : VPA
10
4 PR_116
API Involved : ReqPay
RespPay
Type : Collect
Approval Type : Non Pre-Approved
Payer Handle : VPA
Payee Handle : VPA

10
5 PR_117

API Involved : ReqPay


RespPay
Type : Pay
Approval Type : Non Pre-Approved
Payer Handle : VPA
Payee Handle : VPA
10
6 PR_118
HOME

DESCRIPTION TXN INITIATED BY STATUS

A Pay scenario where Payer is using


VPA with remitter details as A/C + IFSC
& Payee is VPA . Bank Success

FRM Success case(response code -0


0
)

Test case moved from mandatory to extra

A Pay scenario where Payer is using


VPA with remitter details as A/C + IFSC
& Payee is financial address . Bank Success

FRM Success case(response code -0


0
)

Test case moved from mandatory to extra

A Pay pre-Approved scenario where


Payer is using VPA & payee is A/C + Bank Success
IFSC

Test case removed


Test case moved from mandatory to extra

A Collect Pre-Approved Scenario where


Payer is using A/C + IFSC & payee is
VPA
Npci Success
Note : If bank is not able do the pre-
debit the account, UPI will send req-
pay debit to the Remitting bank

Test case moved from mandatory to extra


Test case removed
Test case removed

Net debit cap check at UPI. Error Code: Bank Failure


U0
3

A Reversal Pay Scenario where Payer is


Acct No + IFSC & Payee is a closed VPA Bank Failure
account. Response code - ZY

Expired time in collect scenario - Error


code: U69 Npci Failure

TestTest case removed

Failure Txn in Collect scenario with


Resp code: ZH INVALID VIRTUAL NPCI Failure
ADDRESS
Failure Txn in Collect scenario with
Resp code:ZE TRANSACTION NOT NPCI Failure
PERMITTED TO VPA

Failure Txn in Collect scenario with


Resp code:UX EXPIRED VIRTUAL NPCI Failure
ADDRESS

Failure Txn in Collect scenario with


Resp code:ZA TRANSACTION DECLINED NPCI Failure
BY CUSTOMER

Failure Txn in Collect scenario with


Resp code:-ZG RESTRICTED VPA by NPCI Failure
customer

A collect scenario where Payer is using


Acct No + IFSC & payee is VPA (Should NPCI Failure
take place within 2 min) populate in
rules tag in ReqPay leg

Test case moved from mandatory to extra


Failure Txn in Collect scenario with
Resp code:-TM NPCI Failure
Collect request is declined as requestor
is blocked by customer

Test case moved from mandatory to extra

A Pay scenario where Payer is using


VPA with remitter details as A/C + IFSC
& Payee is VPA .
Bank Failure
Bank should accept the failure
response from NPCI due to FRM failure
in the final RespPay leg (response code
-U16)

A Pay scenario where Payer is using


VPA with remitter details as A/C + IFSC
& Payee is any financial address other
than VPA.
Bank Failure
Bank should accept the failure
response from NPCI due to FRM failure
in the final RespPay leg (response code
-U16)

In case of USSD flow, the device type


should be "USDC" in ReqPay

(NOTE: Whenever ReqPay is initiated NPCI Success


from USSD channel, the bank/PSP
should populate the device
type="FORMAT1" or no type tag)

A Pay scenario where Payer is using


VPA with remitter details as A/C + IFSC
& Payee is using VPA.

Bank should accept the failure


response from NPCI due to beneficiary Bank Failure
offline in the final RespPay leg (error
code -U78)

NOTE: This case is not applicable in


multiple payee.
Pay Pre-Approved Scenario where
Payer PSP should reverse the Bank Failure
customer's account for timeout
scenario in Payee PSP end

Pay Pre-Approved scenario where


Payer PSP should reverse the Bank Failure
customer's account for failure
scenario in Payee PSP end

Test case moved from mandatory to extra

Pay Pre-Approved Scenario where


Payer PSP should accept the Bank DEEMED
deemed response from UPI and no
action to be taken.
Collect Pre-Approved Scenario
where Payer PSP should accept the NPCI Success
success in ReqTxnConfirmation
response from the UPI

Collect Pre-Approved Scenario


where Payer PSP should accept the
timeout in credit end and UPI sends NPCI Failure
ReqTxnConfirmation response with
"U68"and reverse the customer
account
Collect Pre-Approved Scenario
where Payer PSP should accept the NPCI DEEMED
deemed response from UPI and no
action to be taken.

Collect Pre-Approved Scenario


where Payer PSP should accept the
Failure in Credit Leg and UPI sends NPCI Failure
ReqTxnConfirmation response with
"Y1", after which Payer PSP should
reverse the customer account.

Collect Pre-Approved Scenario


where Payer PSP should send the NPCI Failure
failure response("UX" Expired
Virtual Address)
Collect Pre-Approved Scenario
where Payer PSP should send the
failure response NPCI Failure
("Z9" INSUFFICIENT FUNDS IN
CUSTOMER (REMITTER ACCOUNT)
in the Pre-Approved cred block

Test case moved from mandatory to extra

Non-Preapproved Pay scenario


where Payer PSP should send the Bank Success
ACK to UPI for Final RespPay
Received

Non-Preapproved Collect Scenario


where Payer PSP should send the NPCI Success
ACK to UPI for ReqTxn Confirmation
Non-Preapproved Collect Scenario
where Payer PSP should send ACK NPCI Success
& RespTxnConfirmation to UPI

Payer Initiating transaction with Bank Success


initiation mode ; So initiation mode
is mandatory in all legs.

Payer Initiating transaction with Bank Success


type=USDC ; So Telecom field is
mandatory in DEVICE tag

Payer Initiating transaction with Bank Success


Cred Type "UPIMandate" and
subType is "DS" in the
RespAuthDetail API

Payer Initiating transaction, Payer Bank Success


has to accept the final RespPay
changes with Authentication
code(actn) and acNum, IFSC, code
for payer as well payee in RespPay.
check whether the payer psp can
reply back to UPI within time
period

NOTE:
1.Payer psp should send
UPIMandate cred block for NPCI Success
Mandate transations
2. InitiationMode=11(mandate) &
13(QR mandate) are possible values
in financial
3. In financial mandate,
"LOCATION,IP,TYPE,ID,OS,APP,GEOC
ODE" is an optional values for psp's

To check whether the payer psp can


accept the decline response from NPCI Failure
the remitter bank for "insufficient
fund=Z9"

To check whether the payer psp can


accept the decline response from NPCI Failure
the remitter bank for "Frozen
account "

To check whether the payer psp can


accept the decline response from NPCI Failure
the remitter bank for "Dormant
account "
Failure Txn in Collect scenario with
Resp code: QA Mandate is paused
by user
NPCI Failure
Note - Pause functionality enabled
on payer PSP app to reject the
payment request

Failure Txn in Collect scenario with


Resp code: QB Mandate is already
honored
NPCI Failure
Note - One time mandates which
are already executed will be
declined by payer PSP

Failure Txn in Collect scenario with


Resp code: QC Mandate has been
revoked
NPCI Failure
Note - In payer created mandate,
when payee psp wrongly initiates a
revoke mandate request

Failure Txn in Collect scenario with


Resp code: QD Mandate has
expired
NPCI Failure
Note - In payer created mandate,
when payee initiates a request for a
expired mandate
Failure Txn in Collect scenario with
Resp code: QH amount more than
mandate amount
NPCI Failure
Note - Payer psp should validate
and verify in case of amount value
is more than mandate amount

Failure Txn in Collect scenario with


Resp code: QI Payee VPA is
incorrect
NPCI Failure
Note - Payee VPA in ReqAuth API is
different from what has been saved
by payer PSP

Failure Txn in Collect scenario with


Resp code: QJ UMN does not exist
NPCI Failure
Note - When UMN requested is not
present with payer PSP or issuer
bank

Failure Txn in Collect scenario with


Resp code: QK mandate request
limit has breached
NPCI Failure
Note - Payer psp created mandate,
Payee PSP has requested mandate
execution beyond the allowed
mandate frequency
Failure Txn in Collect scenario with
Resp code: QL Mandate debit is
beyond PSP specified amount cap
NPCI Failure
Note - When the upper cap set by
payer PSP is breached then the new
requests are declined by payer psp

Failure Txn in Collect scenario with


Resp code: QR Execution day and
execution rule mismatch

Note - Payer PSP declines the


request as the execution of NPCI Failure
mandate is not as per mandate
details. ( when debit was
'ON/BEFORE' 15th but execution
was attempted on 17th.
(before/after))

Failure Txn in Collect scenario with


Resp code: QS payer profile does
not exist (De registration/Vpa
removed/updated) NPCI Failure
Note - Payer has deregistered or
removed his account or removed
his VPA

Failure Txn in Collect scenario with


Resp code: QU Payer Account has
changed
Note -When the payer account NPCI Failure
resolved by payer PSP is different
from what has been saved by issuer
bank. Payer has removed his
account from PSP app.
Failure Txn in Collect scenario with
Resp code: QV Mandate declined as
payee is non merchant

Note - It occurs in case As NPCI Failure


presented mandates can only be
created when payee is a merchant/
non merchant can not initiate
mandate collect request

Payer psp should send the pre-


approved cred block as success and
response =0
0
& approval no
NPCI Success
Note: Mandate financial
preapproves is allowed only if the
mandate is created as pre-approved
one

Payer psp should send the pre-


approved cred block as Failure and NPCI Failure
response =XY
A collect scenario where Payer
(umn@psp) and Payee using VPA

FRM Success case(response code


-0
0
0
) Bank Success

The purpose of the case is to


validate whether the payee psp
initiates a collect properly

A collect scenario where Payer


(umn@psp) and Payee using VPA

FRM Success case(response code


-0
0
0
) Bank Failure

The purpose of the case is to test


whether the payer psp accepts the
failure scenario from remitter bank

RespAuthDetail with errCode="CS" &


result="FAILURE"
UPI declines with neagtive ACK="E13" NPCI FAILURE
(Resp errorcode must be valid)
RespAuthDetail with errCode="CS" &
result="FAILURE"
UPI declines with neagtive ACK="E13" NPCI Failure
(Resp errorcode must be valid)

Payer Initiating transaction with


Purpose of the txn ; So Purpose is
mandatory in all legs

NOTE - Purpose tag is mandatory in


all Financial Transactions. Payer is
initiating a txn with default
purpose=0
0
, if there is a need Bank Success
payee can overwrite the value as
per the merchant

Payer Initiating transaction with Bank Success


Purpose of the txn ; So Purpose is
mandatory in all legs.

NOTE - Purpose tag is mandatory


for all Financial Transactions ,for
remaining its an optional.

Payer PSP is Merchant ; So in Bank Success


ReqPay API Merchant Type is
mandatory under the merchant
Tag.

A Pay scenario where Payer initiate Bank Success


a pay request with account type as
NRE|NRO|CREDIT|PPIWALLET|
BANKWALLET

NOTE - Payer PSP should accept the


same account type as NRE|NRO|
CREDIT|PPIWALLET|BANKWALLET
from UPI in final RespPay.
Payer Initiating transaction with Bank Success
initiation mode='12' &
purpose="0
0
" stating that FIR
transaction, so Institution block is
mandatory under payer tag

Payer Initiating transaction with Bank Success


initiation mode='12' stating that FIR
transaction, so Institution block is
mandatory under payer tag.

Note: Payer psp can initiate a FIR


transaction against AccNum+IFSC
handle

Payer psp has to accept negative Bank Failure


ACK from UPI stating that Payee
PSP not enabled for Inward Foreign
Remittance. ErrorCode="IM5"

Payer Initiating transaction with Bank Success


initiation mode='12' stating that FIR
transaction, so purpose code&
note is mandatory to populate
inside the Institution block

Payer Initiating transaction with Bank Success


initiation mode='12' stating that FIR
transaction, so originator type is
mandatory to populate inside the
Institution block

Note: All fields are mandatory


under institution block
Payer Initiating transaction with Bank Success
initiation mode='12' stating that FIR
transaction, so originator address
location, city, country & geocode is
mandatory to populate inside the
Institution block

Payer Initiating transaction with Bank Success


initiation mode='12' stating that FIR
transaction, so route="MTSS|RDA"
is mandatory to populate inside the
Institution block

Payer Initiating transaction with Bank Success


initiation mode='12' stating that FIR
transaction, so originator customer
name is mandatory to populate
inside the Institution block

Payer Initiating transaction with Bank Success


initiation mode='12' stating that FIR
transaction, so originator customer
a/c no & reference no is mandatory
to populate inside the Institution
block

Payer Initiating transaction with Bank Success


initiation mode='12' stating that FIR
transaction, so MTO|BANK name
value is mandatory to populate
inside the Institution block

Payer Initiating transaction with Bank Success


initiation mode='12' stating that FIR
transaction, so MTO|BANK account
is mandatory to populate inside
the Institution block
Payer Initiating transaction with Bank Success
initiation mode='12' stating that FIR
transaction, so beneficiary
customer name is mandatory to
populate inside the Institution
block

Payer Initiating transaction with Bank Success


initiation mode='0
0
' stating that
transaction in domestic with
account type as NRE|NRO, so
Institution block should not be
available under payer tag

Note: Preapproved txn is only


allowed for intiationMode=12, if
not UPI will decline with neagtive
ACK="IM2"

Payer Initiating transaction with Bank Success


initiation mode='12' stating that FIR
transaction, so Institution block is
mandatory under payer tag as well
as amount value is always="INR"

Payer Initiating transaction with Bank Success


initiation mode='12' stating that FIR
transaction, so Institution block is
mandatory under payer tag .

NOTE: Payer address is also


Ac/No@IFSC.ifsc.npci. If the payer
handle has global address then
ReqPay should not have remitter
account details under payer tag
Payer psp should use the same
version in the URL as well as in the
header version in xml's

Note: If the url and header version


is different, then UPI will decline
with negative ACK="UV1"
Bank Success

If the payer psp is live in UPI2.0,


the psp should use mandatory UPI
2.0 specification fields (e.g.
initiationMode)

Note: If the psp doesn’t use the


UPI2.0
mandatory fields, UPI will Bank Success
decline with negative ACK="IM0"

If payer psp is live in UPI 1.0, but


the psp populated ver 2.0 fields
(e.g. initiationMode). UPI decline
with negative ACK

Note: If the psp use the UPI2.0

mandatory fields, UPI will decline Bank Failure


with negative ACK="UH2"

If Payer is in 1.0
only
Payee psp in UPI2.0

Remitter bank in UPI2.0

Beneficiary bank in UPI 2.0

Note: UPI will check all 4 parties


version, then UPI sends the
ReqAuthDetail to Payee psp as ver
1.0
and complete the transaction
with the same version 1.0
Bank Success
If Payer is in 2.0

Payee psp in UPI 2.0

Remitter bank in UPI 2.0

Beneficiary bank in UPI 2.0

In the collect request, UPI sends


the ReqAuthDetail with version 2.0
to payer psp then payer psp should
sends the ACK & RespAuthDetail in
version 2.0
NPCI Success
Note: If payer psp fails to sends the
response in version 2.0
, UPI should
decline with negative ACK="UV1"

If Payer is in 2.0

Payee psp in UPI 1.0

Remitter bank in UPI 2.0

Beneficiary bank in UPI 2.0

Note: Payer psp should accept the


final RespPay in ver 1.0 and sends
ACK also in ver 1.0.
Bank Success

If Payer is in 2.0

Beneficiary in ver 1.0 with global


address
Remitter bank in UPI 1.0

Note: Payer psp should accept the


final RespPay in ver 1.0
and sends
ACK also in ver 1.0
. Bank Success
If Payer is in 2.0

Beneficiary in ver 1.0


with global
address

Note: Payer psp should accept the


final RespPay in ver 1.0
and sends Bank Success
ACK also in ver 1.0
.

If Payer is in 1.0
,2.0

Payee psp in UPI 1.0

Remitter bank in UPI 1.0

Beneficiary bank in UPI 1.0

Note: Payer psp should accept the


RespPay from UPI in ver1.0

Bank Success

If Payer is in 2.0

Payee psp in UPI 2.0

Remitter bank in UPI 2.0

Beneficiary bank in UPI 2.0

Bank Success
If Payer is in 2.0

Payee psp in UPI 1.0

Remitter bank in UPI 2.0

Beneficiary bank in UPI 2.0

If (FIR)initiationMode=12 and
institution block is also present.
Then UPI will check
remitter,beneficiary & payee
version should be in ver 2.0, if not Bank Failure
UPI decline with negative
ACK="UH2". If either one of the
party is in ver 1.0, UPI will decline
with negative ACK=UH2

Payer PSP will accept full debit


request against the UMN with
initiationMode=11
NPCI Success
Note: If purpose="0
1" then
initiationMode must be "11", if not
UPI will decline with negative
ACK="T15"

Payer PSP accepts partial debit


request against the UMN with
initiationMode=11
Note: It's remitter bank NPCI Success
responsibility to unblock the
remaining partial amount
automatically to customer's
account

Failure Txn in Collect scenario with


Resp code: QB payer psp should
decline txn, if recurrence NPCI Failure
pattern="ONETIME" ,amount has
been already debited
In rule ="ON", if payee psp
executes the financial mandate
then the executiondate should be a
current date, failing which payer
psp should decline the transaction.

E.g In mandate creation, if the


payee psp populated startDate=16- NPCI Failure
0
5-20
18(executionDate) as well as
rule="ON", the payer psp must
check the startDate and rule
matches, failing which payer should
validate and decline with
ResposeCode="QR" in the
RespAuthDetail leg

In rule ="AFTER", if payee psp


executes the financial mandate
then the execution date should be
after the currentDate, failing which
payer psp should decline the
transaction.

E.g In mandate creation, if the NPCI Failure


payee psp populated startDate=16-
0
5-20
18(executionDate) as well as
rule="AFTER", the payer psp must
check the startDate and rule
matches, failing which payer should
validate and decline with
ResposeCode=QR in the
RespAuthDetail leg
In rule ="BEFORE", if payee psp
executes the financial mandate
then the start date should be
before the curreDate, failing which
payer psp should decline the
transaction.

E.g In mandate creation, if the NPCI Failure


payee psp populated startDate=16-
0
5-20
18 as well as rule="BEFORE",
the payer psp must check the
startDate and rule matches, failing
which payer should validate and
decline with ResposeCode="QR" in
the RespAuthDetail leg

If Payer is in 2.0

Payee psp in UPI 2.0

Remitter bank in UPI 1.0

Beneficiary bank in UPI 2.0

In the collect request, after


RespAuthDetail api, UPI will
downgrade and proceed with
ver1.0
for other legs.

Note:.If payer psp fails to sends the NPCI Success


RespAuthDetail &
RespTxnconfirmation in version 1.0
,
UPI should decline with negative
ACK="UV1"

OD case
A Pay scenario where Payer initiate Bank Success
a pay request with remitter
account type as "SAVINGS"

NOTE - The same scenario will be


applicable for type="CURRENT" to
type="SOD|UOD"
A Pay scenario where Payer initiate Bank Success
a pay request with remitter
account type as "SOD|UOD"

NOTE - Account type "SOD|UOD"


to "CURRENT" is applicable only
when the payee is a merchant
(type="ENTITY" & code is not equal
to "0
0
0
0
")

A Collect scenario where Payee Bank Failure


initiate a collect request with
beneficiary account type as "SOD|
UOD" and payer account also as
"SOD|UOD"

NOTE - Account type "SOD|UOD"


to "SOD|UOD" is not possible. It is
a Payer responsibility to fails the txn
in the address resolution leg

A Collect scenario where Payee Bank Success


initiate a collect request with
beneficiary account type as
"CURRENT" and payer account as
"SOD|UOD"

NOTE -
1. If the colect request from
Account type "current" to "SOD|
UOD" is not possible. It is a Payer
responsibility to fails the txn in the
address resolution leg
2. If the beneficiary account
type="CURRENT" with
type="ENTITY", then the txn will go
through.
A Pay scenario where Payer initiate Bank Success
a pay request with remitter
account type as "SOD|UOD"

NOTE - Account type "SOD|UOD"


to "CURRENT" is applicable only
when the payee is a merchant
(type="ENTITY" & code is not equal
to "0
0
0
0
")

A Collect scenario where Payee Bank Failure


initiate a collect request with
beneficiary account type as "SOD|
UOD" and payer account also as
"SOD|UOD"

NOTE - Account type "SOD|UOD"


to "SOD|UOD" is not possible. It is
a Payer responsibility to fails the txn
in the address resolution leg

Connection timeout at remitter bank. Bank Failure


In the final RespPay, UPI will sends
failure response "U85" to payer psp.
Payer psp has to accept the failure
esponse code and inform to the
customer
Connection timeout at remitter bank. Bank Failure
In the ReqTxnConfirmation, UPI will
sends failure response "U85" to payer
psp. Payer psp has to accept the failure
response code and inform the
customer

Connection timeout at beneficiary Bank Failure


bank. In the final RespPay, UPI will
sends failure response "U88" to payer
psp. Payer psp has to accept the failure
esponse code and inform to the
customer
ME

TEST STEPS
1. Payer PSP initiates a Pay Request by entering the Virtual Address of the Payee.
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. With all the Payer and Payee details obtained, UPI sends request to NPCI FRM adapter.
5. NPCI FRM sends response with the risk score which is within the configured FRM limit. (FRM threshold
value set for remitting bank)
6. UPI sends a ReqPay_Debit to remitter bank.
7. Remitting Bank debits the customer's account & sends RespPay_Debit to UPI
8. UPI sends a ReqPay_Credit to the Beneficiary Bank
9. Beneficiary Bank Credits the customer's account and respond successful credit by sending
RespPay_Credit to UPI.
10
. UPI sends a RespPay with Success to Payer PSP
11. UPI sends a ReqTxnConfirmation to Payee PSP with Successfull message.
12.Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS entry
should reflect the correct amount. .

rom mandatory to extra


1. Payer initiates a Pay Request by entering the Financial Address of payee <accno>@<ifsc>.ifsc.npci and
sends it to UPI.
2. With all the Payer and Payee details obtained, UPI sends request to NPCI FRM adapter.
3. NPCI FRM sends response with the risk score which is w NPCI configured FRM limit. (FRM threshold
value set for remitting bank)
4. UPI sends a ReqPay_Debit to remitter bank.
5. Remitting Bank debits the customer's account & sends RespPay_Debit to UPI
6. UPI sends a ReqPay_Credit to the Beneficiary Bank
7. Beneficiary Bank Credits the customer's account and respond successful credit by sending
RespPay_Credit to UPI.
8. UPI sends a RespPay with Success to Payer PSP. 9. Payer
and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS entry should
reflect the correct amount. .

rom mandatory to extra


1. Payer initiates a Pay Request by entering the Financial Address of payee <accno>@<ifsc>.ifsc.npci and
sends it to UPI.
2. As a pre-approved transaction, Remitting Bank debits the customer's account automatically.
3. UPI sends a ReqPay_Credit to the Beneficiary Bank
4. Beneficiary Bank Credits the customer's account and respond successful credit by sending
RespPay_Credit to UPI.
5. UPI sends a RespPay with Success to Payer PSP.
6. .Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS entry
should reflect the correct amount. .

ase removed
rom mandatory to extra
1. Payee initiates a Collect Request by entering the Virtual Address of the Payer.
2.UPI sends ReqAuthDetail to Payer PSP in order to resolve the address.
3. Payer PSP sends the notification to customer for customer confirmation of the payment.
4. Payer PSP sends RespAuthDetail to UPI.
5. As a pre-approved transaction, Remitting Bank debits the customer's account automatically.
6. UPI sends a ReqPay_Credit to the Beneficiary Bank
7. Beneficiary Bank Credits the customer's account and respond successful credit by sending
RespPay_Credit to UPI.
8. UPI sends a RespPay with Success to Payee PSP
9. UPI sends a ReqTxnConfirmation to Payer PSP with Successfull message.
10
. Payer PSP sends a RespTxnConfirmation back to UPI.

rom mandatory to extra


ase removed
ase removed
1. Payer initiates a Pay Request by entering the Virtual Address of the Payee.
2.UPI sends ReqAuthDetail to Payee PSP in order to resolve the address.
3. Payee PSP sends RespAuthDetail to UPI.
4. UPI check the limit cap of Remitting BANK and declines transaction
5. UPI sends failure message with error code- U0
3
6. UPI sends a ReqTxnConfirmation to Payee PSP with failure message.
7. Payee PSP sends a RespTxnConfirmation back to UPI.
8.Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS entry
should reflect the correct amount.

1. Payer initiates a Pay Request by entering the Virtual Address of the Payee.
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPay_Debit to remitter bank.
5. Remitting Bank debits the customer's account & sends RespPay_Debit to UPI
6. UPI sends a ReqPay_Credit to the Beneficiary Bank
7. Beneficiary Bank declines the transcation with closed account and responds back to UPI. Response
code-ZY
8. UPI declines and sends the ReqPay with reversal to Remitting BANK.
9. Remitting BANK sends a RespPay REVERSAL with SUCCESS message.
10
. UPI sends a RespPay with FAILURE to Payer PSP error code-U31.
11. UPI sends a ReqTxnConfirmation to Payee PSP with FAILURE message.
12. Payee PSP sends a RespTxnConfirmation back to UPI.
13. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS entry
should reflect the correct amount. .

1. Payee initiates a Collect Request by entering the Virtual Address of the Payer.
2. UPI sends ReqAuthDetail to Payer PSP in order to resolve the address
3. Payer PSP fails to resolve the address and the requests expires
4. UPI sends a ResPay with FAILURE to Payee PSP with Error code-U69
5. UPI sends a ReqTxnConfirmation to Payer PSP with FAILURE message. Payer PSP sends a
RespTxnConfirmation back to UPI.

case removed
1. Payee initiates a Collect Request by entering the Virtual Address of the Payer .
2. UPI sends ReqAuthDetail to Payer PSP in order to resolve the address.
3. Payer PSP sends RespAuthDetail with Failure, error code ZH to UPI
4. UPI sends a RespPay with Failure to Payee PSP error code tag:ZH
1. Payee initiates a Collect Request by entering the Virtual Address of the Payer .
2. UPI sends ReqAuthDetail to Payer PSP in order to resolve the address.
3. Payer PSP sends RespAuthDetail with Failure, error code ZE to UPI
4. UPI sends a RespPay with Failure to Payee PSP error code tag :ZE

1. Payee initiates a Collect Request by entering the Virtual Address of the Payer .
2. UPI sends ReqAuthDetail to Payer PSP in order to resolve the address.
3. Payer PSP sends RespAuthDetail with Failure, error code UX to UPI
4. UPI sends a RespPay with Failure to Payee PSP error code tag :UX

1. Payee initiates a Collect Request by entering the Virtual Address of the Payer .
2. UPI sends ReqAuthDetail to Payer PSP in order to resolve the address.
3. Payer PSP sends the notification to customer for customer confirmation of the payment.
4. Payer PSP sends RespAuthDetail as failure stating that customer decline the collect request. error code
-ZA to UPI
5. UPI sends RespPay with Failure to Payee PSP. error code tag U19

1. Payee (customer) initiates a Collect Request by entering the Virtual Address of the Payer .
2. UPI sends ReqAuthDetail to Payer PSP in order to resolve the address.
3. Payer PSP sends the notification to customer for customer confirmation of the payment.
4. Payer PSP sends RespAuthDetail with error code ZG to UPI
5. UPI sends a RespPay with Success to Payee PSP error code tag :ZG

1. Payee initiates a Collect Request by entering the Virtual Address of the Payer with expire after 2 min.
2.UPI sends ReqAuthDetail to Payer PSP in order to resolve the address.
3. Payer PSP does not send RespAuthDetail upto 2 min to UPI.
4.UPI sends response with timeout error code-U69 to Payee PSP.
5. UPI sends a ReqTxnConfirmation to Payer PSP with FAILURE message. Payee PSP sends a
RespTxnConfirmation back to UPI.

rom mandatory to extra


1. Payee (customer) initiates a Collect Request by entering the Virtual Address of the Payer .
2. UPI sends ReqAuthDetail to Payer PSP in order to resolve the address.
3. Payer PSP sends the notification to customer for customer confirmation of the payment.
4. Payer PSP sends RespAuthDetail with error code TM to UPI
5. UPI sends a RespPay with FAILURE to Payee PSP error code tag :TM

rom mandatory to extra


1. Payer PSP initiates a Pay Request by entering the Virtual Address of the Payee.
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. With all the Payer and Payee details obtained, UPI sends request to NPCI FRM adapter.
5. NPCI FRM sends response with the risk score which has breached the NPCI configured FRM limit (FRM
threshold value set for remitting bank)
6. UPI sends a RespPay with failure error code= "U16" to Payer PSP.

1. Payer PSP initiates a Pay Request by entering the financial address of the Payee.
2. With all the Payer and Payee details obtained, UPI sends request to NPCI FRM adapter.
3. NPCI FRM sends response with the risk score which has breached the NPCI configured FRM limit (FRM
threshold value set for remitting bank)
4. UPI sends a RespPay with failure error code= "U16" to Payer PSP.

1. Payer PSP initiates a Pay Request by entering the Virtual Address of the Payee.
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. With all the Payer and Payee details obtained, UPI sends request to NPCI FRM adapter.
5. NPCI FRM sends response with the risk score which is within the configured FRM limit.
6. UPI sends a ReqPay_Debit to remitter bank.
7. Remitting Bank debits the customer's account & sends RespPay_Debit to UPI
8. UPI sends a ReqPay_Credit to the Beneficiary Bank
9. Beneficiary Bank Credits the customer's account and respond successful credit by sending
RespPay_Credit to UPI.
10
. UPI sends a RespPay with Success to Payer PSP
11. UPI sends a ReqTxnConfirmation to Payee PSP with Successfull message.
12.Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS entry
should reflect the correct amount. .

1. Payer initiates a Pay Request by entering the Virtual Address of the Payee.
2.UPI sends ReqAuthDetail to Payee PSP in order to resolve the address.
3. Payee PSP sends RespAuthDetail to UPI with the account details of Payee.
4. UPI checks whether both the remitter bank and beneficiary bank is in processing mode, if beneficiary
bank state that node offline.
5. UPI sends failure message with error code- U78 in the final response leg to payer PSP.
1. Payer initiates a Pay Request by entering the VPA of payee
2. Since Payer and Remitter are same it will be a Pre-approved transaction. Remitting Bank
debits the customer's account automatically and payer should send the response code as "0
0
"
& approval number in base 64 encrypted format in the ReqPay
3. UPI sends ReqAuthDetail to Payee PSP for address resolution
4. Payee PSP fails to send RespAuthDetail to UPI within stipulated time
5. UPI declines the transaction and sends RespPay with "U0
9" Timeout
6. Payer PSP should accept the response code and reverse the customer's account which was
already debited (Preapproved)

1. Payer initiates a Pay Request by entering the VPA of payee


2. Since Payer and Remitter are same it will be a Pre-approved transaction. Remitting Bank
debits the customer's account automatically and payer should send the response code as "0
0
"
& approval number in base 64 encrypted format in the ReqPay
Note: UPI decrypted the cred block and verify whether the response code is matching with the
result or not. If it is not matching with actual response code, UPI will decline the transaction
with negative ACK "C11"
3. UPI sends ReqAuthDetail to Payee PSP for address resolution
4. Payee PSP sends "ZE" Transaction not permitted to VPA which is failure response in
RespAuthDetail to UPI.
5. UPI forwards the same response code "ZE"in the RespPay.
6. Payer PSP should accept the response code and reverse the customer's account

rom mandatory to extra


1. Payer initiates a Pay Request by entering the VPA of Payee
2. Since Payer and Remitter are same it will be a Pre-approved transaction. Remitting Bank
debits the customer's account automatically and payer should send the response code as "0
0
"
& approval number in base 64 encrypted format in the ReqPay
3. UPI sends ReqAuthDetail to Payee PSP for address resolution.
4. Payee PSP sends RespAuthDetail to UPI
5. UPI sends ReqPayCredit to the Beneficiary Bank and Beneficiary Bank does not respond
within the stipulated time.(Beneficiary Timeout)
6. UPI sends ReqChkTxn requests to beneficiary bank thrice in every 10
seconds interval as a
reminder to complete the transaction. Beneficiary bank does not respond still for these
ReqChkTxns.
7. UPI sends credit reversal to Beneficiary Bank. Beneficiary bank fails to send response for
reversal within the stipulated time to UPI system(Credit Reversal Timeout).
8. UPI sends a RespPay with Failure to Payer PSP with Result =DEEMED, Response Code= BT and
Reversal Response Code: RB ( U68)and no action to be taken by Payer PSP.
9. UPI sends a ReqTxnConfirmation to Payee PSP with Failure message.
10
. Payee PSP sends a RespTxnConfirmation back to UPI.
12. Payer and Payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The
CBS entry should reflect the correct amount.
1. Payee initiates a Collect Request by entering the VPA of Payer
2. UPI sends ReqAuthDetail to Payer PSP for address resolution.
3.Since Payer and Remitter are same it will be a Pre-approved transaction. Remitting Bank
debits the customer's account automatically and payer should send the response code as "0
0
"
& approval number in base 64 encrypted format in the RespAuthDetail
Note: UPI decrypted the cred block and verify whether the response code is matching with the
result or not. If it is not matching with actual response code, UPI will decline the transaction
with negative ACK "C11".
4. UPI sends a ReqPayCredit to the Beneficiary Bank
5. Beneficiary Bank Credits the customer's account and responds with successful credit by
sending RespPayCredit to UPI.
6. UPI sends a RespPay with Successful message to Payee PSP
7. UPI sends a ReqTxnConfirmation to Payer PSP with successful message.
8. Payer PSP sends a RespTxnConfirmation back to UPI.
9.Payer and Payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The
CBS entry should reflect the correct amount.

1. Payee initiates a Collect Request by entering the VPA of Payer


2 UPI sends ReqAuthDetail to Payer PSP for address resolution.
3. Since Payer and Remitter are same it will be a Pre-approved transaction. Remitting Bank
debits the customer's account automatically and payer should send the response code as "0
0
"
& approval number in base 64 encrypted format in the RespAuthDetail
4. UPI sends ReqPayCredit to the Beneficiary Bank and Beneficiary Bank does not respond
within the stipulated time.(Beneficiary Timeout)
5. UPI sends ReqChkTxn requests to beneficiary bank thrice in every 10
seconds interval as a
reminder to complete the transaction. Beneficiary bank does not respond still for these
ReqChkTxns.
6. UPI initiates the Credit Reversal to Beneficiary bank and responds successfully
7. UPI sends a RespPay with Failure to Payee PSP with error code- "U68" and response code -
"BT".
8. UPI sends a ReqTxnConfirmation to Payer PSP with Failure message.
9. Payer PSP sends the RespTxnConfirmation
10
.Payer should reverse the customer account .
1. Payee initiates a Collect Request by entering the VPA of Payer
2. UPI sends ReqAuthDetail to Payer PSP for address resolution.
3. Since Payer and Remitter are same it will be a Pre-approved transaction. Remitting Bank
debits the customer's account automatically and payer should send the response code as "0
0
"
& approval number in base 64 encrypted format in the RespAuthDetail
4. UPI sends ReqPayCredit to the Beneficiary Bank and Beneficiary Bank does not respond
within the stipulated time.(Beneficiary Timeout)
5. UPI sends ReqChkTxn requests to beneficiary bank thrice in every 10
seconds interval as a
reminder to complete the transaction. Beneficiary bank does not respond still for these
ReqChkTxns.
6. UPI sends credit reversal to Beneficiary Bank. Beneficiary bank fails to send response for
reversal within the stipulated time to UPI system(Credit Reversal Timeout).
7. UPI sends a RespPay with Failure to e PSP with Result =DEEMED, Response Code= BT and
Reversal Response Code: RB and no action to be taken by Payer PSP.
8. UPI sends a ReqTxnConfirmation to Payer PSP with Failure message.
9. Payer PSP sends a RespTxnConfirmation back to UPI.

1. Payee initiates a Collect Request by entering the VPA of Payer


2. UPI sends ReqAuthDetail to Payer PSP for address resolution.
3. Since Payer and Remitter are same it will be a Pre-approved transaction. Remitting Bank
debits the customer's account automatically and payer should send the response code as "0
0
"
& approval number in base 64 encrypted format in the RespAuthDetail
4. UPI sends ReqPayCredit to the Beneficiary Bank.
5. Beneficiary bank sends failure response as "Y1" to UPI
6. UPI sends a RespPay with Failure to Payee PSP with error code- "U31" and response code -
"Y1".
7. UPI sends a ReqTxnConfirmation to Payer PSP with Failure message.
8. Payer PSP sends the RespTxnConfirmation.
9.Payer should reverse the customer account.

1. Payee initiates a Collect Request by entering the VPA of Payer


2. UPI sends ReqAuthDetail to Payer PSP for address resolution
3. Since Payer and Remitter are same it will be a Pre-approved transaction. Payer sends the
response code as "UX" & approval number in base 64 encrypted format in the RespAuthDetail
Note: UPI decrypted the cred block and verify whether the response code is matching with the
result or not. If it is not matching with actual response code, UPI will decline the transaction
with negative ACK "C11"
4. UPI sends final RespPay to Payee PSP.RespCode=UX & errCode=U29
1. Payee initiates a Collect Request by entering the Virtual Address of the Payer
2. UPI sends ReqAuthDetail to Payer PSP for address resolution
3. Since Payer and Remitter are same it will be a Pre-approved transaction. Remitting Bank
debits the customer's account automatically and payer sends the response code as "Z9" &
approval number in base 64 encrypted format in the RespAuthDetail
Note: UPI decrypted the cred block and verify whether the response code is matching with the
result or not. If it is not matching with actual response code, UPI will decline the transaction
with negative ACK "C11".
4. UPI sends final RespPay to Payee Psp.

rom mandatory to extra


1. Payer PSP initiates a Pay Request by entering the Virtual Address of the Payee.
2. UPI sends ReqAuthDetail to Payee PSP for address resolution.
3. Payee PSP sends RespAuthDetail to UPI.
4. UPI sends a ReqPayDebit to remitter bank.
5. Remitting Bank debits the customer's account & sends RespPayDebit to UPI.
6. UPI sends a ReqPayCredit to the Beneficiary Bank.
7. Beneficiary Bank Credits the customer's account and respond successful credit by sending
RespPayCredit to UPI.
8. UPI sends a RespPay with Success to Payer PSP and Payer PSP sends ACK to UPI.
9. UPI sends a ReqTxnConfirmation to Payee PSP with Successful message.
10
.Payer and Payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The
CBS entry should reflect the correct amount.

1. Payee initiates a Collect Request by entering the Virtual Address of the Payer .
2. UPI sends ReqAuthDetail to Payer PSP for address resolution.
3. Payer PSP sends RespAuthDetail to UPI.
4.UPI sends a ReqPayDebit to remitter bank.
5. Remitting Bank debits the customer's account & sends succesful RespPayDebit to UPI.
6. UPI sends a ReqPayCredit to the Beneficiary Bank.
7. Beneficiary Bank Credits the customer's account and responds successful credit by sending
RespPayCredit to UPI.
8. UPI sends a RespPay with Success to Payee PSP.
9. UPI sends a ReqTxnConfirmation to Payer PSP with successful message.
10
. Payer PSP sends ACK & RespTxnConfirmation back to UPI.
11.Payer and Payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The
CBS entry should reflect the correct amount.
1. Payee initiates a Collect Request by entering the Virtual Address of the Payer .
2. UPI sends ReqAuthDetail to Payer PSP for address resolution.
3. Payer PSP sends the notification to customer for customer confirmation of the payment.
4. Payer PSP sends RespAuthDetail to UPI.
5.UPI sends a ReqPayDebit to remitter bank.
6. Remitting Bank debits the customer's account & sends RespPayDebit to UPI.
7. UPI sends a ReqPayCredit to the Beneficiary Bank.
8. Beneficiary Bank Credits the customer's account and responds successful credit by sending
RespPayCredit to UPI.
9. UPI sends a RespPay with Success to Payee PSP.
10
. UPI sends a ReqTxnConfirmation to Payer PSP with successful message.
11. Payer PSP sends ACK & RespTxnConfirmation back to UPI.
12.Payer and Payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The
CBS entry should reflect the correct amount.

Refer S.No.1 for other steps

1. Payer PSP initiates a Pay Request by entering the Virtual Address of the Payee with initiation
mode any value from 0
0
to 14; the same value used in initiation mode needs to be forwarded
with same value in the subsequent legs for that transaction.
NOTE : Payer PSP fails to send Initiation mode to UPI, then
the UPI will send negative Ack.(IM0)

Refer S.No.1 for other steps

1. Payer PSP initiates a Pay Request by entering the Virtual Address of the Payee with
Type='USDC' and TELECOM=Airtel|BSNL...
NOTE : Payer PSP fails to send the TagName is TELECOM in USDC to UPI, then the UPI will send
negative Ack(D12).

Refer S.No.5 for other steps

2. UPI sends ReqAuthDetail to Payer PSP for address resolution.


3. Payer PSP sends RespAuthDetail to UPI with the resolved address and UPIMandate cred
block.
4. UPI sends a ReqPayDebit to remitter bank with Cred Type as 'UPIMandate' and subType as
'DS'.
NOTE : Payer PSP fails to send Cred Type is "UPI Mandate" with subtype is "DS" to UPI, then the
UPI will send negative Ack="IM3"

Refer S.No.1 for other steps

8. UPI sends a RespPay with Success to Payer PSP with Authentication code(actn) and acNum,
IFSC, code for payer as well payee.
9. UPI sends a ReqTxnConfirmation with Success to Payee PSP with Authentication code(actn)
and acNum, IFSC, code for payer as well payee.
1. Payee initiates a collect request by entering the Virtual Address of the Payer .
2. UPI sends ReqAuthDetail to Payer PSP in order to validate the address.
3.Payer PSP should authorize the mandate and sends RespAuthDetail
4. UPI sends a ReqPay to remitter bank.
5. Remitting Bank validates all the mandate cred block details and debits the payer account
6.UPI forwards the same RespPay to Payee PSP.
7. UPI sends a ReqTxnConfirmation to Payer PSP with successful message
8. Payer PSP sends a RespTxnConfirmation back to UPI.

1. Payee initiates a collect request by entering the Virtual Address of the Payer .
2. UPI sends ReqAuthDetail to Payer PSP in order to validate the address.
3.Payer PSP should authorize the mandate within and sends RespAuthDetail
4. UPI sends a ReqPay to remitter bank.
5. Remitting Bank validates all the mandate cred block details and declines to debits the payer
account .
6. Remitting Bank sends a RespPay to UPI with the responseCode="Z9"
7.UPI forwards the same RespPay Payee PSP.
8. UPI sends a ReqTxnConfirmation to Payer PSP with failure message
9. Payer PSP sends a RespTxnConfirmation back to UPI.

1. Payee initiates a collect request by entering the Virtual Address of the Payer .
2. UPI sends ReqAuthDetail to Payer PSP in order to validate the address.
3.Payer PSP should authorize the mandate and sends RespAuthDetail
4. UPI sends a ReqPay to remitter bank.
5. Remitting Bank validates all the mandate cred block details and declines to debits the payer
account .
6. Remitting Bank sends a RespPay to UPI with the responseCode="YE"
7.UPI forwards the same RespPay Payee PSP.
8. UPI sends a ReqTxnConfirmation to Payer PSP with failure message
9. Payer PSP sends a RespTxnConfirmation back to UPI.

1. Payee initiates a collect request by entering the Virtual Address of the Payer .
2. UPI sends ReqAuthDetail to Payer PSP in order to validate the address..
3.Payer PSP should authorize the mandate and sends RespAuthDetail
4. UPI sends a ReqPay to remitter bank.
5. Remitting Bank validates all the mandate cred block details sends a RespPay to UPI with the
responseCode="YF"
6.UPI forwards the same RespPay Payee PSP.
7. UPI sends a ReqTxnConfirmation to Payer PSP with failure message
8. Payer PSP sends a RespTxnConfirmation back to UPI.
1. Payee initiates a Collect Request by entering the Virtual Address of the Payer .
2. UPI sends ReqAuthDetail to Payer PSP to validate the address.
3. Payer PSP sends RespAuthDetail with Failure, error code"QA" to UPI
4. UPI sends a RespPay with Failure to Payee PSP error code tag:U29 & ResponseCode:QA

Optional

1. Payee initiates a Collect Request by entering the Virtual Address of the Payer .
2. UPI sends ReqAuthDetail to Payer PSP in order to validate the address.
3. Payer PSP sends RespAuthDetail with Failure, error code"QB" to UPI
4. UPI sends a RespPay with Failure to Payee PSP error code tag:U29 & ResponseCode:QB

1. Payee initiates a Collect Request by entering the Virtual Address of the Payer .
2. UPI sends ReqAuthDetail to Payer PSP in order to validate the address..
3. Payer PSP sends RespAuthDetail with Failure, error code"QC" to UPI
4. UPI sends a RespPay with Failure to Payee PSP error code tag:U29 & ResponseCode:QC

1. Payee initiates a Collect Request by entering the Virtual Address of the Payer .
2. UPI sends ReqAuthDetail to Payer PSP in order to validate the address.
3. Payer PSP sends RespAuthDetail with Failure, error code"QD" to UPI
4. UPI sends a RespPay with Failure to Payee PSP error code tag:U29 & ResponseCode:QD
1. Payee initiates a Collect Request by entering the Virtual Address of the Payer .
2. UPI sends ReqAuthDetail to Payer PSP in order to validate the address.
3. Payer PSP sends RespAuthDetail with Failure, error code"QH" to UPI
4. UPI sends a RespPay with Failure to Payee PSP error code tag:U29 & ResponseCode:QH

1. Payee initiates a Collect Request by entering the Virtual Address of the Payer .
2. UPI sends ReqAuthDetail to Payer PSP in order to validate the address..
3. Payer PSP sends RespAuthDetail with Failure, error code"QI" to UPI
4. UPI sends a RespPay with Failure to Payee PSP error code tag:U29 & ResponseCode:QI

1. Payee initiates a Collect Request by entering the Virtual Address of the Payer .
2. UPI sends ReqAuthDetail to Payer PSP in order to validate the address..
3. Payer PSP sends RespAuthDetail with Failure, error code"QJ" to UPI
4. UPI sends a RespPay with Failure to Payee PSP error code tag:U29 & ResponseCode:QJ

1. Payee initiates a Collect Request by entering the Virtual Address of the Payer .
2. UPI sends ReqAuthDetail to Payer PSP in order to validate the address..
3. Payer PSP sends RespAuthDetail with Failure, error code"QK" to UPI
4. UPI sends a RespPay with Failure to Payee PSP error code tag:U29 & ResponseCode:QK
1. Payee initiates a Collect Request by entering the Virtual Address of the Payer .
2. UPI sends ReqAuthDetail to Payer PSP in order to validate the address..
3. Payer PSP sends RespAuthDetail with Failure, error code"QL" to UPI
4. UPI sends a RespPay with Failure to Payee PSP error code tag:U29 & ResponseCode:QL

1. Payee initiates a Collect Request by entering the Virtual Address of the Payer .
2. UPI sends ReqAuthDetail to Payer PSP in order to validate the address..
3. Payer PSP sends RespAuthDetail with Failure, error code"QR" to UPI
4. UPI sends a RespPay with Failure to Payee PSP error code tag:U29 & ResponseCode:QR

1. Payee initiates a Collect Request by entering the Virtual Address of the Payer .
2. UPI sends ReqAuthDetail to Payer PSP in order to validate the address..
3. Payer PSP sends RespAuthDetail with Failure, error code"QS" to UPI
4. UPI sends a RespPay with Failure to Payee PSP error code tag:U29 & ResponseCode:QS

1. Payee initiates a Collect Request by entering the Virtual Address of the Payer .
2. UPI sends ReqAuthDetail to Payer PSP in order to validate the address.
3. Payer PSP sends RespAuthDetail with Failure, error code"QU" to UPI
4. UPI sends a RespPay with Failure to Payee PSP error code tag:U29 & ResponseCode:QU
1. Payee initiates a Collect Request by entering the Virtual Address of the Payer .
2. UPI sends ReqAuthDetail to Payer PSP in order to validate the address..
3. Payer PSP sends RespAuthDetail with Failure, error code"QV" to UPI
4. UPI sends a RespPay with Failure to Payee PSP error code tag:U29 & ResponseCode:QV

1. Payee initiates a Collect Request by entering the Virtual Address of the Payer .
2. UPI sends ReqAuthDetail to Payer PSP in order to validate the address...
3. As a pre-approved transaction, Remitting Bank debits the customer's account automatically
and should sends the response code as "0
0
"& approval no in base 64 encrypted format in the
RespAuthDetail leg
Note: UPI decrypted the cred block and verify whether the response code is match with the
result or not. If it is not match, UPI decline it with negative ACK "C11".
4. UPI sends a ReqPayCredit to the Beneficiary Bank
5. Beneficiary Bank Credits the customer's account and responds successful credit by sending
RespPayCredit to UPI.
6. UPI sends a RespPay with Success to Payee PSP
7. UPI sends a ReqTxnConfirmation to Payer PSP with successful message.
8. Payer PSP sends a RespTxnConfirmation back to UPI.

1. Payee initiates a Collect Request by entering the Virtual Address of the Payer .
2. UPI sends ReqAuthDetail to Payer PSP in order to to validate the address..
3. As a pre-approved transaction, Remitting Bank declines the debit request and should sends
the response code as "XY"& approval no in base 64 encrypted format in the RespAuthDetail leg
Note: UPI decrypted the cred block and verify whether the response code is match with the
result or not. If it is not match, UPI decline it with negative ACK "C11".
4. UPI sends a RespPay with Failure to Payee PSP errCode=U29
5. UPI sends a ReqTxnConfirmation to Payer PSP with successful message.
6. Payer PSP sends a RespTxnConfirmation back to UPI.
1. Payee initiates a Collect Request by entering the Virtual Address of the Payer (UMN@psp)
2. UPI sends ReqAuthDetail to Payer PSP in order to validate the address.
3. Payer PSP validates the payment with mandate details.
4. Payer PSP sends RespAuthDetail to UPI.
With all the Payer and Payee details obtained, UPI sends request to NPCI FRM adapter.
NPCI FRM sends response with the risk score which is within the configured FRM limit. (FRM
threshold value set for remitting bank)
5.UPI sends a ReqPayDebit to remitter bank.
6. Remitting Bank debits the customer's account with the mandate block & sends RespPayDebit
to UPI
7. UPI sends a ReqPayCredit to the Beneficiary Bank
8. Beneficiary Bank Credits the customer's account and responds successful credit by sending
RespPayCredit to UPI.
9. UPI sends a RespPay with Success to Payee PSP
10
. UPI sends a ReqTxnConfirmation to Payer PSP with successful message.
11. Payer PSP sends a RespTxnConfirmation back to UPI.

1. Payee initiates a Collect Request by entering the Virtual Address of the Payer (UMN@psp)
2. UPI sends ReqAuthDetail to Payer PSP in order to validate the address.
3. Payer PSP validates the payment with mandate details.
4. Payer PSP sends RespAuthDetail to UPI.
With all the Payer and Payee details obtained, UPI sends request to NPCI FRM adapter.
NPCI FRM sends response with the risk score which is within the configured FRM limit. (FRM
threshold value set for remitting bank)
5.UPI sends a ReqPayDebit to remitter bank.
6. Remitting Bank validates the mandate block & sends failure RespPayDebit to UPI with
response code="VA"
9. UPI sends a RespPay with failure to Payee PSP
10
. UPI sends a ReqTxnConfirmation to Payer PSP with failure message.
11. Payer PSP sends a RespTxnConfirmation back to UPI.

1. Payee initiates a Collect Request by entering the VPA of Payer


2 UPI sends ReqAuthDetail to Payer PSP for address resolution.
3. Since Payer and Remitter are same it will be a Pre-approved transaction. Remitting Bank debits the
customer's account automatically and payer will wrngly send the response code as "CS" & approval
number in base 64 encrypted format in the RespAuthDetail
4. UPI declines with neagtive ACK "E13" - (Resp errorcode must be valid)
5. UPI sends a RespPay with failure to Payee PSP stating that address resolution timeout "U69"
1. Payee initiates a Collect Request by entering the Virtual Address of the Payer .
2. UPI sends ReqAuthDetail to Payer PSP for address resolution.
3. Payer PSP sends the notification to customer for customer confirmation of the payment.
4. Payer PSP sends failure RespAuthDetail to UPI with respCode="CS" & result="Failure"
5. UPI declines with neagtive ACK="E13"
6. UPI sends a RespPay with failure to Payee PSP with errorCode=U69

1.Payer PSP initiates a Pay Request by entering the Virtual Address of the Payee along with
Purpose of the txn by giving any value from 00 to 04, the same value used in purpose needs to
be forwarded with the subsequent legs for that transaction.
NOTE : Payer PSP fails to send Purpose to UPI, then the
UPI will send negative Ack.(T14)

Refer TestID PR_6 follow TEST STEPS S.No.2 for other steps

1.Payer PSP initiates a Pay Request by entering the Virtual Address of the Payee along with
Purpose of the txn by giving any value from 00 to 04, the same value used in purpose needs to
be forwarded with the subsequent legs for that transaction.
NOTE : Payer PSP fails to send Purpose to UPI, then the
UPI will send negative Ack.(T14)

Refer TestID PR_1 follow TEST STEPS S.No.2 for other steps

1. Payer PSP initiates a PAY Request with merchantType=”SMALL|LARGE under Merchant tag
by entering the Virtual Address of the Payee.

Refer TestID PR_1 follow TEST STEPS S.No.2 for other steps

1. Payer initiates a Pay Request with the payer account type NRE|NRO|CREDIT|PPIWALLET|
BANKWALLET by entering the Virtual Address of the Payee's.
2. UPI sends ReqAuthDetail to Payee's PSP in order to resolve the address
3. Payee's PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPay_Debit to remitter bank.
5. Remitting Bank debits the customer's account & sends RespPay_Debit to UPI
6. UPI sends a ReqPay_Credit to the Beneficiary's Bank
7. Beneficiary's Bank Credits the customer's account and respond successful credit by sending
RespPay_Credit to UPI.
8. UPI sends a RespPay with Success to Payer PSP
9. UPI sends a ReqTxnConfirmation to Payee's PSP with Successful message.
10
. Payee's PSP sends a RespTxnConfirmation back to UPI.
11. Payer and payee's should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI.
The CBS entry should reflect the correct amount
1. Payer PSP initiates a Pay Request by entering the Virtual Address of the Payee with initiation
mode='12' with institution block and Account type with value is SAVINGS|CURRENT|NRE|NRO
under payer tag.

Refer pre-approved cases for other steps

NOTE : Payer PSP send Initiation mode = "12" but Institution Block is not present to UPI, then
the UPI will send negative Ack (PI0).

1. Payer PSP initiates a Pay Request by entering the Virtual Address of the Payee with initiation
mode='12' with institution block and Account type with value is SAVINGS|CURRENT|NRE|NRO
under payer tag.

Refer pre-approved cases for other steps

NOTE : Payer PSP send Initiation mode = "12" but Institution Block is not present to UPI, then
the UPI will send negative Ack (PI0).

1. Payer PSP initiates a Pay Request by entering the Virtual Address of the Payee with initiation
mode='12' with institution block and Account type with value is SAVINGS|CURRENT|NRE|NRO
under payer tag.

Refer pre-approved cases for other steps

2. UPI check whether Payee psp/bank is live in 2.0


or not, if not UPI will decline the transaction
with negative ACK errorCode="UH2"stating that VERSION NOT SUPPORTED BY PSP/BANK

1. Payer PSP initiates a Pay Request by entering the Virtual Address of the Payee with initiation
mode='12' with institution block and Account type with value is SAVINGS|CURRENT|NRE|NRO
under payer tag.

Refer pre-approved cases for other steps

NOTE : If payer PSP sends Initiation mode = "12" but purpose code & note is not present inside
the Institution Block, then UPI will send negative Ack (PI7).

1. Payer PSP initiates a Pay Request by entering the Virtual Address of the Payee with initiation
mode='12' with institution block and Account type with value is SAVINGS|CURRENT|NRE|NRO
under payer tag.

Refer pre-approved cases for other steps

NOTE : If payer PSP sends Initiation mode = "12" but originator type is not present inside the
Institution Block, then UPI will send negative Ack (PI8).
1. Payer PSP initiates a Pay Request by entering the Virtual Address of the Payee with initiation
mode='12' with institution block and Account type with value is SAVINGS|CURRENT|NRE|NRO
under payer tag.

Refer pre-approved cases for other steps

NOTE : If payer PSP sends Initiation mode = "12" but originator address location, city, country &
geocode is not present inside the Institution Block, then UPI will send negative Ack (PJ2).

1. Payer PSP initiates a Pay Request by entering the Virtual Address of the Payee with initiation
mode='12' with institution block and Account type with value is NRE|NRO under payer tag.

Refer pre-approved cases for other steps


NOTE : If payer PSP sends Initiation mode = "12" but route value is apart from MTSS|RDA
inside the Institution Block, then UPI will send negative Ack (PI2).

1. Payer PSP initiates a Pay Request by entering the Virtual Address of the Payee with initiation
mode='12' with institution block and Account type with value is NRE|NRO under payer tag.
Refer pre-approved cases for other steps
NOTE : If payer PSP sends Initiation mode = "12" but initiating customer name is not present
inside the Institution Block, then UPI will send negative Ack (PI9).

1. Payer PSP initiates a Pay Request by entering the Virtual Address of the Payee with initiation
mode='12' with institution block and Account type with value is NRE|NRO under payer tag.

Refer pre-approved cases for other steps


NOTE : If payer PSP sends Initiation mode = "12" but initiating customer a/c no & reference no
is not present inside the Institution Block, then UPI will send negative Ack (PJ1).

1. Payer PSP initiates a Pay Request by entering the Virtual Address of the Payee with initiation
mode='12' with institution block and Account type with value is NRE|NRO under payer tag.

Refer pre-approved cases for other steps


NOTE : If payer PSP sends Initiation mode = "12" but Foreign bank/MTO name is not present
inside the Institution Block, then UPI will send negative Ack (PI3).

1. Payer PSP initiates a Pay Request by entering the Virtual Address of the Payee with initiation
mode='12' with institution block and Account type with value is NRE|NRO under payer tag.

Refer pre-approved cases for other steps


NOTE : If payer PSP sends Initiation mode = "12" but Foreign bank/MTO account is not present
inside the Institution Block, then UPI will send negative Ack (PI5).
1. Payer PSP initiates a Pay Request by entering the Virtual Address of the Payee with initiation
mode='12' with institution block and Account type with value is NRE|NRO under payer tag.

Refer pre-approved cases for other steps


NOTE : If payer PSP sends Initiation mode = "12" but beneficiary customer name is not present
inside the Institution Block, then UPI will send negative Ack (PJ5).

1. Payer PSP initiates a Pay Request by entering the Virtual Address of the Payee with initiation
mode='0
0
' without institution block and Account type with value is NRE|NRO under payer tag.

Refer Non pre-approved cases for other steps

1. Payer PSP initiates a Pay Request by entering the Virtual Address of the Payee with initiation
mode='12' with institution block and Account type with value is SAVINGS|CURRENT|NRO/NRE
under payer tag.

Refer pre-approved cases for other steps

NOTE : Payer PSP send Initiation mode = "12" but Institution Block is not present to UPI, then
the UPI will send negative Ack (PI0).

1. Payer PSP initiates a Pay Request by entering the Virtual Address of the Payee with initiation
mode='12' with institution block and Account type with value is SAVINGS|CURRENT|NRO|NRE
under payer tag.

Refer pre-approved cases for other steps

NOTE : Payer PSP send Initiation mode = "12" but Institution Block is not present to UPI, then
the UPI will send negative Ack (PI0).
1. Payer PSP initiates a Pay Request by entering the Virtual Address of the Payee.
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPayDebit to remitter bank.
5. Remitting Bank debits the customer's account & sends RespPay_Debit to UPI
6. UPI sends a ReqPayCredit to the Beneficiary Bank
7. Beneficiary Bank Credits the customer's account and respond successful credit by sending
RespPayCredit to UPI.
8. UPI sends a RespPay with Success to Payer PSP and Payer PSP sends ACK.
9. UPI sends a ReqTxnConfirmation to Payee PSP with Successful message.
10
.Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The
CBS entry should reflect the correct amount. .

1. Payer PSP initiates a Pay Request by entering the Virtual Address of the Payee.
Refer PR_1 for Step 2 to 10

1. Payer PSP initiates a Pay Request by entering the Virtual Address of the Payee with UPI 1.0

mandatory fields. Then UPI will decline with negative ACK="UH2"


Refer PR_1 for Step 2 to 10

1. Payer PSP initiates a Pay Request ver 1.0


by entering the Virtual Address of the Payee.
2. UPI will validate the version of payee psp and sends ReqAuthDetail to Payee PSP with ver 1.0

in order to resolve the address


3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPayDebit to remitter bank.
5. Remitting Bank debits the customer's account & sends RespPay_Debit to UPI
6. UPI sends a ReqPayCredit to the Beneficiary Bank
7. Beneficiary Bank Credits the customer's account and respond successful credit by sending
RespPayCredit to UPI.
8. UPI sends a RespPay with Success to Payer PSP and Payer PSP sends ACK.
9. UPI sends a ReqTxnConfirmation to Payee PSP with Successful message.
10
.Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The
CBS entry should reflect the correct amount. .
1. Payee PSP initiates a collect Request in 2.0
by entering the Virtual Address of the Payer.
2. UPI sends ReqAuthDetail in 2.0
to Payer PSP in order to resolve the address
3. Payer PSP should sends ACK & RespAuthDetail in 2.0
to UPI
4. UPI sends a ReqPayDebit in 2.0
to remitter bank.
5. Remitting Bank debits the customer's account & sends RespPay_Debit in 2.0
to UPI
6. UPI sends a ReqPayCredit in 2.0
to Beneficiary Bank
7. Beneficiary Bank Credits the customer's account and respond successful credit by sending
RespPayCredit in 2.0
to UPI.
8. UPI sends a RespPay in 2.0
with Success to Payee PSP and Payee PSP sends ACK in 2.0
.
9. UPI sends a ReqTxnConfirmation in 2.0
to Payer PSP with Successful message.
10
. Payer PSP sends RespTxnConfirmation in 2.0
with successful message.

1. Payer PSP initiates a Pay Request in 2.0


by entering the Virtual Address of the Payee.
2. UPI checks payee version and downgrade ReqAuthDetail in 1.0
to Payee PSP in order to
resolve the address
3. Payee PSP sends ACK & RespAuthDetail in 1.0
to UPI
4. UPI sends a ReqPayDebit in 1.0
to remitter bank.
5. Remitting Bank debits the customer's account & sends RespPay_Debit in 1.0
to UPI
6. UPI sends a ReqPayCredit in 1.0
to Beneficiary Bank
7. Beneficiary Bank Credits the customer's account and respond successful credit by sending
RespPayCredit in 1.0
to UPI.
8. UPI sends a RespPay in 1.0
with Success to Payer PSP and Payer PSP sends ACK in 1.0
.
9. UPI sends a ReqTxnConfirmation in 1.0
to Payee PSP with Successful message.
10
. Payee PSP sends RespTxnConfirmation in 1.0
with successful message.

1. Payer psp initiates a txn as 2.0


, since payee handle is global address and live only in UPI 1.0
.
2. UPI checks beneficiary bank version 1.0
and downgrade ReqPayDebit in 1.0
to remitter bank.
3. Remitting Bank debits the customer's account & sends RespPay_Debit in 1.0
to UPI
4. UPI sends a ReqPayCredit in 1.0
to Beneficiary Bank
5. Beneficiary Bank Credits the customer's account and respond successful credit by sending
RespPayCredit in 1.0
to UPI.
6. UPI sends a RespPay in 1.0
with Success to Payer PSP and Payer PSP sends ACK in 1.0
.
1. Payer psp initiates a txn as 2.0
, since payee handle is global address and live only in UPI 1.0
.
2. As a pre-approved txn, remitter bank debits the customer account automatically and sends
the details in ReqPay itself. UPI checks beneficiary bank version 1.0
and downgrade
ReqPayCredit in 1.0
to Beneficiary Bank
3. Beneficiary Bank Credits the customer's account and respond successful credit by sending
RespPayCredit in 1.0
to UPI.
4. UPI sends a RespPay in 1.0
with Success to Payer PSP and Payer PSP sends ACK in 1.0
.

1. Payer PSP initiates a Pay Request in 2.0


by entering the Virtual Address of the Payee.
2. UPI checks payee version and downgrade ReqAuthDetail in 1.0
to Payee PSP in order to
resolve the address
3. Payee PSP sends ACK & RespAuthDetail in 1.0
to UPI
4. UPI sends a ReqPayDebit in 1.0
to remitter bank.
5. Remitting Bank debits the customer's account & sends RespPay_Debit in 1.0
to UPI
6. UPI sends a ReqPayCredit in 1.0
to Beneficiary Bank
7. Beneficiary Bank Credits the customer's account and respond successful credit by sending
RespPayCredit in 1.0
to UPI.
8. UPI sends a RespPay in 1.0
with Success to Payer PSP and Payer PSP sends ACK in 1.0
.
9. UPI sends a ReqTxnConfirmation in 1.0
to Payee PSP with Successful message.
10
. Payee PSP sends RespTxnConfirmation in 1.0
with successful message.

1. Payer PSP initiates a Pay Request in 2.0


by entering the Virtual Address of the Payee.
2. UPI sends ReqAuthDetail in 2.0
to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail in 2.0
to UPI
4. UPI sends a ReqPayDebit in 2.0
to remitter bank.
5. Remitting Bank debits the customer's account & sends RespPay_Debit in 2.0
to UPI
6. UPI sends a ReqPayCredit in 2.0
to Beneficiary Bank
7. Beneficiary Bank Credits the customer's account and respond successful credit by sending
RespPayCredit in 2.0
to UPI.
8. UPI sends a RespPay in 2.0
with Success to Payer PSP and Payer PSP sends ACK in 2.0
.
9. UPI sends a ReqTxnConfirmation in 2.0
to Payee PSP with Successful message.
10
. Payee PSP sends RespTxnConfirmation in 2.0
with successful message.
1. Payer PSP initiates a Pay Request in 2.0
by entering the Virtual Address of the Payee.
2. UPI will check 4 parties version, if payee psp alone is in ver1.0
. Then UPI will decline with
negative ACK=""IM5"

1. Payee initiates a collect request by entering the Virtual Address of the Payer .
2. UPI sends ReqAuthDetail to Payer PSP in order to validate the address.
3.Payer PSP should authorize the mandate and sends RespAuthDetail
4. UPI sends a ReqPay to remitter bank.
5. Remitting Bank validates all the mandate cred block details and debits the payer account
6.UPI forwards the same RespPay to Payee PSP.
7. UPI sends a ReqTxnConfirmation to Payer PSP with successful message
8. Payer PSP sends a RespTxnConfirmation back to UPI.

1. Payee initiates a collect request by entering the Virtual Address of the Payer .
2. UPI sends ReqAuthDetail to Payer PSP in order to validate the address.
3.Payer PSP should authorize the mandate and sends RespAuthDetail
4. UPI sends a ReqPay to remitter bank.
5. Remitting Bank validates all the mandate cred block details and debits the payer account
6.UPI forwards the same RespPay to Payee PSP.
7. UPI sends a ReqTxnConfirmation to Payer PSP with successful message
8. Payer PSP sends a RespTxnConfirmation back to UPI.

1. Payee initiates a Collect Request by entering the Virtual Address of the Payer .
2. UPI sends ReqAuthDetail to Payer PSP in order to validate the address..
3. Payer PSP sends RespAuthDetail with Failure, error code"QB" to UPI
4. UPI sends a RespPay with Failure to Payee PSP error code tag:U29 & ResponseCode:QB
mandate is already honoured
1. Payee initiates a Collect Request by entering the Virtual Address of the Payer .
2. UPI sends ReqAuthDetail to Payer PSP in order to validate the address..
3. Payer PSP sends RespAuthDetail with Failure, error code"QR" to UPI
4. UPI sends a RespPay with Failure to Payee PSP error code tag:U29 & ResponseCode: QR

1. Payee initiates a Collect Request by entering the Virtual Address of the Payer .
2. UPI sends ReqAuthDetail to Payer PSP in order to validate the address..
3. Payer PSP sends RespAuthDetail with Failure, error code"QR" to UPI
4. UPI sends a RespPay with Failure to Payee PSP error code tag:U29 & ResponseCode: QR
1. Payee initiates a Collect Request by entering the Virtual Address of the Payer .
2. UPI sends ReqAuthDetail to Payer PSP in order to validate the address..
3. Payer PSP sends RespAuthDetail with Failure, error code"QR" to UPI
4. UPI sends a RespPay with Failure to Payee PSP error code tag:U29 & ResponseCode: QR

1. Payee PSP initiates a collect Request in 2.0


by entering the Virtual Address of the Payer.
2. UPI sends ReqAuthDetail in 2.0
to Payer PSP in order to resolve the address
3. Payer PSP should sends ACK & RespAuthDetail in 2.0
to UPI
4. UPI will check all the 4 parties versions, in this case remitter bank live only in ver1.0
. So, UPI
will convert the version as 1.0
and proceed for other legs.
5. UPI sends a ReqPayDebit in 1.0
to remitter bank.
6. Remitting Bank debits the customer's account & sends RespPay_Debit in 1.0
to UPI
7. UPI sends a ReqPayCredit in 1.0
to Beneficiary Bank
8. Beneficiary Bank Credits the customer's account and respond successful credit by sending
RespPayCredit in 1.0
to UPI.
9. UPI sends a RespPay in 1.0
with Success to Payee PSP and Payee PSP sends ACK in 1.0
.
10
. UPI sends a ReqTxnConfirmation in 1.0
to Payer PSP with Successful message.
11. Payer PSP sends RespTxnConfirmation in 1.0
with successful message.

1. Payer initiates a Pay Request with the payer account type="SAVING" by entering the Virtual
Address of the Payee's.
2. UPI sends ReqAuthDetail to Payee's PSP in order to resolve the address
3. Payee's PSP sends RespAuthDetail to UPI with beneficiary bank account type="SOD|UOD"
4. UPI sends a ReqPay_Debit to remitter bank.
5. Remitting Bank debits the customer's account & sends RespPay_Debit to UPI
6. UPI sends a ReqPay_Credit to the Beneficiary's Bank which account type is "SOD|UOD"
7. Beneficiary's Bank Credits the customer's account and respond successful credit by sending
RespPay_Credit to UPI.
8. UPI sends a RespPay with Success to Payer PSP
9. UPI sends a ReqTxnConfirmation to Payee's PSP with Successful message.
10
. Payee's PSP sends a RespTxnConfirmation back to UPI.
11. Payer and payee's should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI.
The CBS entry should reflect the correct amount
1. Payer initiates a Pay Request with the payer account type="SOD|UOD" by entering the
Virtual Address of the Payee's.
2. UPI sends ReqAuthDetail to Payee's PSP in order to resolve the address
3. Payee's PSP responsibility to chek the payee type should be "ENTITY" sends RespAuthDetail
to UPI with beneficiary bank account type=CURRENT
4. UPI sends a ReqPay_Debit to remitter bank.
5. Remitting Bank debits the customer's account & sends RespPay_Debit to UPI
6. UPI sends a ReqPay_Credit to the Beneficiary's Bank which account type is "SOD|UOD"
7. Beneficiary's Bank Credits the customer's account and respond successful credit by sending
RespPay_Credit to UPI.
8. UPI sends a RespPay with Success to Payer PSP
9. UPI sends a ReqTxnConfirmation to Payee's PSP with Successful message.
10
. Payee's PSP sends a RespTxnConfirmation back to UPI.
11. Payer and payee's should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI.
The CBS entry should reflect the correct amount

1. Payee initiates a collect request with the payee account type="SOD|UOD" by entering the
Virtual Address of the Payer.
2. UPI sends ReqAuthDetail to Payer PSP in order to resolve the address
3. Payers PSP responsibility to chek the remitter account type="SOD|UOD" and sends failure
RespAuthDetail to UPI with errorCode=""
4. UPI sends a RespPay with failure to Payer PSP with errorCode=""
5. UPI sends a ReqTxnConfirmation to Payee's PSP with failure message.
6. Payee's PSP sends a RespTxnConfirmation back to UPI.
7. Payer and payee's should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The
CBS entry should reflect the correct amount

1. Payee initiates a collect request with the payee account type="CURRENT" with
type="ENTITY" by entering the Virtual Address of the Payer.
2. UPI sends ReqAuthDetail to Payer PSP in order to resolve the address
3. Payers PSP responsibility to chek the remitter account type="SOD|UOD" and sends
RespAuthDetail to UPI.
4. UPI sends a ReqPay_Debit to remitter bank.
5. Remitting Bank debits the customer's account & sends RespPay_Debit to UPI
6. UPI sends a ReqPay_Credit to the Beneficiary's Bank which account type is "SOD|UOD"
7. Beneficiary's Bank Credits the customer's account and respond successful credit by sending
RespPay_Credit to UPI.
4. UPI sends a RespPay with failure to Payer PSP with errorCode=""
5. UPI sends a ReqTxnConfirmation to Payee's PSP with failure message.
6. Payee's PSP sends a RespTxnConfirmation back to UPI.
7. Payer and payee's should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The
CBS entry should reflect the correct amount
1. Payer initiates a Pay Request with the payer account type="SOD|UOD"by entering the Virtual
Address of the Payee's.
2. UPI sends ReqAuthDetail to Payee's PSP in order to resolve the address
3. Payee's PSP responsibility to chek the payee type should be "ENTITY" sends RespAuthDetail
to UPI with beneficiary bank account type=CURRENT
4. UPI sends a ReqPay_Credit to the Beneficiary's Bank which account type is "SOD|UOD"
5. Beneficiary's Bank Credits the customer's account and respond successful credit by sending
RespPay_Credit to UPI.
6. UPI sends a RespPay with Success to Payer PSP
7. UPI sends a ReqTxnConfirmation to Payee's PSP with Successful message.
8. Payee's PSP sends a RespTxnConfirmation back to UPI.
9. Payer and payee's should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The
CBS entry should reflect the correct amount

1. Payee initiates a collect request with the payee account type="SOD|UOD" by entering the
Virtual Address of the Payer.
2. UPI sends ReqAuthDetail to Payer PSP in order to resolve the address
3. As a pre-approved txn, Payers PSP responsibility to chek the remitter account type="SOD|
UOD"and automatically debits the customer account and sends failure RespAuthDetail to UPI
with errorCode=""
4. UPI sends a RespPay with failure to Payer PSP with errorCode=""
5. UPI sends a ReqTxnConfirmation to Payee's PSP with failure message.
6. Payee's PSP sends a RespTxnConfirmation back to UPI.
7. Payer and payee's should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The
CBS entry should reflect the correct amount

1. Payer initiates a Pay Request by entering the Virtual Address of the Payee
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPay_Debit to remitter bank. Remitter bank does not receive original request because of
the connection timeout
5. UPI checks the connectivity with bank and declines the transaction with "U85".
6. UPI sends a RespPay with Failure to Payer PSP with error code - U85
7. UPI sends a ReqTxnConfirmation to Payee PSP with Failure message.
8. Payee PSP sends a RespTxnConfirmation back to UPI.
9. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS entry
should reflect the correct amount. .
1. Payee initiates a Collect Request by entering the Virtual Address of the Payer
2. UPI sends ReqAuthDetail to Payer PSP in order to validate the address.
3. Payer PSP validates the payment details.
4. Payer PSP sends RespAuthDetail to UPI.
With all the Payer and Payee details obtained, UPI sends request to NPCI FRM adapter.
NPCI FRM sends response with the risk score which is within the configured FRM limit. (FRM
threshold value set for remitting bank)
5.UPI sends a ReqPayDebit to remitter bank. Remitter bank does not receive original request
because of the connection timeout
6. UPI checks the connectivity with bank and declines the transaction with "U85".
7. UPI sends a RespPay with failure to Payee PSP with "U85"
8. UPI sends a ReqTxnConfirmation to Payer PSP with failure message with orgErrCode="85"
9. Payer PSP sends a RespTxnConfirmation back to UPI and also infrom the customer

1. Payer initiates a Pay Request by entering the Virtual Address of the Payee
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPay_Debit to remitter bank. Remitter bank does not receive original request because of
the connection timeout
5. UPI checks the connectivity with bank and declines the transaction with "U85".
6. UPI sends a RespPay with Failure to Payer PSP with error code - U85
7. UPI sends a ReqTxnConfirmation to Payee PSP with Failure message.
8. Payee PSP sends a RespTxnConfirmation back to UPI.
9. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS entry
should reflect the correct amount. .
HOME
S.NO TEST ID DETAILS DESCRIPTION

API Involved : ReqPay A collect scenario where Payer


RespPay and Payee are VPA
1 PE_1 Type : Collect
Approval Type : Non-Pre Approved FRM Success case(response code
Payer Handle : VPA -0
0
)
Payee Handle : VPA

PE_2 Test case moved from manda

API Involved : ReqAuthDetail


RespAuthDetail
ReqTxnConfirmation
RespTxnConfirmation A collect scenario where Payer is
3 PE_4 Type : Pay using Acct + IFSC & payee is VPA
Approval Type : Non-Pre Approved
Payer Handle : VPA
Payee Handle : VPA

PE_5 Test case moved from manda


PE_6 Test case removed
PE_7 Test case removed
PE_8 Test case moved from manda

API Involved : ReqAuthDetail


RespAuthDetail
ReqTxnConfirmation
RespTxnConfirmation Pay ReqAuth Time out. Error code:
4 PE_9 Type : Pay U0
9
Approval Type : Non-Pre Approved
Payer Handle : VPA
Payee Handle : VPA
API Involved : ReqAuthDetail
RespAuthDetail
ReqTxnConfirmation
RespTxnConfirmation Failure Txn in PAY scenario with
5 PE_10
Type : Pay Resp code:UX-EXPIRED VIRTUAL
Approval Type : Non-Pre Approved ADDRESS
Payer Handle : VPA
Payee Handle : VPA

API Involved : ReqAuthDetail


RespAuthDetail
ReqTxnConfirmation
RespTxnConfirmation A Pay Pre-Approved transaction
6 PE_11 Type : Pay failed with invalid VPA. Response
Approval Type : Pre Approved code ZH
Payer Handle : VPA
Payee Handle : VPA

PE_12 Test case removed

API Involved : ReqAuthDetail


RespAuthDetail
ReqTxnConfirmation
RespTxnConfirmation Failure Txn in PAY scenario with
7 PE_13 Type : Pay Resp code:ZG-RESTRICTED VPA,
Approval Type : Non-Pre Approved DECLINE
Payer Handle : VPA
Payee Handle : VPA

API Involved : ReqAuthDetail


RespAuthDetail
ReqTxnConfirmation
RespTxnConfirmation Failure Txn in PAY scenario with
8 PE_14 Type : Pay Resp code:ZE-TRANSACTION NOT
Approval Type : Non-Pre Approved PERMITTED TO VPA
Payer Handle : VPA
Payee Handle : VPA

A Collect scenario where Payee is


API Involved : ReqPay using VPA with remitter details as
RespPay A/C + IFSC & Payer is VPA .
Type : Collect
9 PE_15 Approval Type : Non-Pre Approved Bank should accept the failure
Payer Handle : VPA response from NPCI due to FRM
Payee Handle : VPA failure in the final RespPay leg
(response code -U16)
In case of USSD flow, the device
API Involved : ReqPay type should be "USDC" in ReqPay
RespPay
Type : Collect
10
PE_16 (NOTE: Whenever ReqPay is
Approval Type : Non-Pre Approved initiated from USSD channel, the
Payer Handle : VPA bank/PSP should populate the
Payee Handle : VPA device type="FORMAT1")

A collect scenario where Payer


API Involved : ReqPay and Payee are using VPA
RespPay
11 PE_17 Type : Collect FRM Success case(response code
Approval Type : Non-Pre Approved -0
0
)
Payer Handle : VPA
Payee Handle : VPA NOTE: It is only applicable for
WebCollect

API Involved : ReqAuthDetail


RespAuthDetail Failure Txn in PAY scenario with
ReqTxnConfirmation Resp code:ZH-INVALID VIRTUAL
RespTxnConfirmation ADDRESS
12 PE_18 Type : Pay
Approval Type : Non-Pre Approved NOTE: This case is applicable only
Payer Handle : VPA for IOS testing.
Payee Handle : VPA
A Collect scenario where Payee is
using VPA with remitter details as
API Involved : ReqPay A/C + IFSC & Payer is VPA .
RespPay
Type : Collect Bank should accept the failure
13 PE_19 Approval Type : Non-Pre Approved response from NPCI due to
Payer Handle : VPA beneficiary offline in the final
Payee Handle : VPA RespPay leg (error code -U78)
NOTE: This case is not applicable
in multiple payee.

API Involved : ReqAuthDetail


RespAuthDetail
ReqTxnConfirmation
RespTxnConfirmation Non-Preapproved Collect
14 PE_20

Type : Scenario where Payee PSP


Collect should send ACK to UPI for
Approval Type : Non-Pre Approved Final RespPay received
Payer Handle :
may@mypsp
Payee Handle : VPA

API Involved : ReqPay


RespPay Non-Preapproved Pay Scenario
Type : Pay where Payee PSP should send
15 PE_21 Approval Type : ACK to UPI for
Non-PreApproved ReqTxnConfirmation sent
Payer Handle : VPA
Payee Handle : VPA
API Involved : ReqPay
RespPay Non-Preapproved Pay Scenario
Type : Pay where
16 PE_22 Approval Type : Payee PSP should send
Non-PreApproved RespTxnConfirmation
Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqPay, RespPay Payee PSP is a Merchant ; So


Type : Collect Merchant Block is Mandatory
Approval Type: Non Pre-Approved
Payer Handle: may@mypsp
Payee Handle : PSP

17 PE_23
API Involved: ReqAuthDetail, Payee PSP is Merchant ; So
RespAuthDetail, ReqTxnConfirmation & RespAuthDetail API Merchant
RespTxnConfirmation Block is mandatory in Payee tag
Type : Pay
Approval Type: Non Pre-Approved
Payer Handle: PSP
Payee Handle : PSP

18 PE_24

API Involved: ReqPay, ReqAuthDetails, Payee Initiating transaction


RespAuthDetails, with initiation mode ; So
ReqPayDebit,RespPayDebit,ReqPayCredit,R initiation mode is mandatory
espPayCredit,RespPay,ReqTxnConfirmation in all legs.
,RespTxnConfirmation
Type : Collect
19 PE_25 Approval Type: Non Pre-Approved
Payer Handle: may@mypsp
Payee Handle : PSP

A collect scenario where Payer


(umn@psp) and Payee using
API Involved : ReqPay VPA
RespPay FRM Success case(response
Type: Collect code -0
0
)
20
PE_26 Approval Type : Non-Pre Approved
Payer Handle : VPA The purpose of the case is to
Payee Handle : VPA test whether the payer psp
properly use the
InitiationMode="11" for
UPIMANDATE transactions
Remitter bank sends failure
responseCode=" VY" stating
API Involved : ReqPay that Mandate Signature is
RespPay tampered or corrupt (issuer)
Type: Collect
21 PE_27 Approval Type : Non-Pre Approved NOTE:The purpose of the case
Payer Handle : VPA is to test whether the payee
Payee Handle : VPA psp can accept the failure
response from the UPI due to
remitter bank decline

API Involved : ReqPay


RespPay
Type: Collect Payee psp should send the
22 PE_28 Approval Type : Non-Pre Approved UMN handle (UMN@psp) 70

Payer Handle : VPA digit of payer


Payee Handle : VPA

API Involved : ReqAuthDetail No response for ReqPayCredit


RespAuthDetail No Response for ReqChkTxn
ReqTxnConfirmation Reversal response code = CS
RespTxnConfirmation
23 PE_29 Type : Collect
Approval NOTE: Payee psp should accept
Type : Pre-Approved and inform the customer about
Payer Handle : PREmay@mypsp the credit success
Payee Handle : VPA

API Involved :ReqPay, RespPay Payee Initiating transaction


Type : Collect with Purpose of the txn ; So
Approval Purpose is mandatory in all
Type : Pre-Approved legs.
Payer Handle : PREmay@mypsp
Payee
Handle : VPA NOTE - Purpose tag is
24 PE_30
mandatory only for Mandate
Financial Transactions ,for
remaining its an optional.
API Involved : ReqPay, RespPay Payee Initiating transaction
Type : Collect with Purpose of the txn ; So
Approval Purpose is mandatory in all
Type : Non Pre-Approved legs.
Payer Handle : may@mypsp
Payee NOTE - Purpose tag is
25 PE_31 Handle : VPA mandatory only for Mandate
Financial Transactions ,for
remaining its an optional.

API Involved: ReqPay, RespPay Payee PSP is Merchant ; So


Type : Collect ReqPay API Merchant Type is
Approval Type: Non Pre-Approved mandatory under the
PE_32 Payer
26
Handle: may@mypsp merchant Tag.
Payee Handle : PSP

Collect scenario where Payee


API Involved : ReqPay initiate a collect request with
RespPay account type as NRE|NRO|
Type : Collect CREDIT|PPIWALLET|
Approval Type : Non Pre-Approved BANKWALLET
Payer Handle : may@mypsp
Payee Handle : VPA NOTE - Payee PSP should
accept the same account type
as NRE|NRO|CREDIT|
PPIWALLET|BANKWALLET from
UPI in final RespPay.

27 PE_33

API Involved: ReqPay, RespPay Payee psp successfully resolute


Type : Pay the beneficiary address for
Approval Type: Pre-Approved initiationMode=12
Payer Handle: VPA
Payee Handle : VPA

28 PE_34
API Involved: ReqPay, RespPay Payee psp successfully resolute
Type : Pay the beneficiary address for
Approval Type: Pre-Approved initiationMode=12
Payer Handle: VPA
Payee Handle : VPA

29 PE_35

API Involved: ReqPay, RespPay If payee psp initiating a collect


Type : Collect with initiationMode=12, then
Approval Type: Pre-Approved UPI will decline with negative
Payer Handle: PREmay@mypsp ACK="IM1"
30
PE_36 Payee Handle : Ac.No@IFSC.ifsc.npci

API Involved: ReqPay, RespPay Payee psp successfully resolute


Type : Pay the beneficiary address for
Approval Type: Non Pre-Approved initiationMode=0
0

Payer Handle: VPA


Payee Handle : VPA Note: UPI will consider this as a
domestic transaction since
31 PE_37 initiationMode is not equal to
"12"

API Involved: ReqPay Payee psp should use the same


RespPay version in the URL as well as
Type : Collect in the header version in xml's
Approval Type : Non Pre-Approved
Payer Handle : may@mypsp Note: If the url and header
Payee Handle : VPA version is different, then UPI
will decline with negative
ACK="UH1"

32 PE_38
API Involved: ReqPay If payee psp is live in UPI2.0
,
RespPay the psp should use mandatory
Type : Collect UPI 2.0
specification fields
Approval Type : Non Pre-Approved (e.g. initiationMode)
Payer Handle : may@mypsp
Payee Handle : VPA Note: If the psp doesn’t use the
33 PE_39 UPI2.0
mandatory fields, UPI
will decline with negative
ACK="IM0"

API Involved: ReqPay If Payer is in 2.0

RespPay Payee psp in UPI1.0

Type : Collect Remitter bank in UPI2.0

Approval Type : Non Pre-Approved Beneficiary bank in UPI 2.0

Payer Handle : may@mypsp


Payee Handle : VPA Note: UPI will check all 4
parties version, then UPI sends
the ReqAuthDetail to Payer psp
as ver 1.0
and complete the
transaction with the same
34 PE_40
version 1.0

API Involved: ReqPay If Payee psp is in ver 1.0

RespPay Payer psp is in ver 1.0

Type : Collect Remitter bank is in ver 1.0

Approval Type : Non Pre-Approved Beneficiary bank is in ver1.0

Payer Handle : maywish@mypsp2


Payee Handle : VPA

35 PE_41
API Involved: ReqPay If Payee psp is in ver 1.0

RespPay Payer psp is in ver 1.0

Type : Collect Remitter bank is in ver 1.0

Approval Type : Pre-Approved Beneficiary bank is in ver1.0

Payer Handle : maywish@mypsp2


Payee Handle : VPA

36 PE_42

API Involved: ReqPay If Payee psp is in ver 2.0

RespPay Payer psp is in ver 2.0

Type : Collect Remitter bank is in ver 2.0

Approval Type : Non Pre-Approved Beneficiary bank is in ver2.0

Payer Handle : may@mypsp


Payee Handle : VPA

37 PE_43

API Involved: ReqPay If Payee is in 1.0


,2.0

RespPay Payer psp in UPI 1.0

Type : Collect Remitter bank in UPI 1.0

Approval Type : Non Pre-Approved Beneficiary bank in UPI 1.0

Payer Handle : maywish@mypsp2


Payee Handle : VPA Note: Payee psp should accept
RespPay ver 1.0
and should
sends the ACK for RespPay in
1.0

38 PE_44
API Involved: ReqPay If the UPI forwards the
RespPay ReqAuthDetail in ver 1.0
, Payee
Type : Pay psp should sends ACK &
Approval Type : Non Pre-Approved RespAuthDetail in ver1.0
Payer Handle : VPA
Payee Handle : VPA Note: 1. If the url and header
version is different, then UPI
will decline with negative
ACK="UH1"
2. If payee psp fails to sends
39 PE_45 response in different version to
UPI. UPI decline with negative
ACK="UV1"

A collect scenario where Payee


psp initiating a ReqPay with
initiationMode=11 Full
amount allotment
API Involved : ReqPay
RespPay
Type: Collect
40
PE_46 Approval Type : Non-Pre Approved Note: 1. If the txn fails, It is a
Payer Handle : VPA payee psp responsibility to re-
Payee Handle : VPA initiate the txn.
2. Payee psp should initiate a
txn within 2,0
0
,0
0
0
limit for
SEBI txn. UPI will decline if the
amount limit exceeded "UP2"
A collect scenario where Payee
psp initiating a ReqPay
withinitiationMode=11 for
API Involved : ReqPay partial amount allotment
RespPay
Type: Collect
41 PE_47 Approval Type : Non-Pre Approved
Payer Handle : VPA Note: It's remitter bank
Payee Handle : VPA responsibility to unblock the
remaining partial amount
automatically to customer's
account

A Collect scenario where


Payee initiate a Collect request
API Involved : ReqPay with beneficiary account
RespPay type=”SOD|UOD”
Type : Collect
PE_48 Approval Type : Non Pre-Approved
Payer Handle : VPA NOTE - The same scenario will
Payee Handle : VPA be applicable for
type="CURRENT" to
type="SOD|UOD"
A Collect scenario where Payee
initiate a Collect request with
beneficiary account
API Involved : ReqPay RespPay type=CURRENT
Type : Collect
Approval Type : Non Pre-Approved NOTE – Account type from
PE_49 Payer Handle : VPA "SOD|UOD" to Current is
Payee Handle : VPA applicable only when the
payee is a merchant
(type="ENTITY" & code is not
equal to "0
0
0
0
")

A Pay scenario where Payer


initiate a pay request
with remitter account
type="SOD|UOD"
API Involved : ReqPay RespPay
Type : Pay
PE_50
Approval Type : Non Pre-Approved
Payer Handle : VPA NOTE - Account type "SOD|
Payee Handle : VPA UOD" to "SOD|UOD" is not
possible. It is a Payee
responsibility to fails the txn in
the address resolution leg
A Pay scenario where Payer
initiate a Pay request with
account type="SOD|UOD"

NOTE -
API Involved : ReqPay RespPay 1. If the Pay request from
Type : Pay Account type "SOD|UOD" to
PE_51 Approval Type : Non Pre-Approved "SAVINGS" is not possible. It is
Payer Handle : VPA a Payee responsibility to fails
Payee Handle : VPA the txn in the address
resolution leg
2. If the beneficiary account
type="CURRENT" with
type="ENTITY", then the txn
will go through.

A Collect scenario where


Payee initiate a Collect request
with beneficiary account
API Involved : ReqPay RespPay type="SOD|UOD"
Type : Collect
PE_52 Approval Type : Pre-Approved
Payer Handle : VPA NOTE - The same scenario will
Payee Handle : VPA be applicable for
type="CURRENT" to
type="SOD|UOD"

A Pay scenario where Payer


initiates a pay request with
remitter account type="SOD|
API Involved : ReqPay RespPay UOD"
Type : Pay
PE_53 Approval Type : Pre-Approved NOTE - Account type "SOD|
Payer Handle : VPA UOD" to "SOD|UOD" is not
Payee Handle : VPA possible. It is a Payee
responsibility to fails the txn in
the address resolution leg
HOME
TXN INITIATED BY STATUS

Bank Success

Test case moved from mandatory to extra

Npci Success

Test case moved from mandatory to extra


Test case removed
Test case removed
Test case moved from mandatory to extra

Npci Failure
Npci Failure

Npci Failure

Test case removed

Npci Failure

Npci Failure

Bank Failure
Npci Success

Bank Success

Npci Failure
Bank Failure

Bank Success

NPCI Success
NPCI Success

Bank Success
NPCI Success

Bank Success

Bank Success
Bank Failure

Bank Success

BANK Success

Bank Success
Bank Success

Bank Success

Bank Success

NPCI Success
NPCI Success

Bank FAILURE

NPCI Success

Bank Success
Bank Success

Bank Success

Bank Success
Bank Success

Bank Success

Bank Success
NPCI Success

Bank Success
Bank Success

Bank Success
Bank Success

Bank Failure
Bank Failure

Bank Success

Bank Failure
OME
TEST STEPS
1. Payee initiates a Collect Request by entering the Virtual Address of the Payer .
2. UPI sends ReqAuthDetail to Payer PSP in order to resolve the address.
3. Payer PSP sends the notification to customer for customer confirmation of the payment.
4. Payer PSP sends RespAuthDetail to UPI.
With all the Payer and Payee details obtained, UPI sends request to NPCI FRM adapter.
NPCI FRM sends response with the risk score which is within the configured FRM limit.
(FRM threshold value set for remitting bank)
5.UPI sends a ReqPay_Debit to remitter bank.
6. Remitting Bank debits the customer's account & sends RespPay_Debit to UPI
7. UPI sends a ReqPay_Credit to the Beneficiary Bank
8. Beneficiary Bank Credits the customer's account and responds successful credit by
sending RespPay_Credit to UPI.
9. UPI sends a RespPay with Success to Payee PSP
10
. UPI sends a ReqTxnConfirmation to Payer PSP with successful message.
11. Payer PSP sends a RespTxnConfirmation back to UPI.
12.Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI.
The CBS entry should reflect the correct amount. .

m mandatory to extra
1. Payer PSP initiates a Pay Request by entering the Virtual Address of the Payee
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPay_Debit to remitter bank.
5. Remitting Bank debits the customer's account & sends RespPay_Debit to UPI
6. UPI sends a ReqPay_Credit to the Beneficiary Bank
7. Beneficiary Bank Credits the customer's account and responds successful credit by
sending RespPay_Credit to UPI.
8. UPI sends a RespPay with Success to Payer PSP
9. UPI sends a ReqTxnConfirmation to Payee PSP with successful message.
10
. Payee PSP sends a RespTxnConfirmation back to UPI.
11.Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI.
The CBS entry should reflect the correct amount. .

m mandatory to extra
e removed
e removed
m mandatory to extra
1. Payer initiates a Pay Request by entering the Virtual Address of the Payee.
2.UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP fails to send RespAuthDetail to UPI within timeout period .
4.UPI sends response with timeout error code-U0
9 to Payer PSP.
5. UPI sends a ReqTxnConfirmation to Payee PSP with FAILURE message. Payee PSP sends a
RespTxnConfirmation back to UPI.
1. Payer PSP initiates a Pay Request by entering the Virtual Address of the Payee
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail with error code:UX
4. UPI sends a RespPay with Failure to Payer PSP error code tag :UX

1. Payer initiates a Pay Request by entering the Virtual Address of the Payee.
2. As a pre-approved transaction, Payer PSP debits the customer's account and initiate the
transaction to UPI.
3. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
4. Payee PSP sends RespAuthDetail with Failure, response code ZH to UPI
5. UPI sends a RespPay with Failure to Payer PSP .Payer PSP should rerverse the customer's
account based on the declined response received from UPI

e removed
1. Payer PSP initiates a Pay Request by entering the Virtual Address of the Payee
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail with Failure, error code ZG to UPI
4. UPI sends a RespPay with Failure to Payer PSP error code tag :ZG

1. Payer initiates a Pay Request by entering the Virtual Address of the Payee .
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address.
3. Payee PSP sends RespAuthDetail with Failure, error code ZE to UPI .
4. UPI sends a RespPay with Failure to Payer PSP error code tag :ZE

1. Payee initiates a Collect Request by entering the Virtual Address of the Payer .
2. UPI sends ReqAuthDetail to Payer PSP in order to resolve the address.
3. Payer PSP sends the notification to customer for customer confirmation of the payment.
4. Payer PSP sends RespAuthDetail to UPI.
With all the Payer and Payee details obtained, UPI sends request to NPCI FRM adapter.
NPCI FRM sends response with the risk score which has breached the NPCI configured FRM
limit (FRM threshold value set for remitting bank)
5. UPI sends a RespPay with failure error code= "U16" to Payee PSP.
1. Payee initiates a Collect Request by entering the Virtual Address of the Payer .
2. UPI sends ReqAuthDetail to Payer PSP in order to resolve the address.
3. Payer PSP sends the notification to customer for customer confirmation of the payment.
4. Payer PSP sends RespAuthDetail to UPI.
5.UPI sends a ReqPay_Debit to remitter bank.
6. Remitting Bank debits the customer's account & sends RespPay_Debit to UPI
7. UPI sends a ReqPay_Credit to the Beneficiary Bank
8. Beneficiary Bank Credits the customer's account and responds successful credit by
sending RespPay_Credit to UPI.
9. UPI sends a RespPay with Success to Payee PSP
10
. UPI sends a ReqTxnConfirmation to Payer PSP with successful message.
11. Payer PSP sends a RespTxnConfirmation back to UPI.
12.Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI.
The CBS entry should reflect the correct amount. .

1. Payee initiates a Collect Request by entering the Virtual Address of the Payer .
2. UPI sends ReqAuthDetail to Payer PSP in order to resolve the address.
3. Payer PSP sends the notification to customer for customer confirmation of the payment.
4. Payer PSP sends RespAuthDetail to UPI.
With all the Payer and Payee details obtained, UPI sends request to NPCI FRM adapter.
NPCI FRM sends response with the risk score which is within the configured FRM limit.
(FRM threshold value set for remitting bank)
5.UPI sends a ReqPay_Debit to remitter bank.
6. Remitting Bank debits the customer's account & sends RespPay_Debit to UPI
7. UPI sends a ReqPay_Credit to the Beneficiary Bank
8. Beneficiary Bank Credits the customer's account and responds successful credit by
sending RespPay_Credit to UPI.
9. UPI sends a RespPay with Success to Payee PSP
10
. UPI sends a ReqTxnConfirmation to Payer PSP with successful message.
11. Payer PSP sends a RespTxnConfirmation back to UPI.
12.Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI.
The CBS entry should reflect the correct amount. .

1. Payer PSP initiates a Pay Request by entering the Virtual Address of the Payee
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail with Failure, error code ZH to UPI .
4. UPI sends a RespPay with Failure to Payer PSP error code tag :ZH
1. Payee initiates a Collect Request by entering the Virtual Address of the Payer .
2. UPI sends ReqAuthDetail to Payer PSP in order to resolve the address.
3. Payer PSP sends the notification to customer for customer confirmation of the payment.
4. Payee PSP sends RespAuthDetail to UPI.
5. UPI checks whether both the remitter bank and beneficiary bank is in processing mode, if
beneficiary bank state that node offline.
6. UPI sends failure message with error code- U78 in the final response leg to payee PSP.

1. Payee initiates a Collect Request by entering the Virtual Address of the Payer .
2. UPI sends ReqAuthDetail to Payer PSP for address resolution.
3. Payer PSP sends the notification to customer for customer confirmation of the
payment.
4. Payer PSP sends RespAuthDetail to UPI.
5.UPI sends a ReqPayDebit to remitter bank.
6. Remitting Bank debits the customer's account & sends RespPayDebit to UPI
7. UPI sends a ReqPayCredit to the Beneficiary Bank
8. Beneficiary Bank Credits the customer's account and responds successful credit
by sending RespPayCredit to UPI.
9. UPI sends a RespPay with Success to Payee PSP
10
. UPI sends a ReqTxnConfirmation to Payer PSP with successful message and
Payer PSP sends ACK.
11. Payer PSP sends a RespTxnConfirmation back to UPI.
12.Payer and Payee should initiate ReqBalEnq api to UPI and receive RespBalEnq
from UPI. The CBS entry should reflect the correct amount.

1. Payer PSP initiates a Pay Request by entering the Virtual Address of the Payee.
2. UPI sends ReqAuthDetail to Payee PSP for address resolution
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPayDebit to remitter bank.
5. Remitting Bank debits the customer's account & sends RespPayDebit to UPI
6. UPI sends a ReqPayCredit to the Beneficiary Bank
7. Beneficiary Bank Credits the customer's account and respond successful credit
by sending RespPayCredit to UPI.
8. UPI sends a RespPay with Success to Payer PSP and Payer PSP sends ACK as
expected.
9. UPI sends a ReqTxnConfirmation to Payee PSP with Successful message, while
Payee PSP sends ACK to UPI.
10
.Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq
from UPI. The CBS entry should reflect the correct amount. .
1. Payer PSP initiates a Pay Request by entering the Virtual Address of the Payee.
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPayDebit to remitter bank.
5. Remitting Bank debits the customer's account & sends RespPayDebit to UPI
6. UPI sends a ReqPayCredit to the Beneficiary Bank
7. Beneficiary Bank Credits the customer's account and respond successful credit
by sending RespPayCredit to UPI.
8. UPI sends a RespPay with Success to Payer PSP and Payer PSP sends ACK.
9. UPI sends a ReqTxnConfirmation to Payee PSP with Successful message and
Payee PSP responds with RespTxnConfirmation.
10
.Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq
from UPI. The CBS entry should reflect the correct amount. .

1. Payee PSP(Merchant) initiates a COLLECT Request by entering the Virtual


Address of the Payer; Merchant block is Mandatory in ReqPay for Payee.
2. UPI sends ReqAuthDetail to Payer PSP for address resolution.
3. Payer PSP sends RespAuthDetail to UPI with the resolved address.
4. UPI sends a ReqPayDebit to remitter bank.
5. Remitting Bank debits the customer's account & sends RespPayDebit to UPI.
6. UPI sends a ReqPayCredit to the Beneficiary Bank.
7. Beneficiary Bank Credits the Merchant's account and sends successful
RespPayCredit to UPI.
8. UPI sends a successful RespPay with Payee Merchant block as its Mandatory to
Payee PSP.
9. UPI sends a ReqTxnConfirmation to Payer PSP with Successful message.
10
.Payer and Payee should initiate ReqBalEnq api to UPI and receive RespBalEnq
from UPI. The CBS entry should reflect the correct amount.
NOTE : Payee PSP fails to send merchant block to UPI in case of payee is entity, then
the UPI will send negative Ack (PM0).
1. Payer PSP initiates a PAY Request by entering the Virtual Address of the
Payee(Entity)
2. UPI sends ReqAuthDetail to Payee PSP for address resolution
3. Payee PSP sends RespAuthDetail to UPI with Merchant block as Merchant block
is Mandatory.
4. UPI sends a ReqPayDebit to remitter bank.
5. Remitting Bank debits the customer's account & sends successful RespPayDebit
to UPI.
6. UPI sends a ReqPayCredit to the Beneficiary Bank.
7. Beneficiary Bank Credits the Merchant's account and sends successful
RespPayCredit to UPI.
8. UPI sends a RespPay with Success to Payer PSP.
9. UPI sends a ReqTxnConfirmation to Payee PSP with Successful message.
10
.Payer and Payee should initiate ReqBalEnq api to UPI and receive RespBalEnq
from UPI. The CBS entry should reflect the correct amount.
NOTE : Payee PSP fails to send merchant block to UPI in case of payee is merchant,
then the UPI will send negative Ack (PM0).

Payee PSP initiates a collect Request by entering the Virtual Address of the Payer
with initiation mode any value from 0
0
to 14; the same value used in initiation
mode needs to be forwarded with same value in the subsequent legs for that
transaction.
NOTE : Payee PSP fails to send Initiation mode to UPI, then the UPI will send
negative Ack.(IM0)

1. Payee initiates a Collect Request by entering the Virtual Address of the Payer
(UMN@psp)
2. UPI sends ReqAuthDetail to Payer PSP in order to resolve the address.
3. Payer PSP confirms the payment with mandate details.
4. Payer PSP sends RespAuthDetail to UPI.
With all the Payer and Payee details obtained, UPI sends request to NPCI FRM
adapter.
NPCI FRM sends response with the risk score which is within the configured FRM
limit. (FRM threshold value set for remitting bank)
5.UPI sends a ReqPayDebit to remitter bank.
6. Remitting Bank debits the customer's account with the mandate block & sends
RespPayDebit to UPI
7. UPI sends a ReqPayCredit to the Beneficiary Bank
8. Beneficiary Bank Credits the customer's account and responds successful credit
by sending RespPayCredit to UPI.
9. UPI sends a RespPay with Success to Payee PSP
10
. UPI sends a ReqTxnConfirmation to Payer PSP with successful message.
11. Payer PSP sends a RespTxnConfirmation back to UPI.
1. Payee initiates a Collect Request by entering the Virtual Address of the Payer
(UMN@psp)
2. UPI sends ReqAuthDetail to Payer PSP in order to resolve the address.
3. Payer PSP confirms the payment with wrong mandate details
4. Payer PSP sends RespAuthDetail to UPI.
With all the Payer and Payee details obtained.
5. Remitting Bank debits check the mandate block & sends failure RespPayDebit to
UPI responseCOde=VY
6. UPI sends a RespPay with failure to Payee PSP stating that "VY"
7. UPI sends a ReqTxnConfirmation to Payer PSP with failure message.
8. Payer PSP sends a RespTxnConfirmation back to UPI.

1. Payee initiates a Collect Request by entering the Virtual Address of the Payer
(UMN@psp).

Refer S.No.1 for other steps

NOTE: UPI declines with neagtaive ACK="T16" in case of UMN is not in 70


digit
format

1. Payee initiates a Collect Request by entering the VPA of Payer


2 UPI sends ReqAuthDetail to Payer PSP for address resolution.
3. Since Payer and Remitter are same it will be a Pre-approved transaction. Remitting Bank
debits the customer's account automatically and payer should send the response code as
"0
0
" & approval number in base 64 encrypted format in the RespAuthDetail
4. UPI sends ReqPayCredit to the Beneficiary Bank and Beneficiary Bank fails to send Ack
and response to upi.
5. UPI sends three ReqChkTxn requests to beneficiary bank after the timed out of 30
sec in
every 10
seconds interval as a reminder to complete the transaction. Beneficiary bank does
not respond.
6. UPI sends credit reversal to Beneficiary Bank. Beneficiary bank send response for reversal
to UPI system indicating that response code=CS - Credit successful.
7. UPI sends a RespPay with Success to Payee PSP with response code=BT & reversal
response code: CS Credit Successful
8. UPI sends a ReqTxnConfirmation to Payer PSP with Success message.
9. Payee PSP sends a RespTxnConfirmation back to UPI.

1.Payee PSP initiates a Collect Request by entering the Virtual Address of the Payer
along with Purpose of the txn by giving any value from 00 to 04, the same value
used in purpose needs to be forwarded with the subsequent legs for that
transaction.
NOTE : Payee PSP fails to send Purpose to UPI, then the UPI will send negative
Ack.

Refer Test ID PE_1 follow TEST STEPS S.No.2 for other steps
1.Payee PSP initiates a Collect Request by entering the Virtual Address of the Payer
along with Purpose of the txn by giving any value from 00 to 04, the same value
used in purpose needs to be forwarded with the subsequent legs for that
transaction.
NOTE : Payee PSP fails to send Purpose to UPI, then the UPI will send negative
Ack.(T14)

Refer Test ID PE_1 follow TEST STEPS S.No.2 for other steps

1. Payee PSP initiates a collect Request with merchantType=”SMALL|LARGE under


Merchant tag. by entering the Virtual Address of the Payer

Refer Test ID PE_1 follow TEST STEPS S.No.2 for other steps

1. Payee initiates a collect Request with the payee account type NRE|NRO|
CREDIT|PPIWALLET|BANKWALLET by entering the Virtual Address of the Payer's.
2. UPI sends ReqAuthDetail to Payer PSP in order to resolve the address.
3. Payer PSP sends the notification to customer for customer confirmation of the
payment.
4. Payer PSP sends RespAuthDetail to UPI.
5.UPI sends a ReqPay_Debit to remitter bank.
6. Remitting Bank debits the customer's account & sends RespPay_Debit to UPI
7. UPI sends a ReqPay_Credit to the Beneficiary Bank
8. Beneficiary Bank Credits the customer's account and responds successful credit
by sending RespPay_Credit to UPI.
9. UPI sends a RespPay with Success to Payee PSP
10
. UPI sends a ReqTxnConfirmation to Payer PSP with successful message.
11. Payer PSP sends a RespTxnConfirmation back to UPI.
12.Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq
from UPI. The CBS entry should reflect the correct amount. .

Refer S.No.1 for other steps

1. Payer PSP initiates a Pay Request by entering the Virtual Address of the payee
2. UPI forwards ReqAuthDetail to payee to resolve the address.
3. Payee psp sends the RespAuthDetail with the Beneficiary details of ACTYPE as
NRE

NOTE : Payer PSP send Initiation mode = "12" but Institution Block is not present
to UPI, then the UPI will send negative Ack (PI0).
Refer S.No.1 for other steps

1. Payer PSP initiates a Pay Request by entering the Virtual Address of the payee
2. UPI forwards ReqAuthDetail to payee to resolve the address.
3. Payee psp sends the RespAuthDetail with the Beneficiary details of ACTYPE as
SAVINGS|CURRENT|NRO

NOTE : Payer PSP send Initiation mode = "12" but Institution Block is not present
to UPI, then the UPI will send negative Ack (PI0).

1. Payee psp initiating a collect request with initiationMode=12, then UPI will
decline with negative ACK="IM1" stating that FIR transactions are not applicable
for collect

Refer S.No.1 for other steps

1. Payer PSP initiates a Pay Request by entering the Virtual Address of the payee
2. UPI forwards ReqAuthDetail to payee to resolve the address.
3. Payee psp sends the RespAuthDetail with the Beneficiary details of ACTYPE as
NRE

NOTE : Payer PSP send Initiation mode = "12" but Institution Block is not present
to UPI, then the UPI will send negative Ack (PI0).

1. Payee initiates a Collect Request by entering the Virtual Address of the Payer .
2. UPI sends ReqAuthDetail to Payer PSP in order to resolve the address.
3. Payer PSP sends the notification to customer for customer confirmation of the
payment.
4. Payer PSP sends RespAuthDetail to UPI.
5.UPI sends a ReqPayDebit to remitter bank.
6. Remitting Bank debits the customer's account & sends RespPay_Debit to UPI
7. UPI sends a ReqPayCredit to the Beneficiary Bank
8. Beneficiary Bank Credits the customer's account and responds successful credit
by sending RespPayCredit to UPI.
9. UPI sends a RespPay with Success to Payee PSP
10
. UPI sends a ReqTxnConfirmation to Payer PSP with successful message and
Payer PSP sends ACK.
11. Payer PSP sends a RespTxnConfirmation back to UPI.
12.Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq
from UPI. The CBS entry should reflect the correct amount. .
1. Payee PSP initiates a collect request by entering the Virtual Address of the Payer
with mandatory fields related to UPI2.0

1. Payee PSP initiates a collect Request as ver 1.0


by entering the Virtual Address of
the Payer.
2. UPI will validate the version of payer psp and sends ReqAuthDetail to Payer PSP
with ver 1.0
in order to resolve the address
3. Payer PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPayDebit to remitter bank.
5. Remitting Bank debits the customer's account & sends RespPay_Debit to UPI
6. UPI sends a ReqPayCredit to the Beneficiary Bank
7. Beneficiary Bank Credits the customer's account and respond successful credit
by sending RespPayCredit to UPI.
8. UPI sends a RespPay with Success to Payee PSP and Payee PSP sends ACK.
9. UPI sends a ReqTxnConfirmation to Payer PSP with Successful message.
10
.Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq
from UPI. The CBS entry should reflect the correct amount. .

1. Payee PSP initiates a collect Request in 1.0


by entering the Virtual Address of the
Payer.
2. UPI sends ReqAuthDetail in 1.0
to Payer PSP in order to resolve the address
3. Payer PSP sends RespAuthDetail in 1.0
to UPI
4. UPI sends a ReqPayDebit in 1.0
to remitter bank.
5. Remitting Bank debits the customer's account & sends RespPay_Debit in 1.0
to
UPI
6. UPI sends a ReqPayCredit in 1.0
to Beneficiary Bank
7. Beneficiary Bank Credits the customer's account and respond successful credit
by sending RespPayCredit in 1.0
to UPI.
8. UPI sends a RespPay in 1.0
with Success to Payee PSP and Payee PSP sends ACK.
9. UPI sends a ReqTxnConfirmation in 1.0
to Payer PSP and payer PSP send
RespTxnConfirmation with successful message.
1. Payee PSP initiates a collect Request in 1.0
by entering the Virtual Address of the
Payer.
2. UPI sends ReqAuthDetail in 1.0
to Payer PSP in order to resolve the address
3. Payer PSP and remitter bank are same (pre-approved). So, remitter bank debits
the customer automatically and sends RespAuthDetail in 1.0
to UPI
4. UPI sends a ReqPayCredit in 1.0
to Beneficiary Bank
5. Beneficiary Bank Credits the customer's account and respond successful credit
by sending RespPayCredit in 1.0
to UPI.
6. UPI sends a RespPay in 1.0
with Success to Payee PSP and Payee PSP sends ACK.
7. UPI sends a ReqTxnConfirmation in 1.0
to Payer PSP and payer PSP send
RespTxnConfirmation with successful message.

1. Payee PSP initiates a collect Request in 2.0


by entering the Virtual Address of the
Payer.
2. UPI sends ReqAuthDetail in 2.0
to Payer PSP in order to resolve the address
3. Payer PSP sends RespAuthDetail in 2.0
to UPI
4. UPI sends a ReqPayDebit in 2.0
to remitter bank.
5. Remitting Bank debits the customer's account & sends RespPay_Debit in 2.0
to
UPI
6. UPI sends a ReqPayCredit in 2.0
to Beneficiary Bank
7. Beneficiary Bank Credits the customer's account and respond successful credit
by sending RespPayCredit in 2.0
to UPI.
8. UPI sends a RespPay in 2.0
with Success to Payee PSP and Payee PSP sends ACK.
9. UPI sends a ReqTxnConfirmation in 2.0
to Payer PSP and payer PSP send
RespTxnConfirmation in 2.0
with successful message.

1. Payee PSP initiates a collect Request in 2.0


by entering the Virtual Address of the
Payer.
2. UPI checks payer version and downgrade ReqAuthDetail in 1.0
to Payer PSP in
order to resolve the address
3. Payer PSP sends RespAuthDetail in 1.0
to UPI
4. UPI sends a ReqPayDebit in 1.0
to remitter bank.
5. Remitting Bank debits the customer's account & sends RespPay_Debit in 1.0
to
UPI
6. UPI sends a ReqPayCredit in 1.0
to Beneficiary Bank
7. Beneficiary Bank Credits the customer's account and respond successful credit
by sending RespPayCredit in 1.0
to UPI.
8. UPI sends a RespPay in 1.0
with Success to Payee PSP and Payee PSP sends ACK
in 1.0
.
9. UPI sends a ReqTxnConfirmation in 1.0
to Payer PSP with Successful message.
10
. Payer PSP sends RespTxnConfirmation in 1.0
with successful message.
1. Payer PSP initiates a Pay Request with ver1.0
by entering the Virtual Address of
the Payee.
2. UPI sends ReqAuthDetail to Payee PSP ver 1.0
in order to resolve the address
3. Payee PSP should sends the ACK & RespAuthDetail to UPI with ver 1.0

4. UPI sends a ReqPayDebit to remitter bank.


5. Remitting Bank debits the customer's account & sends RespPay_Debit to UPI
6. UPI sends a ReqPayCredit to the Beneficiary Bank
7. Beneficiary Bank Credits the customer's account and respond successful credit
by sending RespPayCredit to UPI.
8. UPI sends a RespPay with Success to Payer PSP and Payer PSP sends ACK.
9. UPI sends a ReqTxnConfirmation to Payee PSP with Successful message.
10
.Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq
from UPI. The CBS entry should reflect the correct amount. .

1. Payee initiates a Collect Request by entering the Virtual Address of the Payer
(UMN@psp)
2. UPI sends ReqAuthDetail to Payer PSP in order to resolve the address.
3. Payer PSP confirms the payment with mandate details.
4. Payer PSP sends RespAuthDetail to UPI.
With all the Payer and Payee details obtained, UPI sends request to NPCI FRM
adapter.
NPCI FRM sends response with the risk score which is within the configured FRM
limit. (FRM threshold value set for remitting bank)
5.UPI sends a ReqPayDebit to remitter bank.
6. Remitting Bank debits the customer's block amount & sends RespPayDebit to UPI
7. UPI sends a ReqPayCredit to the Beneficiary Bank
8. Beneficiary Bank Credits the customer's account and responds successful credit
by sending RespPayCredit to UPI.
9. UPI sends a RespPay with Success to Payee PSP
10
. UPI sends a ReqTxnConfirmation to Payer PSP with successful message.
11. Payer PSP sends a RespTxnConfirmation back to UPI.
1. Payee initiates a Collect Request by entering the Virtual Address of the Payer
(UMN@psp)
2. UPI sends ReqAuthDetail to Payer PSP in order to resolve the address.
3. Payer PSP confirms the payment with mandate details.
4. Payer PSP sends RespAuthDetail to UPI.
With all the Payer and Payee details obtained, UPI sends request to NPCI FRM
adapter.
NPCI FRM sends response with the risk score which is within the configured FRM
limit. (FRM threshold value set for remitting bank)
5.UPI sends a ReqPayDebit to remitter bank.
6. Remitting Bank debits the customer's block amount & sends RespPayDebit to UPI
7. UPI sends a ReqPayCredit to the Beneficiary Bank
8. Beneficiary Bank Credits the customer's account and responds successful credit
by sending RespPayCredit to UPI.
9. UPI sends a RespPay with Success to Payee PSP
10
. UPI sends a ReqTxnConfirmation to Payer PSP with successful message.
11. Payer PSP sends a RespTxnConfirmation back to UPI.

1. Payee initiates a Collect Request with account type=”"SOD|UOD"” by entering


the Virtual Address of the Payer.
2. UPI sends ReqAuthDetail to Payer PSP in order to resolve the address
3. Payer PSP sends RespAuthDetail to UPI with remitter bank account
type=SAVINGS
4. UPI sends a ReqPay_Debit to remitter bank.
5. Remitting Bank debits the customer's account & sends RespPay_Debit to UPI
6. UPI sends a ReqPay_Credit to the Beneficiary's Bank which account type is
"SOD|UOD"
7. Beneficiary's Bank Credits the customer's account and respond successful credit
by sending RespPay_Credit to UPI.
8. UPI sends a RespPay with Success to Payee PSP
9. UPI sends a ReqTxnConfirmation to Payer PSP with Successful message.
10
. Payer PSP sends a RespTxnConfirmation back to UPI.
11. Payer and payee's should initiate ReqBalEnq api to UPI and receive RespBalEnq
from UPI. The CBS entry should reflect the correct amount
1. Payee initiates a Collect Request with account type=”current & Payee
type=”ENTITY” by entering the Virtual Address of the Payer
2. UPI sends ReqAuthDetail to Payer PSP in order to resolve the address
3. Payer PSP responsibility to check the payer type and sends RespAuthDetail to
UPI with remitter bank account type="SOD|UOD"
4. UPI sends a ReqPay_Debit to remitter bank.
5. Remitting Bank debits the customer's account & sends RespPay_Debit to UPI
6. UPI sends a ReqPay_Credit to the Beneficiary Bank whose account type is
"CURRENT"
7. Beneficiary Bank Credits the customer's account and responds with successful
credit response by sending RespPay_Credit to UPI.
8. UPI sends a RespPay with Success to Payee PSP
9. UPI sends a ReqTxnConfirmation to Payer PSP with Successful message.
10
. Payer PSP sends a RespTxnConfirmation back to UPI.
11. Payer and Payee PSP's should initiate initiate ReqBalEnq api to UPI and receive
RespBalEnq from UPI. The CBS entry should reflect the correct amount

1. Payer initiates a pay request with remitter account type=”"SOD|UOD"” by


entering the Virtual Address of the Payee.
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP responsibility to check the beneficiary account type=""SOD|UOD""
and sends failure RespAuthDetail to UPI with errorCode=""
4. UPI sends a RespPay with failure to Payer PSP with errorCode=""
5. UPI sends a ReqTxnConfirmation to Payee PSP with failure message.
6. Payee PSP sends a RespTxnConfirmation back to UPI.
7. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq
from UPI. The CBS entry should reflect the correct amount
1. Payer initiates a pay request with account type=”"SOD|UOD"” by entering the
Virtual Address of the Payee.
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP responsibility to check the beneficiary account type="SAVINGS" and
sends failure RespAuthDetail to UPI with errorCode=""
4. UPI sends a RespPay with failure to Payer PSP with errorCode=""
5. UPI sends a ReqTxnConfirmation to Payee PSP with failure message.
6. Payee PSP sends a RespTxnConfirmation back to UPI.
7. Payer and payee's should initiate ReqBalEnq api to UPI and receive RespBalEnq
from UPI. The CBS entry should reflect the correct amount

1. Payee initiates a Collect Request by entering the Virtual Address of the Payee's.
2. UPI sends ReqAuthDetail to Payer PSP in order to resolve the address
3. Since Payer and Remitter are same it will be a Pre-approved transaction.
Remitting Bank debits the customer's account automatically and payer should send
the response code as "0
0
" & approval number in base 64 encrypted format in the
RespAuthDetail with remitter bank account type=SAVINGS
4. UPI sends a ReqPay_Credit to the Beneficiary's Bank which account type="SOD|
UOD"
5. Beneficiary's Bank Credits the customer's account and respond successful credit
by sending RespPay_Credit to UPI.
6. UPI sends a RespPay with Success to Payee PSP
7. UPI sends a ReqTxnConfirmation to Payer PSP with Successful message.
8. Payer PSP sends a RespTxnConfirmation back to UPI.
9. Payer and payee's should initiate ReqBalEnq api to UPI and receive RespBalEnq
from UPI. The CBS entry should reflect the correct amount
1. Payer initiates a pay request with account type=”"SOD|UOD"” by entering the
Virtual Address of the Payee.
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP responsibility to check the remitter account type="SOD|UOD" and
sends failure RespAuthDetail to UPI with errorCode=""
4. UPI sends a RespPay with failure to Payer PSP with errorCode=""
5. UPI sends a ReqTxnConfirmation to Payee PSP with failure message.
6. Payee PSP sends a RespTxnConfirmation back to UPI.
7. Payer and payee's should initiate ReqBalEnq api to UPI and receive RespBalEnq
from UPI. The CBS entry should reflect the correct amount
S.NO TEST ID DETAILS PSP as

API Invovled : ReqPay_Debit


RespPay_Debit
Type: Debit
1 RE_1 Approval Type: Non-Pre Approved Remitter
Payer Handle : VPA
Payee Handle : VPA

RE_2
RE_3
RE_5

API Invovled : ReqPay_Debit


RespPay_Debit
Type: Reversal
3 RE_6 Approval Type: Non-Pre Approved Remitter
Payer Handle : VPA
Payee Handle : VPA

API Invovled : ReqPay_Debit


RespPay_Debit
Type: Reversal
4 RE_7 Approval Type: Non-Pre Approved Remitter
Payer Handle : VPA
Payee Handle : VPA

RE_8 Te

API Invovled : ReqPay_Debit


RespPay_Debit
Type: Debit
5 RE_9 Approval Type: Non-Pre Approved Remitter
Payer Handle : VPA
Payee Handle : VPA
API Invovled : ReqPay_Debit
RespPay_Debit
Type: Debit
6 RE_10
Approval Type: Non-Pre Approved Remitter
Payer Handle : VPA
Payee Handle : VPA

API Invovled : ReqPay_Debit


RespPay_Debit
Type: Debit
7 RE_11 Approval Type: Non-Pre Approved Remitter
Payer Handle : VPA
Payee Handle : VPA

API Invovled : ReqPay_Debit


RespPay_Debit
Type: Debit
8 RE_12 Approval Type: Non-Pre Approved Remitter
Payer Handle : VPA
Payee Handle : VPA

API Invovled : ReqPay_Debit


RespPay_Debit
Type: Debit
9 RE_13 Approval Type: Non-Pre Approved Remitter
Payer Handle : VPA
Payee Handle : VPA
API Invovled : ReqPay_Debit
RespPay_Debit
Type: Debit
10
RE_14 Approval Type: Non-Pre Approved Remitter
Payer Handle : VPA
Payee Handle : VPA

RE_15
RE_16
RE_17 Te
RE_18

API Invovled : ReqPay_Debit


RespPay_Debit
Type: Debit
11 RE_19 Approval Type: Non-Pre Approved Remitter
Payer Handle : VPA
Payee Handle : VPA

API Invovled : ReqPay_Debit


RespPay_Debit
Type: Debit
12 RE_20
Approval Type: Non-Pre Approved Remitter
Payer Handle : VPA
Payee Handle : VPA

API Invovled : ReqPay_Debit


RespPay_Debit
Type: Debit
13 RE_21 Approval Type: Non-Pre Approved Remitter
Payer Handle : VPA
Payee Handle : VPA
API Invovled : ReqPay_Debit
RespPay_Debit
Type: Reversal
14 RE_22 Approval Type: Non-Pre Approved Remitter
Payer Handle : VPA
Payee Handle : VPA

RE_23 Te

API Invovled : ReqPay_Debit


RespPay_Debit
Type: Reversal
15 RE_24 Approval Type: Non-Pre Approved Remitter
Payer Handle : VPA
Payee Handle : VPA

API Invovled : ReqPay_Debit


RespPay_Debit
Type: Reversal
16 RE_25 Approval Type: Non-Pre Approved Remitter
Payer Handle : VPA
Payee Handle : VPA
API Invovled : ReqPay_Debit
RespPay_Debit
Type: Reversal
17 RE_26 Approval Type: Non-Pre Approved Remitter
Payer Handle : VPA
Payee Handle : VPA

API Invovled : ReqPay_Debit


RespPay_Debit
Type: Reversal
18 RE_27 Approval Type: Non-Pre Approved Remitter
Payer Handle : VPA
Payee Handle : VPA

API Invovled : ReqPay_Debit


RespPay_Debit
Type: Reversal
19 RE_28 Approval Type: Non-Pre Approved Remitter
Payer Handle : VPA
Payee Handle : VPA

API Invovled : ReqPay_Debit


RespPay_Debit
Type: Reversal
20
RE_29 Approval Type: Non-Pre Approved Remitter
Payer Handle : VPA
Payee Handle : VPA
API Invovled : ReqPay_Debit
RespPay_Debit
Type: Reversal
21 RE_30
Approval Type: Non-Pre Approved Remitter
Payer Handle : VPA
Payee Handle : VPA

API Invovled : ReqPay_Debit


RespPay_Debit
Type: Reversal
22 RE_31 Approval Type: Non-Pre Approved Remitter
Payer Handle : VPA
Payee Handle : VPA

API Invovled : ReqPay_Debit


RespPay_Debit
Type: Debit
23 RE_32 Approval Type: Non-Pre Approved Remitter
Payer Handle : VPA
Payee Handle : VPA
API Invovled : ReqPay_Debit
RespPay_Debit
Type: Reversal
24 RE_33 Approval Type: Non-Pre Approved Remitter
Payer Handle : VPA
Payee Handle : VPA

API Invovled : ReqPay_Debit


RespPay_Debit
Type: Reversal
25 RE_34 Approval Type: Non-Pre Approved Remitter
Payer Handle : VPA
Payee Handle : VPA

RespPay API Involved : ReqPay


RespPay
Type : Remitter
26 RE_35 Remitter
Approval Type : Non Pre-Approved
Payer Handle : VPA
Payee Handle : VPA
RespPay API Involved : ReqPay
RespPay
Type : Remitter
27 RE_36 Remitter
Approval Type : Non Pre-Approved
Payer Handle : VPA
Payee Handle : VPA

RespPay API Involved : ReqPay


RespPay
Type : Remitter
28 RE_37 Remitter
Approval Type : Non Pre-Approved
Payer Handle : VPA
Payee Handle : VPA

RespPay API Involved : ReqPay


RespPay
Type : Remitter
29 RE_38 Remitter
Approval Type : Non Pre-Approved
Payer Handle : VPA
Payee Handle : VPA

30
API Involved: ReqPayDebit, RespPayDebit
Type : Pay
Approval Type: Non Pre-Approved
Payer Handle: PSP
RE_39 Payee Handle : PSP Remitter
31

API Involved : ReqPayDebit


RespPayDebit
Type: Debit
RE_40
Approval Type: Non-Pre Approved
Payer Handle : VPA
Payee Handle : VPA

Remitter
32

API Involved : ReqPayDebit


RespPayDebit
Type: Debit
RE_41 Approval Type: Non-Pre Approved
Payer Handle : VPA
Payee Handle : VPA

Remitter
33

API Involved : ReqPayDebit


RespPayDebit
Type: Debit
RE_42 Approval Type: Non-Pre Approved
Payer Handle : VPA
Payee Handle : VPA

Remitter
34

API Involved : ReqPayDebit


RespPayDebit
Type: Debit
RE_43 Approval Type: Non-Pre Approved
Payer Handle : VPA
Payee Handle : VPA

Remitter
35

API Involved : ReqPayDebit


RespPayDebit
Type: Debit
RE_44 Approval Type: Non-Pre Approved
Payer Handle : VPA
Payee Handle : VPA

Remitter
36

API Involved : ReqPayDebit


RespPayDebit
Type: Debit
RE_45 Approval Type: Non-Pre Approved
Payer Handle : VPA
Payee Handle : VPA

Remitter
37

API Involved : ReqPayDebit


RespPayDebit
Type: Debit
RE_46 Approval Type: Non-Pre Approved
Payer Handle : VPA
Payee Handle : VPA

Remitter
38

API Involved : ReqPayDebit


RespPayDebit
Type: Debit
RE_47 Approval Type: Non-Pre Approved
Payer Handle : VPA
Payee Handle : VPA

Remitter
39

API Involved : ReqPayDebit


RespPayDebit
Type: Debit
RE_48 Approval Type: Non-Pre Approved
Payer Handle : VPA
Payee Handle : VPA

Remitter
40

API Involved : ReqPayDebit


RespPayDebit
Type: Debit
RE_49 Approval Type: Non-Pre Approved
Payer Handle : VPA
Payee Handle : VPA

Remitter
41

API Involved : ReqPayDebit


RespPayDebit
Type: Debit
RE_50
Approval Type: Non-Pre Approved
Payer Handle : VPA
Payee Handle : VPA

Remitter
42

API Involved : ReqPayDebit


RespPayDebit
Type: Debit
RE_51 Approval Type: Non-Pre Approved
Payer Handle : VPA
Payee Handle : VPA

Remitter
43

API Involved : ReqPayDebit


RespPayDebit
Type: Debit
RE_52 Approval Type: Non-Pre Approved
Payer Handle : VPA
Payee Handle : VPA

Remitter
44

API Involved : ReqPayDebit


RespPayDebit
Type: Debit
RE_53 Approval Type: Non-Pre Approved
Payer Handle : VPA
Payee Handle : VPA

Remitter
45
API Involved : ReqPayDebit
RespPayDebit
Type: Debit
RE_54 Approval Type: Non-Pre Approved Remitter
Payer Handle : VPA
Payee Handle : VPA

46
API Involved : ReqPayDebit
RespPayDebit
Type: Debit
RE_55 Approval Type: Non-Pre Approved Remitter
Payer Handle : VPA
Payee Handle : VPA
47

API Involved : ReqPayDebit


RespPayDebit
Type: Reversal
RE_56 Approval Type: Non-Pre Approved
Payer Handle : VPA
Payee Handle : VPA

Remitter

API Involved : ReqPayDebit


RespPayDebit
Type: Debit
48 RE_57 Approval Type: Non-Pre Approved
Payer Handle : VPA
Payee Handle : VPA

Remitter

API Involved: ReqPayDebit, RespPay_Debit


Type : Pay
RE_58 Approval Type: Non Pre-Approved
49 Remitter
Payer Handle: PSP
Payee Handle : PSP
API Involved: ReqPay
RespPay
Type : Pay
Approval Type : Non Pre-Approved
Payer Handle : VPA
Payee Handle : VPA

50
RE_59 Remitter

API Involved: ReqPay


RespPay
Type : Pay
Approval Type : Non Pre-Approved
Payer Handle : VPA
Payee Handle : VPA

51 RE_60
Remitter

API Involved : ReqPayDebit


RespPay_Debit
Type: Reversal
Approval Type: Non-Pre Approved
Payer Handle : VPA
Payee Handle : VPA

52 RE_61 Remitter
API Involved : ReqPayDebit
RespPayDebit
Type: Debit
53 RE_62 Approval Type: Non-Pre Approved Remitter
Payer Handle : VPA
Payee Handle : VPA

API Involved : ReqPayDebit


RespPayDebit
Type: Debit
54 RE_63 Approval Type: Non-Pre Approved Remitter
Payer Handle : VPA
Payee Handle : VPA

API Involved : ReqPayDebit


RespPayDebit
Type: Debit
55 RE_64 Approval Type: Non-Pre Approved Remitter
Payer Handle : VPA
Payee Handle : VPA

API Involved : ReqPayDebit


RespPayDebit
Type: Debit
56 RE_65 Approval Type: Non-Pre Approved Remitter
Payer Handle : VPA
Payee Handle : VPA
API Involved : ReqPayDebit
RespPayDebit
Type: Debit
57 RE_66 Approval Type: Non-Pre Approved Remitter
Payer Handle : VPA
Payee Handle : VPA

API Involved : ReqPayDebit


RespPayDebit
Type: Debit
58 RE_67 Approval Type: Non-Pre Approved Remitter
Payer Handle : VPA
Payee Handle : VPA

API Involved : ReqPayDebit


RespPayDebit
Type: Debit
59 RE_68 Approval Type: Non-Pre Approved Remitter
Payer Handle : VPA
Payee Handle : VPA

API Involved : ReqPayDebit


RespPayDebit
Type: Debit
60
RE_69 Approval Type: Non-Pre Approved Remitter
Payer Handle : VPA
Payee Handle : VPA
API Involved : ReqPayDebit
RespPayDebit
Type: Debit
61 RE_70
Approval Type: Non-Pre Approved Remitter
Payer Handle : VPA
Payee Handle : VPA

API Involved : ReqPayDebit


RespPayDebit
Type: Debit
62 RE_71 Approval Type: Non-Pre Approved Remitter
Payer Handle : VPA
Payee Handle : VPA

API Invovled : ReqPay_Debit


RespPay_Debit
Type: Debit
63 RE_72 Approval Type: Non-Pre Approved Remitter
Payer Handle : VPA
Payee Handle : VPA

API Invovled : ReqPay_Debit


RespPay_Debit
Type: Reversal
64 RE_73 Approval Type: Non-Pre Approved Remitter
Payer Handle : VPA
Payee Handle : VPA
API Invovled : ReqPay_Debit
RespPay_Debit
Type: Reversal
65 RE_74 Approval Type: Non-Pre Approved Remitter
Payer Handle : VPA
Payee Handle : VPA

API Involved : ReqPayDebit


RespPayDebit
Type : Reversal
Approval Type : Non-Pre Approved Beneficiar
Payer Handle : VPA y
Payee Handle : VPA
HOME
TEST DESCRIPTION TXN INITIATED BY STATUS

A Pay Scenario where Payer is using Acc No + IFSC & NPCI Success
Payee is VPA

Test case removed


Test case removed
Test case removed

Timeout at Remitter end NPCI Failure

Response code:XY NPCI Failure


Remitter CBS offline

Test case moved from mandatory to extra

RespCode:Z9
INSUFFICIENT FUNDS IN CUSTOMER (REMITTER) NPCI Failure
ACCOUNT
RespCode : ZM NPCI Failure
INVALID UPI PIN

Respcode: Z8
EXCEEDS TRANSACTION AMOUNT LIMIT BY REMITTER NPCI Failure
BANK

Respcode: Z7 NPCI Failure


EXCEEDS TRANSACTION FREQUENCY LIMIT

Respcode: Z6 NPCI Failure


NUMBER OF PIN TRIES EXCEEDED, DECLINE
Respcode: XB
INVALID TRANSACTION OR IF MEMBER IS NOT ABLE TO NPCI Failure
FIND ANY APPROPRIATE RESP CODE

Test case removed


Test case removed
Test case moved from mandatory to extra
Test case removed

Respcode: YE NPCI Failure


REMITTING ACCOUNT BLOCKED/FROZEN

Respcode: K1
SUSPECTED FRAUD, DECLINE / TRANSACTIONS DECLINED NPCI Failure
BASED ON RISK SCORE BY REMITTER

Respcode: ZX NPCI Failure


INACTIVE OR DORMANT ACCOUNT
1.Debit failure.
2. ChkTxn timeout NPCI Failure
3. Reversal timeout
(UPI reversal response code:RR)

Test case moved from mandatory to extra

Validating failure Response for anyone of the NPCI Failure


ReqChkTxnStatus

Validating success Response for anyone of the NPCI Success


ReqChkTxnStatus
Mismatch in Response code & error code sent by the Failure
remitting bank NPCI
Response code: E0
4

Failure
UPI PIN not set by customer -AM NPCI

Registered mobile number linked to the account has Failure


NPCI
been changed/removed-B1

Failure
Transaction not permitted to the account-B3 NPCI
A pay scenario ,NPCI send ReqPay_debit with the value
of risk score.
Risk score value"995" in case of 20
0
response NPCI Success
(FRM signed off)

Bank should process the request .

A pay scenario ,NPCI send ReqPay_debit with the value


of risk score.
Risk score value"999" NPCI Success
(FRM default risk score)

Bank should process the request .

A Pay Scenario where Payer is using Acc No + IFSC &


Payee is VPA NPCI Failure
Note: only applicable for Web Collect
when a transaction is timed out in debit leg and reversal
request is generated on remitter bank then bank can NPCI Failure
decline the reversal request with 'ND' if debit not done
to the customer account.

when a transaction is timed out in debit leg and reversal


request is generated on remitter bank then bank can NPCI Failure
decline the reversal request with 'OD' - the orginal debit
request is not found

A Pay scenario where Payer is using VPA with remitter


details as A/C + IFSC & Payee is using VPA.

Bank should accept the failure Ack (E15 - Invalid NPCI Failure
response code for this API) from NPCI due to wrong
reversal response code from Remitter bank in the final
RespPay leg (error code -U31)
NOTE: This case is not applicable in multiple payee.
A Pay scenario where Payer is using VPA with remitter
details as A/C + IFSC & Payee is using VPA.

Bank should accept the failure Ack (E15 - Invalid NPCI Failure
response code for this API) from NPCI due to wrong
reversal response code from Remotter bank in the final
RespPay leg (error code -U31)
NOTE: This case is not applicable in multiple payee.

A Pay scenario where Payer is using VPA with remitter


details as A/C + IFSC & Payee is using VPA.

Bank should send the Failure RespChkTxn with


respcode=NO , result=FAILURE, errcode=NO,
settamount=0
.0
0
, settCurrency=INR and other fields NPCI Failure
should be passed with NULL value inside the ref tag
( <Ref addr="" approvalNum="" respCode="NO"
seqNum=""
settAmount="0
.0
0
" settCurrency="INR" type=""/> )
NOTE: This case is not applicable in multiple payee.

A Pay scenario where Payer is using VPA with remitter


details as A/C + IFSC & Payee is using VPA.

Bank should send the Failure RespChkTxn with


"respcoe=XY", result=FAILURE, errcode=XY, NPCI Failure
settamount=0
.0
0
, settCurrency=INR and other fields
should pass as null value inside the ref tag ( <Ref addr=""
approvalNum="" respCode="XY" seqNum=""
settAmount="0
.0
0
" settCurrency="INR" type=""/> )
NOTE: This case is not applicable in multiple payee.

Remitter bank should accept the subType "PAY" in NPCI Success


the ReqPayDebit/Reversal. Remitter bank sends the
RespPayDebit with subType "PAY"
A collect Scenario where Payer is using VPA & Payee
is VPA

The purpose of the case is to test remitter bank NPCI Success


should send the successful response for mandate

A collect Scenario where Payer is using VPA & Payee


is VPA
NPCI Failure
The purpose of the case, if the remitter bank is
time-out

Remitter bank sends failure responseCode="VA"


stating that Mandate has been revoked
NPCI Failure
Note: when payee wrongly initiates a request for a
revoked mandate
Remitter bank sends failure
responseCode="VZ"stating that Payment stopped
by attachment order NPCI Failure

Remitter bank sends failure responseCode="VO"


stating that Payment stopped by court order NPCI Failure

Remitter bank sends failure responseCode="VP"


stating that Withdrawal stopped owing to death of
account holder NPCI Failure

Remitter bank sends failure responseCode="VQ"


stating that Withdrawal stopped owing to
insolvency of account NPCI Failure
Remitter bank sends failure responseCode="VR"
stating that Withdrawal stopped owing to lunacy of
account hold NPCI Failure

Remitter bank sends failure responseCode="VS"


stating that Duplicate mandate request for same
item NPCI Failure

Remitter bank sends failure responseCode=" VH"


stating that Mandate Signature is tampered or
corrupt (issuer) NPCI Failure
Note - when the payee UMN in ReqAuthDetail API
is different from what has been saved by payer PSP.

Remitter bank sends failure responseCode=" VF "


stating that UMN does not exist
Note - when the payee initiated mandate UMN is NPCI Failure
different from what has been saved in payer PSP or
issuer bank
Remitter bank sends failure responseCode=" VI "
stating that Execution day and execution rule
mismatch
Note -Payer PSP declines the request as the NPCI Failure
execution of mandate is not as per mandate details.
when debit was 'ON/BEFORE' 15th but execution
was attempted on 17th. (before/after)

Remitter bank sends failure responseCode=" VJ "


stating that Payer Account has changed
Note - when the payer account resolved by payer NPCI Failure
PSP is different from what has been saved by issuer
bank. Payer has removed his account from PSP app.

Remitter bank sends failure responseCode=" VK "


stating that number of mandates allowed on this NPCI Failure
account has exceeded issuer's limit (Optional: As
per bank's policy)

When payee psp wants to collect a entire allocated


amount then the remitter bank should unblock the NPCI Success
entire consumed amount which is blocked from the
customer's account

Remitter bank should unblock the partial amount NPCI Success


which is blocked from the customer's account
No response for ReqPay_Debit
No Response for ReqChkTxn NPCI Failure
Reversal response code = CS

RespPay_Debit with responseCode=""CS" &


result="FAILURE" NPCI Failure
UPI declines with negative ACK="E13" (Ref respCode is
mandatory & alphanumeric )

Remitter bank should sends the acNum, IFSC &


code in the RespPay_Debit with subType "PAY|
COLLECT" NPCI Success
Note: "regName" field is mandatory in the
RespPay_Debit api
If the payer psp is live 1.0
and remitter bank is in ver
1.0
&2.0
. UPI sends ReqPayDebit in ver1.0
, then
remitter bank should sends ACK & RespPay_Debit
in ver 1.0

Note: If the remitter bank fails to sends a response


in the same version, UPI will decline with negative
ACK="UV2" stating version mismatch.
NPCI Success

If the payer psp is live 1.0


and remitter bank is in ver
1.0
&2.0
. UPI sends ReqPayDebit in ver1.0
, then
remitter bank should sends the same version in url
as well as in the xml

Note: If the remitter bank url and head version is


different, then UPI will decline with negative
ACK="UH1" stating that URL and header version is
different NPCI Success

If the payer psp is live 1.0


and remitter bank is in ver
1.0
&2.0
.
1. UPI sends ReqPayDebit in ver1.0
as well , then
remitter bank timeout.
2. UPI sends three check transaction request in ver
1.0
. remitter bank fails to response.
3. UPI sends the ReqPayDebitReversal also in ver
1.0
. remitter bank should sends the response in
ver1.0

Note: If the remitter bank url and head version is NPCI Failure
different iin RespPay_Reversals, then UPI will
decline with negative ACK="UH1" stating that URL
and header version is different
Remitter bank should decline with response
code="IC" stating that debit amount is not blocked NPCI Failure
for the customer

Remitter bank should unblock the entire blocked


amount against the customer account for NO
allotment automatically after the expiry NPCI Success

Remitter bank should decline with response


code="ID" stating that debit amount is greater than NPCI Failure
the blocked amount

Remitter bank should decline the txn stating that


Adequate funds not available in the account, NPCI Failure
beacause amount has been blocked for mandate.
Response code="IE"
Remitter bank should decline with response
code="IF" stating that debit is already done for the NPCI Failure
blocked amount

Remitter bank sends failure responseCode="VT"


stating that the mandate is paused NPCI Failure

Remitter bank sends failure responseCode=" VU"


stating that the mandate has expired NPCI Failure

Remitter bank sends failure responseCode=" XD"


stating that the mandate amount invalid NPCI Failure
Remitter bank sends failure responseCode=" VG"
stating that the mandate VPA mismatch
NPCI Failure
Note: If payee VPA incorrect , remitter should
decline"VY"

Remitter bank sends failure responseCode="VE "


stating that the mandate recurrence pattern= NPCI Failure
"ONETIME", mandate is already honoured

U85 cases

Connection Timeout at Remitter end

NOTE: Beneficiary bank has to make connection timeout NPCI Failure


for this scenario. Beneficiary bank not sent ACK &
RespPay_Credit. UPI directly decline with final RespPay
stating U85 Debit connection timeout

Timeout at Remitter end

Note: 1. No ACK for ReqPay_Debit


2. No response for check txn NPCI Failure
3. No ACK & Response for debit reversal

After final RespPay remitter bank sent RespPay_Debit,


UPI will decline with neagtive ACK U10
-Illegal operation
Timeout at Remitter end

Note: 1. No ACK for ReqPay_Debit


2. No response for debit
3. No response for check txn NPCI Failure
4. No ACK & Response for debit reversal

After final RespPay remitter bank sent RespPay_Debit,


UPI will decline with neagtive ACK U10
-Illegal operation

Connection timeout at Beneficiary end. Remitter bank NPCI Failure


should reverse the debit amount to customer's account
TEST STEPS
1. Payer PSP initiates a Pay Request by entering the Virtual Address of the Payee
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPay_Debit to remitter bank.
5. Remitting Bank debits the customer's account & sends RespPay_Debit to UPI
6. UPI sends a ReqPay_Credit to the Beneficiary Bank
7. Beneficiary Bank Credits the customer's account and respond successful credit by sending
RespPay_Credit to UPI.
8. UPI sends a RespPay with Success to Payer PSP
9. UPI sends a ReqTxnConfirmation to Payee PSP with Successfull message.
10
. Payee PSP sends a RespTxnConfirmation back to UPI.
11. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS
entry should reflect the correct amount. .

1. Payer initiates a Pay Request by entering the Virtual Address of the Payee
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPay_Debit to remitter bank.
5. Remitting Bank debits the customer's account & RespPay_Debit is not sent to UPI
6. UPI sends three ReqChkTxn requests to remitting bank after the timed out of 30
sec in every 10

seconds interval to REAPONSE WITH THE CORRECT STATUS . Remitting bank does not respond.
7. UPI sends a DEBIT reversal to Remitting BANK
8. Remitting BANK sends a RespPay REVERSAL with Success message.
9. UPI sends a RespPay with Failure to Payer PSP with error code - U67 and respcode UT
10
. UPI sends a ReqTxnConfirmation to Payee PSP with Failure message.
11. Payee PSP sends a RespTxnConfirmation back to UPI.
12. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS
entry should reflect the correct amount. .

1. Payer initiates a Pay Request by entering the Virtual Address of the Payee
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPay_Debit to remitter bank.
5. Remitting Bank declines the transaction and respond back to UPI.Response code - XY
6. UPI sends a ResPay with FAILURE to Payer PSP with error code- U30
.

y to extra
1. Payer initiates a Pay Request by entering the Virtual Address of the Payee .
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPay_Debit to remitter bank.
5. Remitter Bank declines the transcation with insufficient balance and responds back to UPI.
Response code-Z9
6. UPI sends a RespPay with FAILURE to Payer PSP with error code-U30

7. UPI sends a ReqTxnConfirmation to Payee PSP with FAILURE message.


8. Payee PSP sends a RespTxnConfirmation back to UPI.
9. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS
entry should reflect the correct amount. .
1. Payer initiates a Pay Request by entering the Virtual Address of the Payee
2.UPI sends ReqAuthDetail to Payee PSP in order to resolve the address.
3. Payee PSP sends RespAuthDetail to UPI.
4. UPI Sends ReqPay_Debit to Remitting Bank to authorize the UPI PIN and debit the account.
5. Remitting Bank declines the transaction with the Invalid UPI PIN response code. Response
code-"ZM".
6. UPI sends RespPay with Failure message to Payer PSP.
7. UPI sends a ReqTxnConfirmation to Payee PSP with failure message.
8. Payee's PSP sends a RespTxnConfirmation back to UPI.
9. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS
entry should reflect the correct amount. .

1. Payer initiates a Pay Request by entering the Virtual Address of the Payee .
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPay_Debit to remitter bank.
5. Remitter Bank declines the transcation with exceeds txn limit by remitter bank and responds back
to UPI. Response code-Z8
6. UPI sends a RespPay with FAILURE to Payer PSP with error code-U30

7. UPI sends a ReqTxnConfirmation to Payee PSP with FAILURE message.


8. Payee PSP sends a RespTxnConfirmation back to UPI.
9. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS
entry should reflect the correct amount. .

1. Payer initiates a Pay Request by entering the Virtual Address of the Payee .
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPay_Debit to remitter bank.
5. Remitter Bank declines the transcation stating that txn frequency limit exceeded and responds
back to UPI. Response code-Z7
6. UPI sends a RespPay with FAILURE to Payer PSP with error code-U30

7. UPI sends a ReqTxnConfirmation to Payee PSP with FAILURE message.


8. Payee PSP sends a RespTxnConfirmation back to UPI.
9. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS
entry should reflect the correct amount. .

1. Payer initiates a Pay Request by entering the Virtual Address of the Payee .
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPay_Debit to remitter bank.
5. Remitter Bank declines the transcation stating that pin tries exceeded and responds back to UPI.
Response code-Z6
6. UPI sends a RespPay with FAILURE to Payer PSP with error code-U30

7. UPI sends a ReqTxnConfirmation to Payee PSP with FAILURE message.


8. Payee PSP sends a RespTxnConfirmation back to UPI.
9. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS
entry should reflect the correct amount. .
1. Payer initiates a Pay Request by entering the Virtual Address of the Payee .
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPay_Debit to remitter bank.
5. Remitter Bank declines the transcation stating that no appropriate response code and responds
back to UPI. Response code-XB
6. UPI sends a RespPay with FAILURE to Payer PSP with error code-U30

7. UPI sends a ReqTxnConfirmation to Payee PSP with FAILURE message.


8. Payee PSP sends a RespTxnConfirmation back to UPI.
9. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS
entry should reflect the correct amount. .

y to extra

1. Payer initiates a Pay Request by entering the Virtual Address of the Payee .
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPay_Debit to remitter bank.
5. Remitter Bank declines the transcation with blocked account and responds back to UPI. Response
code- YE
6. UPI sends a RespPay with FAILURE to Payer PSP with error code-U30

7. UPI sends a ReqTxnConfirmation to Payee PSP with FAILURE message.


8. Payee PSP sends a RespTxnConfirmation back to UPI.
9. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS
entry should reflect the correct amount. .

1. Payer initiates a Pay Request by entering the Virtual Address of the Payee .
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPay_Debit to remitter bank.
5. Remitter Bank declines the transcation with high risk score suspected fraud and responds back to
UPI. Response code- K1
6. UPI sends a RespPay with FAILURE to Payer PSP with error code-U30

7. UPI sends a ReqTxnConfirmation to Payee PSP with FAILURE message.


8. Payee PSP sends a RespTxnConfirmation back to UPI.
9. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS
entry should reflect the correct amount. .

1. Payer initiates a Pay Request by entering the Virtual Address of the Payee .
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPay_Debit to remitter bank.
5. Remitter Bank declines the transcation stating that inacyive or dormant account and responds
back to UPI. Response code- ZX
6. UPI sends a RespPay with FAILURE to Payer PSP with error code-U30

7. UPI sends a ReqTxnConfirmation to Payee PSP with FAILURE message.


8. Payee PSP sends a RespTxnConfirmation back to UPI.
9. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS
entry should reflect the correct amount. .
1. Payer initiates a Pay Request by entering the Virtual Address of the Payee
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPay_Debit to remitter bank.
5. Remitting Bank debits the customer's account & RespPay_Debit is not sent to UPI
6. UPI sends three ReqChkTxn requests to remitting bank after the timed out of 30
sec in every 10

seconds interval as a reminder to complete the transaction. Remitting bank does not respond.
7. UPI sends a DEBIT reversal to Remitting BANK
8. Remitting Bank does not send reversal response to UPI system indicating that reversal also got
timeout.
9. UPI sends a RespPay with Failure to Payer PSP with error code - U67 and respcode- UT Reversal
response code:RR
10
. UPI sends a ReqTxnConfirmation to Payee PSP with Failure message.
11. Payee PSP sends a RespTxnConfirmation back to UPI.
12. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS
entry should reflect the correct amount. .

y to extra
1. Payer initiates a Pay Request by entering the Virtual Address of the Payee
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPay_Debit to remitter bank.
5. Remitting bank does not sent the RespPay_Debit to UPI
6. UPI sends three ReqChkTxn requests to remitting bank after the timed out of 30
sec in every 10

seconds interval to REAPONSE WITH THE CORRECT STATUS .


7. Remitting bank respond with RespChkTxnStatus as failure with response code :YE.
8. UPI sends a RespPay with Failure to Payer PSP with error code - U30
and respcode YE
9. UPI sends a ReqTxnConfirmation to Payee PSP with Failure message.
10
. Payee PSP sends a RespTxnConfirmation back to UPI.
11. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS
entry should reflect the correct amount. .

1. Payer initiates a Pay Request by entering the Virtual Address of the Payee
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPay_Debit to remitter bank.
5. Remitting Bank debits the customer's account & RespPay_Debit is not sent to UPI
6. UPI sends three ReqChkTxn requests to remitting bank after the timed out of 30
sec in every 10

seconds interval to REAPONSE WITH THE CORRECT STATUS .


7. Remitting bank respond with RespChkTxnStatus as Success.
8. UPI sends a ReqPay_Credit to the Beneficiary Bank
9. Beneficiary Bank Credits the customer's account and respond successful credit by sending
RespPay_Credit to UPI.
10
. UPI sends a RespPay with Success to Payer PSP
11. UPI sends a ReqTxnConfirmation to Payee PSP with Successfull message.
12. Payee PSP sends a RespTxnConfirmation back to UPI.
13. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS
entry should reflect the correct amount. .
1. Payer initiates a Pay Request by entering the Virtual Address of the Payee .
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPay_Debit to remitter bank.
5. Remitter Bank declines the transcation stating that dormant account and responds back to
UPI.Response code-ZX and error code - XI.
6. UPI throws error code E0
4 in the ack.
7. UPI
sends three ReqChkTxn requests to remitting bank after the timed out of 30
sec in every 10
seconds
interval as a reminder to complete the transaction. Remitting bank does not respond.
8. UPI sends a DEBIT reversal to Remitting BANK
9. Remitting Bank does not send reversal response to UPI system indicating that reversal also got
timeout.
10
. UPI sends a RespPay with Failure to Payer PSP with error code - U67 and respcode- UT Reversal
response code:RR
11. UPI sends a ReqTxnConfirmation to Payee PSP with Failure message.

1. Payer initiates a Pay Request by entering the Virtual Address of the Payee .
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPay_Debit to remitter bank.
5. Remitter Bank declines the transcation with UPI PIN not set by customer and responds back to
UPI. Response code- AM
6. UPI sends a RespPay with FAILURE to Payer PSP with error code-U30

7. UPI sends a ReqTxnConfirmation to Payee PSP with FAILURE message.


8. Payee PSP sends a RespTxnConfirmation back to UPI.
9. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS
entry should reflect the correct amount. .

1. Payer initiates a Pay Request by entering the Virtual Address of the Payee .
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPay_Debit to remitter bank.
5. Remitter Bank declines the transcation with Registered mobile number linked to the account has
been changed and responds back to UPI. Response code- B1
6. UPI sends a RespPay with FAILURE to Payer PSP with error code-U30

7. UPI sends a ReqTxnConfirmation to Payee PSP with FAILURE message.


8. Payee PSP sends a RespTxnConfirmation back to UPI.
9. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS
entry should reflect the correct amount. .

1. Payer initiates a Pay Request by entering the Virtual Address of the Payee .
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPay_Debit to remitter bank.
5. Remitter Bank declines the transcation with Transaction not permitted to the account and
responds back to UPI. Response code- B3
6. UPI sends a RespPay with FAILURE to Payer PSP with error code-U30

7. UPI sends a ReqTxnConfirmation to Payee PSP with FAILURE message.


8. Payee PSP sends a RespTxnConfirmation back to UPI.
9. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS
entry should reflect the correct amount. .
1. Payer initiates a Pay Request by entering the Virtual Address of the Payee .
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
With all payer /payee details obtained, UPI sends a request to FRM.
FRM system is shut down and no response is sent to UPI
4. UPI sends a ReqPay_Debit to remitter bank with FRM score '995'in the ScoreProvider tag.
5. UPI sends a ReqPay_Debit to remitter bank.
6. Remitting Bank debits the customer's account & sends RespPay_Debit to UPI
7. UPI sends a ReqPay_Credit to the Beneficiary Bank
8. Beneficiary Bank Credits the customer's account and respond successful credit by sending
RespPay_Credit to UPI.
9. UPI sends a RespPay with Success to Payer PSP
10
. UPI sends a ReqTxnConfirmation to Payee PSP with Successfull message.
11. Payee PSP sends a RespTxnConfirmation back to UPI.
12. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS
entry should reflect the correct amount. .

1. Payer initiates a Pay Request by entering the Virtual Address of the Payee .
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
With all payer /payee details obtained, UPI sends a request to FRM.
FRM system fails to send the response to UPI in time.
4. UPI sends a ReqPay_Debit to remitter bank with FRM score '999'in the ScoreProvider tag.
4. UPI sends a ReqPay_Debit to remitter bank.
5. UPI sends a ReqPay_Debit to remitter bank.
6. Remitting Bank debits the customer's account & sends RespPay_Debit to UPI
7. UPI sends a ReqPay_Credit to the Beneficiary Bank
8. Beneficiary Bank Credits the customer's account and respond successful credit by sending
RespPay_Credit to UPI.
9. UPI sends a RespPay with Success to Payer PSP
10
. UPI sends a ReqTxnConfirmation to Payee PSP with Successfull message.
11. Payee PSP sends a RespTxnConfirmation back to UPI.
12. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS
entry should reflect the correct amount. .

1. Payer PSP initiates a Pay Request by entering the Virtual Address of the Payee
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPay_Debit to remitter bank.
5. Remitting Bank debits the customer's account & sends negative ACK as debit not possible to UPI
6. UPI sends a RespPay with Failure to Payer PSP
7. UPI sends a ReqTxnConfirmation to Payee PSP with Failure message.
8. Payee PSP sends a RespTxnConfirmation back to UPI.
1. Payer initiates a Pay Request by entering the Virtual Address of the Payee
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPay_Debit to remitter bank and ACK sends synchronously.
5. Remitting Bank does not send the RespPay_debit to UPI
6. UPI sends three ReqChkTxn requests to remitting bank after the timed out of 30
sec in every 10

seconds interval to REAPONSE WITH THE CORRECT STATUS . Remitting bank does not respond to
ReqChkTxn.
7. UPI sends a DEBIT reversal to Remitting BANK
8. Remitting BANK sends a RespPay REVERSAL with failure message and response code:ND - debit not
done to the customer account.
9. UPI sends a RespPay with Failure to Payer PSP with error code - U67 and respcode UT and reversal
response code:ND
10
. UPI sends a ReqTxnConfirmation to Payee PSP with Failure message.
11. Payee PSP sends a RespTxnConfirmation back to UPI.
12. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS
entry should reflect the correct amount. .

1. Payer initiates a Pay Request by entering the Virtual Address of the Payee
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPay_Debit to remitter bank.
5. Remitter bank does not receive the original debit request from UPI. So, remitter bank does not
send ACK as well as response to UPI.
6.UPI sends three ReqChkTxn requests to remitting bank after the timed out of 30
sec in every 10

seconds interval to RESPONSE WITH THE CORRECT STATUS . Remitter bank does not respond to the
ReqChkTxn.
7. UPI sends a DEBIT reversal to Remitting BANK
8. Remitting BANK sends a RespPay REVERSAL with failure and response code:OD- the original debit
request is not found.
9. UPI sends a RespPay with Failure to Payer PSP with error code - U67 and respcode UT and reversal
response code:OD
10
. UPI sends a ReqTxnConfirmation to Payee PSP with Failure message.
11. Payee PSP sends a RespTxnConfirmation back to UPI.
12. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS
entry should reflect the correct amount. .

1. Payer initiates a Pay Request by entering the Virtual Address of the Payee customer.
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPay_Debit to remitter bank.
5. Remitting Bank debits the customer's account & sends RespPay_Debit to UPI
6. UPI sends ReqPay_Credit to the Beneficiary Bank .
7. Beneficiary bank send Response with failure response code : ZY
8. Upi initiates ReqPay_Debit_Reversal to Remitter bank and remitter bank responds with reversal
respcode : ND
9. Upi throws negative Ack error : E15 (Invalid response code for this API)
10
. UPI sends a RespPay with Failure to Payer PSP with payer reversal response code= RR and error
code: U31.
11. UPI sends a ReqTxnConfirmation to Payee PSP with Failure message.
12. Payee PSP sends a RespTxnConfirmation back to UPI.
13. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS
entry should reflect the correct amount. .
1. Payer initiates a Pay Request by entering the Virtual Address of the Payee customer.
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPay_Debit to remitter bank.
5. Remitting Bank debits the customer's account & sends RespPay_Debit to UPI
6. UPI sends ReqPay_Credit to the Beneficiary Bank .
7. Beneficiary bank send Response with failure response code : ZY
8. Upi initiates ReqPay_Debit_Reversal to Remitter bank and remitter bank responds with reversal
respcode : OD
9. Upi throws negative Ack error : E15 (Invalid response code for this API)
10
. UPI sends a RespPay with Failure to Payer PSP with payer reversal response code= RR and error
code: U31.
11. UPI sends a ReqTxnConfirmation to Payee PSP with Failure message.
12. Payee PSP sends a RespTxnConfirmation back to UPI.
13. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS
entry should reflect the correct amount. .

1. Payer initiates a Pay Request by entering the Virtual Address of the Payee
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPay_Debit to remitter bank.
5. Remitting Bank does not receive the original ReqPay_Debit message.
6. UPI sends three ReqChkTxn requests to remitting bank after the timed out of 30
sec in every 10

seconds interval to RESPONSE WITH THE CORRECT STATUS .


7. Remitting bank respond with RespChkTxnStatus as FAILURE with the "respcode=NO" stating that
'No original request found during debit/credit'
8. UPI sends a RespPay with Failure to Payer PSP
9. UPI sends a ReqTxnConfirmation to Payee PSP with FAILURE message.
10
. Payee PSP sends a RespTxnConfirmation back to UPI.
11. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS
entry should reflect the correct amount.

1. Payer initiates a Pay Request by entering the Virtual Address of the Payee
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPay_Debit to remitter bank
5. Remitting Bank does not receive the original ReqPay_Debit message
6. UPI sends three ReqChkTxn requests to remitting bank after the timed out of 30
sec in every 10

seconds interval to RESPONSE WITH THE CORRECT STATUS


7. Remitting bank respond with RespChkTxnStatus as FAILURE with the "respcode=XY" populated all
the ref tag value as NULL
8. UPI sends negative ACK to remitter bank.E0
8 and E0
9
9. UPI initiates debit reversal but Remitting Bank should not send any response.
9. UPI sends a RespPay with errCode=”U67” resp_code=”UT” and ReversalRespCode=”RR”
10
. UPI sends a ReqTxnConfirmation to Payee PSP with FAILURE message.
11. Payee PSP sends a RespTxnConfirmation back to UPI.
12. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS
entry should reflect the correct amount.

Refer S.No.1 for other steps

4. UPI sends a ReqPayDebit to remitter bank with SubType="PAY".


5. Remitter bank should send the response with subType="PAY" to UPI

NOTE : Remitter bank fails to send SubType is Pay to UPI, then the UPI will send negative
Ack(T13).
1. Payee initiates a Collect Request by entering the Virtual Address of the Payer (UMN@psp)
2. UPI sends ReqAuthDetail to Payer PSP in order to resolve the address.
3. Payer PSP confirms the payment with mandate details.
4. Payer PSP sends RespAuthDetail to UPI.
With all the Payer and Payee details obtained
5.UPI sends a ReqPayDebit to remitter bank.
6. Remitting Bank debits the customer's account which is blocked & sends successful
RespPayDebit to UPI
7. UPI sends a ReqPayCredit to the Beneficiary Bank
8. Beneficiary Bank Credits the customer's account and responds successful credit by
sending RespPayCredit to UPI.
9. UPI sends a RespPay with Success to Payee PSP
10
. UPI sends a ReqTxnConfirmation to Payer PSP with successful message.
11. Payer PSP sends a RespTxnConfirmation back to UPI.

1. Payee initiates a Collect Request by entering the Virtual Address of the Payer (UMN@psp)
2. UPI sends ReqAuthDetail to Payer PSP in order to resolve the address.
3. Payer PSP confirms the payment with mandate details.
4. Payer PSP sends RespAuthDetail to UPI with all the Payer and Payee details obtained
5. UPI sends a ReqPayDebit to remitter bank.
6. Remitting Bank fails to send RespPayDebit to UPI within a time period.
7. UPI sends three ReqChkTxn requests to remitting bank after the timed out of 30
sec in
every 10
seconds interval to REAPONSE WITH THE CORRECT STATUS . Remitting bank does
not respond.
8. UPI sends a DEBIT reversal to Remitting BANK
9. Remitting BANK sends a RespPay REVERSAL with Success message.
10
. UPI sends a RespPay with Failure to Payee PSP
11. UPI sends a ReqTxnConfirmation to Payer PSP with successful message.
12. Payer PSP sends a RespTxnConfirmation back to UPI.

Refer S.No.31 for other steps

5.UPI sends a ReqPayDebit to remitter bank.


6. Remitting Bank sends failure response to UPI stating that Mandate has been revoked &
sends failure RespPayDebit to UPI with response code="VA"
7. UPI sends a RespPay with failure to Payee PSP with responseCode="VA" errorCode="U30
"
8. UPI sends a ReqTxnConfirmation to Payer PSP with Failure message.
9. Payer PSP sends a RespTxnConfirmation back to UPI.
Refer S.No.31 for other steps

5.UPI sends a ReqPayDebit to remitter bank.


6. Remitting Bank sends failure response to UPI stating that Mandate has been revoked &
sends failure RespPayDebit to UPI with response code="VZ"
7. UPI sends a RespPay with failure to Payee PSP with responseCode="VZ"errorCode="U30
"
8. UPI sends a ReqTxnConfirmation to Payer PSP with Failure message.
9. Payer PSP sends a RespTxnConfirmation back to UPI.

Refer S.No.31 for other steps

5.UPI sends a ReqPayDebit to remitter bank.


6. Remitting Bank sends failure response to UPI stating that Mandate has been revoked &
sends failure RespPayDebit to UPI with response code="VO"
7. UPI sends a RespPay with failure to Payee PSP with responseCode="VO" errorCode="U30
"
8. UPI sends a ReqTxnConfirmation to Payer PSP with Failure message.
9. Payer PSP sends a RespTxnConfirmation back to UPI.

Refer S.No.31 for other steps

5.UPI sends a ReqPayDebit to remitter bank.


6. Remitting Bank sends failure response to UPI stating that Mandate has been revoked &
sends failure RespPayDebit to UPI with response code="VP"
7. UPI sends a RespPay with failure to Payee PSP with responseCode="VP" errorCode="U30
"
8. UPI sends a ReqTxnConfirmation to Payer PSP with Failure message.
9. Payer PSP sends a RespTxnConfirmation back to UPI.

Refer S.No.31 for other steps

5.UPI sends a ReqPayDebit to remitter bank.


6. Remitting Bank sends failure response to UPI stating that Mandate has been revoked &
sends failure RespPayDebit to UPI with response code="VQ"
7. UPI sends a RespPay with failure to Payee PSP with responseCode="VQ"
errorCode="U30
"
8. UPI sends a ReqTxnConfirmation to Payer PSP with Failure message.
9. Payer PSP sends a RespTxnConfirmation back to UPI.
Refer S.No.31 for other steps

5.UPI sends a ReqPayDebit to remitter bank.


6. Remitting Bank sends failure response to UPI stating that Mandate has been revoked &
sends failure RespPayDebit to UPI with response code="VR"
7. UPI sends a RespPay with failure to Payee PSP with responseCode="VR" errorCode="U30
"
8. UPI sends a ReqTxnConfirmation to Payer PSP with Failure message.
9. Payer PSP sends a RespTxnConfirmation back to UPI.

Refer S.No.31 for other steps

5.UPI sends a ReqPayDebit to remitter bank.


6. Remitting Bank sends failure response to UPI stating that Mandate has been revoked &
sends failure RespPayDebit to UPI with response code="VS"
7. UPI sends a RespPay with failure to Payee PSP with responseCode="VS" errorCode="U30
"
8. UPI sends a ReqTxnConfirmation to Payer PSP with Failure message.
9. Payer PSP sends a RespTxnConfirmation back to UPI.

Refer S.No.31 for other steps

5.UPI sends a ReqPayDebit to remitter bank.


6. Remitting Bank sends failure response to UPI stating that Mandate has been revoked &
sends failure RespPayDebit to UPI with response code="VH"
7. UPI sends a RespPay with failure to Payee PSP with responseCode="VH"
errorCode="U30
"
8. UPI sends a ReqTxnConfirmation to Payer PSP with Failure message.
9. Payer PSP sends a RespTxnConfirmation back to UPI.

Refer S.No.31 for other steps

5.UPI sends a ReqPayDebit to remitter bank.


6. Remitting Bank sends failure response to UPI stating that Mandate has been revoked &
sends failure RespPayDebit to UPI with response code="VF"
7. UPI sends a RespPay with failure to Payee PSP with responseCode="VF" errorCode="U30
"
8. UPI sends a ReqTxnConfirmation to Payer PSP with Failure message.
9. Payer PSP sends a RespTxnConfirmation back to UPI.
Refer S.No.31 for other steps

5.UPI sends a ReqPayDebit to remitter bank.


6. Remitting Bank sends failure response to UPI stating that Mandate has been revoked &
sends failure RespPayDebit to UPI with response code="VA"
7. UPI sends a RespPay with failure to Payee PSP with responseCode="VA" errorCode="U30
"
8. UPI sends a ReqTxnConfirmation to Payer PSP with Failure message.
9. Payer PSP sends a RespTxnConfirmation back to UPI.

Refer S.No.31 for other steps

5.UPI sends a ReqPayDebit to remitter bank.


6. Remitting Bank sends failure response to UPI stating that Mandate has been revoked &
sends failure RespPayDebit to UPI with response code="VJ"
7. UPI sends a RespPay with failure to Payee PSP with responseCode="VJ" errorCode="U30
"
8. UPI sends a ReqTxnConfirmation to Payer PSP with Failure message.
9. Payer PSP sends a RespTxnConfirmation back to UPI.

Refer S.No.31 for other steps

5.UPI sends a ReqPayDebit to remitter bank.


6. Remitting Bank sends failure response to UPI stating that Mandate has been revoked &
sends failure RespPayDebit to UPI with response code="VK"
7. UPI sends a RespPay with failure to Payee PSP with responseCode="VK" errorCode="U30
"
8. UPI sends a ReqTxnConfirmation to Payer PSP with Failure message.
9. Payer PSP sends a RespTxnConfirmation back to UPI.

Refer S.No.31 for other steps


5.UPI sends a ReqPayDebit to remitter bank.
6. Remitting Bank should unblock the entire amount which is blocked from the customer's
account and send the successful response to UPI.
Optional

Refer S.No.31 for other steps


5.UPI sends a ReqPayDebit to remitter bank.
6. Remitting Bank should unblock the partial amount which is blocked from the customer's
account and send the successful response to UPI.
Optional
1. Payer initiates a Pay Request by entering the Virtual Address of the Payee
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPayDebit to remitter bank.
5. Remitting Bank debits the customer's account &failed to send ack and response to UPI
6. UPI sends three ReqChkTxn requests to remitting bank after the timed out of 30
sec in every 10

seconds interval to REAPONSE WITH THE CORRECT STATUS . Remitting bank does not respond.
7. UPI sends a DEBIT reversal to Remitting BANK
8. .Remitting BANK sends a RespPay REVERSAL with Success message with response code=CS
UPI declines the response with negative Ack "E13 " stating that CS response code is only for credit
success not for debit reversal.
9. UPI sends a RespPay with Failure to Payer PSP with error code - U67 and respcode UT reversal
response =RR
10
. UPI sends a ReqTxnConfirmation to Payee PSP with Failure message.
11. Payee PSP sends a RespTxnConfirmation back to UPI.
12. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS
entry should reflect the correct amount. .

1. Payer initiates a Pay Request by entering the Virtual Address of the Payee
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPayDebit to remitter bank.
5. Remitting BANK sends a RespPay with Failure message with response code=CS and
Result="SUCCESS"
6. UPI declines the response with negative Ack "E13" stating that CS response code (Ref respCode is
mandatory & alphanumeric )
7. UPI sends three ReqChkTxn requests to remitting bank after the timed out of 30
sec in every 10

seconds interval to REAPONSE WITH THE CORRECT STATUS . Remitting bank does not respond.
8. UPI sends a DEBIT reversal to Remitting BANK
9. .Remitting BANK fails to sends a RespPay REVERSAL to UPI.
10
. UPI sends a RespPay with Failure to Payer PSP with error code - U67 and respcode UT reversal
response =RR
11. UPI sends a ReqTxnConfirmation to Payee PSP with Failure message.
12. Payee PSP sends a RespTxnConfirmation back to UPI.
13. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS
entry should reflect the correct amount. .

Refer S.No.1 for other steps

4. UPI sends a ReqPayDebit to remitter bank with SubType="PAY".


5. Remitter bank should send the response with acNum, IFSC, code & subType="PAY" to UPI

NOTE : Remitter bank fails to send acNum, IFSC & code then the UPI will send negative
Ack(E16, E17 & E18).
1. Payer PSP initiates a Pay Request by entering the Virtual Address of the Payee.
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPayDebit to remitter bank.
5. Remitting Bank debits the customer's account & sends RespPay_Debit to UPI
6. UPI sends a ReqPayCredit to the Beneficiary Bank
7. Beneficiary Bank Credits the customer's account and respond successful credit by sending
RespPayCredit to UPI.
8. UPI sends a RespPay with Success to Payer PSP and Payer PSP sends ACK.
9. UPI sends a ReqTxnConfirmation to Payee PSP with Successful message.
10
.Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI.
The CBS entry should reflect the correct amount. .

1. Payer PSP initiates a Pay Request by entering the Virtual Address of the Payee.
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPayDebit to remitter bank.
5. Remitting Bank debits the customer's account & sends RespPay_Debit to UPI
6. UPI sends a ReqPayCredit to the Beneficiary Bank
7. Beneficiary Bank Credits the customer's account and respond successful credit by sending
RespPayCredit to UPI.
8. UPI sends a RespPay with Success to Payer PSP and Payer PSP sends ACK.
9. UPI sends a ReqTxnConfirmation to Payee PSP with Successful message.
10
.Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI.
The CBS entry should reflect the correct amount. .

1. Payer initiates a Pay Request by entering the Virtual Address of the Payee
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPayDebit to remitter bank.
5. Remitting Bank debits the customer's account & RespPay_Debit is not sent to UPI
6. UPI sends three ReqChkTxn requests to remitting bank after the timed out of 30
sec in every 10

seconds interval to REAPONSE WITH THE CORRECT STATUS . Remitting bank does not respond.
7. UPI sends a DEBIT reversal to Remitting BANK
8. Remitting BANK sends a RespPay REVERSAL with Success message.
9. UPI sends a RespPay with Failure to Payer PSP with error code - U67 and respcode UT
10
. UPI sends a ReqTxnConfirmation to Payee PSP with Failure message.
11. Payee PSP sends a RespTxnConfirmation back to UPI.
12. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS
entry should reflect the correct amount. .
Refer S.No.31 for other steps

5.UPI sends a ReqPayDebit to remitter bank.


6. Remitting Bank sends failure response to UPI stating that Mandate has been revoked &
sends failure RespPayDebit to UPI with response code="IC"
7. UPI sends a RespPay with failure to Payee PSP with responseCode="IC" errorCode="U30
"
8. UPI sends a ReqTxnConfirmation to Payer PSP with Failure message.
9. Payer PSP sends a RespTxnConfirmation back to UPI.

Refer S.No.31 for other steps


5.UPI sends a ReqPayDebit to remitter bank.
6. Remitting Bank should unblock the entire amount which is blocked from the customer's
account and send the successful response to UPI.

Refer S.No.31 for other steps

5.UPI sends a ReqPayDebit to remitter bank.


6. Remitting Bank sends failure response to UPI stating that debit amount is greater than the
blocked amount & sends failure RespPayDebit to UPI with response code="ID"
7. UPI sends a RespPay with failure to Payee PSP with responseCode="ID" errorCode="U30
"
8. UPI sends a ReqTxnConfirmation to Payer PSP with Failure message.
9. Payer PSP sends a RespTxnConfirmation back to UPI.

Refer S.No.31 for other steps


5.UPI sends a ReqPayDebit to remitter bank.
6. Remitting Bank sends failure response to UPI stating that debit amount is greater than the
blocked amount & sends failure RespPayDebit to UPI with response code="IE"
7. UPI sends a RespPay with failure to Payee PSP with responseCode="IE" errorCode="U30
"
8. UPI sends a ReqTxnConfirmation to Payer PSP with Failure message.
9. Payer PSP sends a RespTxnConfirmation back to UPI.
Refer S.No.31 for other steps

5.UPI sends a ReqPayDebit to remitter bank.


6. Remitting Bank sends failure response to UPI stating that debit is already done for the
blocked amount & sends failure RespPayDebit to UPI with response code="IF"
7. UPI sends a RespPay with failure to Payee PSP with responseCode="IF" errorCode="U30
"
8. UPI sends a ReqTxnConfirmation to Payer PSP with Failure message.
9. Payer PSP sends a RespTxnConfirmation back to UPI.

Refer S.No.31 for other steps optional

5.UPI sends a ReqPayDebit to remitter bank.


6. Remitting Bank sends failure response to UPI stating that Mandate has been revoked &
sends failure RespPayDebit to UPI with responseCode="VT"
7. UPI sends a RespPay with failure to Payee PSP with responseCode="VT" errorCode="U30
"
8. UPI sends a ReqTxnConfirmation to Payer PSP with Failure message.
9. Payer PSP sends a RespTxnConfirmation back to UPI.

Refer S.No.31 for other steps

5.UPI sends a ReqPayDebit to remitter bank.


6. Remitting Bank sends failure response to UPI stating that Mandate has been revoked &
sends failure RespPayDebit to UPI with response code="VU"
7. UPI sends a RespPay with failure to Payee PSP with responseCode="VU"
errorCode="U30
"
8. UPI sends a ReqTxnConfirmation to Payer PSP with Failure message.
9. Payer PSP sends a RespTxnConfirmation back to UPI.

Refer S.No.31 for other steps

5.UPI sends a ReqPayDebit to remitter bank.


6. Remitting Bank sends failure response to UPI stating that Mandate has been revoked &
sends failure RespPayDebit to UPI with response code="XD"
7. UPI sends a RespPay with failure to Payee PSP with responseCode="XD" errorCode="U30
"
8. UPI sends a ReqTxnConfirmation to Payer PSP with Failure message.
9. Payer PSP sends a RespTxnConfirmation back to UPI.
Refer S.No.31 for other steps

5.UPI sends a ReqPayDebit to remitter bank.


6. Remitting Bank sends failure response to UPI stating that Mandate has been revoked &
sends failure RespPayDebit to UPI with response code="VG"
7. UPI sends a RespPay with failure to Payee PSP with responseCode="VG" errorCode="U30
"
8. UPI sends a ReqTxnConfirmation to Payer PSP with Failure message.
9. Payer PSP sends a RespTxnConfirmation back to UPI.

Refer S.No.31 for other steps

5.UPI sends a ReqPayDebit to remitter bank.


6. Remitting Bank sends failure response to UPI stating that Mandate has been revoked &
sends failure RespPayDebit to UPI with response code="VE"
7. UPI sends a RespPay with failure to Payee PSP with responseCode="VE" errorCode="U30
"
8. UPI sends a ReqTxnConfirmation to Payer PSP with Failure message.
9. Payer PSP sends a RespTxnConfirmation back to UPI.

1. Payer initiates a Pay Request by entering the Virtual Address of the Payee
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPay_Debit to remitter bank. Remitter bank not receive the original request.
5. UPI haven't receive any response from bank. UPI checks the connection with bank. UPI declines the
transaction with connection timeout
6. UPI sends a RespPay with Failure to Payer PSP with error code - U85
7. UPI sends a ReqTxnConfirmation to Payee PSP with Failure message.
8. Payee PSP sends a RespTxnConfirmation back to UPI.
9. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS
entry should reflect the correct amount. .

1. Payer initiates a Pay Request by entering the Virtual Address of the Payee
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPay_Debit to remitter bank.
5. Remitting Bank debits the customer's account & RespPay_Debit is not sent to UPI
6. UPI sends three ReqChkTxn requests to remitting bank after the timed out of 30
sec in every 10

seconds interval to REAPONSE WITH THE CORRECT STATUS . Remitting bank does not respond.
7. UPI sends a DEBIT reversal to Remitting BANK
8. Remitting BANK fails to send response.
9. UPI sends a RespPay with Failure to Payer PSP with error code - U67 and respcode UT reversal
respCode=RB
10
. UPI sends a ReqTxnConfirmation to Payee PSP with Failure message.
11. Payee PSP sends a RespTxnConfirmation back to UPI.
12. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS
entry should reflect the correct amount. .
1. Payer initiates a Pay Request by entering the Virtual Address of the Payee
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPay_Debit to remitter bank.
5. Remitting Bank debits the customer's account & RespPay_Debit is not sent to UPI
6. UPI sends three ReqChkTxn requests to remitting bank after the timed out of 30
sec in every 10

seconds interval to REAPONSE WITH THE CORRECT STATUS . Remitting bank does not respond.
7. UPI sends a DEBIT reversal to Remitting BANK
8. Remitting BANK fails to send response.
9. UPI sends a RespPay with Failure to Payer PSP with error code - U67 and respcode UT reversal
respCode=RB
10
. UPI sends a ReqTxnConfirmation to Payee PSP with Failure message.
11. Payee PSP sends a RespTxnConfirmation back to UPI.
12. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS
entry should reflect the correct amount. .

1. Payer initiates a Pay Request by entering the Virtual Address of the Payee customer.
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPay_Debit to remitter bank.
5. Remitting Bank debits the customer's account & sends RespPay_Debit to UPI
6. UPI sends ReqPay_Credit to the Beneficiary Bank. Beneficiary bank not receive the original request
beacause of connection timeout.
7. UPI checks the connection with bank. UPI declines the transaction with connection timeout.
8. UPI sends debit reversal request to remitter bank. Remitter bank sends Successful debit reversal
response.
8. UPI sends a RespPay with Failure to Payer PSP with error code- U88.
9. UPI sends a ReqTxnConfirmation to Payee PSP with Failure message.
10
. Payee PSP sends a RespTxnConfirmation back to UPI.
11. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS
entry should reflect the correct amount. .
S.NO TEST ID DETAILS PSP as

API Involved : ReqPayCredit


RespPayCredit
Type : Credit
Approval Type : Non-Pre Approved
1 BE_1 Beneficiary
Payer Handle : VPA
Payee Handle : VPA

API Involved : ReqPayCredit


RespPayCredit
Type : Credit
Approval Type : Non-Pre Approved
2 BE_2 Beneficiary
Payer Handle : VPA
Payee Handle : A/c+IFSC

API Involved : ReqPayCredit


RespPayCredit
Type : Credit
Approval Type : Non-Pre Approved
3 BE_3 Beneficiary
Payer Handle : VPA
Payee Handle : Aadhaar

BE_4 Te
BE_5 Te

API Involved : ReqPayCredit


RespPayCredit
Type : Reversal
Approval Type : Non-Pre Approved
4 BE_6 Beneficiary
Payer Handle : VPA
Payee Handle : VPA
API Involved : ReqPayCredit
RespPayCredit
Type : Reversal
Approval Type : Non-Pre Approved
5 BE_7 Beneficiary
Payer Handle : VPA
Payee Handle : VPA

BE_8 Te

API Involved : ReqPayCredit


RespPayCredit
Type : Credit
Approval Type : Non-Pre Approved
6 BE_9 Beneficiary
Payer Handle : VPA
Payee Handle : VPA

API Involved : ReqPayCredit


RespPayCredit
Type : Credit
Approval Type : Non-Pre Approved
7 BE_10
Beneficiary
Payer Handle : VPA
Payee Handle : VPA
API Involved : ReqPayCredit
RespPayCredit
Type : Credit
Approval Type : Non-Pre Approved
8 BE_11 Beneficiary
Payer Handle : VPA
Payee Handle : VPA

API Involved : ReqPayCredit


RespPayCredit
Type : Credit
Approval Type : Non-Pre Approved
9 BE_12 Beneficiary
Payer Handle : VPA
Payee Handle : VPA

API Involved : ReqPayCredit


RespPayCredit
Type : Credit
Approval Type : Non-Pre Approved
10
BE_13 Beneficiary
Payer Handle : VPA
Payee Handle : VPA

BE_14
BE_15 Te
BE_16
API Involved : ReqPayCredit
RespPayCredit
Type : Credit
Approval Type : Non-Pre Approved
11 BE_17 Beneficiary
Payer Handle : VPA
Payee Handle : VPA

BE_18

API Involved : ReqPayCredit


RespPayCredit
Type : Reversal
Approval Type : Non-Pre Approved
12 BE_19 Beneficiary
Payer Handle : VPA
Payee Handle : VPA

API Involved : ReqPayCredit


RespPayCredit
Type : Credit
Approval Type : Non-Pre Approved
13 BE_20
Beneficiary
Payer Handle : VPA
Payee Handle : VPA
API Involved : ReqPayCredit
RespPayCredit
Type : Reversal
Approval Type : Non-Pre Approved
14 BE_21 Beneficiary
Payer Handle : VPA
Payee Handle : VPA

API Involved : ReqPayCredit


RespPayCredit
Type : Reversal
Approval Type : Non-Pre Approved
15 BE_22 Beneficiary
Payer Handle : VPA
Payee Handle : VPA

API Involved : ReqPayCredit


RespPayCredit
Type : Reversal
Approval Type : Non-Pre Approved
16 BE_23 Beneficiary
Payer Handle : VPA
Payee Handle : VPA
API Involved : ReqPayCredit
RespPayCredit
Type : Reversal
Approval Type : Non-Pre Approved
17 BE_24 Beneficiary
Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqPayCredit,


RespPayCredit
Type : Pay
Approval Type: Non Pre-Approved
18 BE_25 Payer Handle: PSP Beneficiary
Payee Handle : PSP

API Involved : ReqPayCredit


RespPayCredit
Type : Reversal
Approval Type : Non-Pre Approved
19 BE_26 Beneficiary
Payer Handle : VPA
Payee Handle : VPA
API Involved : ReqPayCredit
RespPayCredit
Type : Reversal
Approval Type : Non-Pre Approved
20
BE_27 Beneficiary
Payer Handle : VPA
Payee Handle : VPA

API Involved : ReqPayCredit


RespPayCredit
Type : Reversal
Approval Type : Non-Pre Approved
21 BE_28 Beneficiary
Payer Handle : VPA
Payee Handle : VPA

API Involved : ReqAuthDetail


RespAuthDetail
ReqTxnConfirmation
RespTxnConfirmation
22 BE_29 Type : PAY Beneficiary
Approval Type : Pre-
Approved Payer Handle :
VPA Payee
Handle : VPA
API Involved : ReqPay
RespPay
Type : Pay
23 BE_30
Beneficiary
Approval Type : Non-Pre Approved
Payer Handle : VPA
Payee Handle : VPA

API Involved : ReqAuthDetail


RespAuthDetail
ReqTxnConfirmation
RespTxnConfirmation
24 BE_31 Type : Collect Beneficiary
Approval Type :
Non-Pre Approved Payer
Handle : VPA
Payee Handle : VPA

API Involved : ReqAuthDetail


RespAuthDetail
ReqTxnConfirmation
RespTxnConfirmation
25 BE_32 Type : Collect Beneficiary
Approval Type :
Non-Pre Approved Payer
Handle : VPA
Payee Handle : VPA
API Involved : ReqAuthDetail
RespAuthDetail
ReqTxnConfirmation
RespTxnConfirmation
26 BE_33 Type : Collect Beneficiary
Approval Type :
Non-Pre Approved Payer
Handle : VPA
Payee Handle : VPA

API Involved: ReqPayCredit,


RespPayCredit
Type : Credit
Approval Type: Non Pre-Approved
Payer Handle: PSP
27 BE_34 Payee Handle : PSP Beneficiary

API Involved: ReqPay, RespPay


Type : Credit
Approval Type: Pre-Approved
Payer Handle: VPA
Payee Handle : VPA

28 BE_35 Beneficiary
API Involved: ReqPay, RespPay
Type : Credit
Approval Type: Pre-Approved
Payer Handle: VPA
Payee Handle : VPA

29 BE_36 Beneficiary

API Involved: ReqPay, RespPay


Type : Credit
Approval Type: Pre-Approved
Payer Handle: VPA
Payee Handle : VPA

30
BE_37 Beneficiary

API Involved: ReqPay, RespPay


Type : Credit
Approval Type: Pre-Approved
Payer Handle: VPA
Payee Handle : VPA

31 BE_38 Beneficiary
API Involved: ReqPay, RespPay
Type : Credit
Approval Type: Pre-Approved
Payer Handle: VPA
Payee Handle : VPA

32 BE_39 Beneficiary

API Involved: ReqPay


RespPay Type :
credit
Approval Type : Non Pre-Approved
Payer Handle : VPA
Payee Handle : VPA

33 BE_40
Beneficiary

API Involved: ReqPay


RespPay Type :
credit
Approval Type : Non Pre-Approved
Payer Handle : VPA
Payee Handle : VPA

34 BE_41 Beneficiary
API Involved : ReqPayDebit
RespPay_Debit
Type: Reversal
35 BE_42 Approval Type: Non-Pre Approved Beneficiary
Payer Handle : VPA
Payee Handle : VPA

API Involved: ReqPay, RespPay


Type : Credit
Approval Type: Non Pre-Approved
36 BE_43 Beneficiary
Payer Handle: VPA
Payee Handle : VPA

U88

API Involved : ReqPayCredit


RespPayCredit
Type : Reversal
Approval Type : Non-Pre Approved
37 BE_44 Beneficiary
Payer Handle : VPA
Payee Handle : VPA
API Involved : ReqPayCredit
RespPayCredit
Type : Reversal
Approval Type : Non-Pre Approved
38 BE_45 Beneficiary
Payer Handle : VPA
Payee Handle : VPA

API Involved : ReqPayCredit


RespPayCredit
Type : Reversal
Approval Type : Non-Pre Approved
39 BE_46 Beneficiary
Payer Handle : VPA
Payee Handle : VPA
HOME
DESCRIPTION TXN INITIATED BY STATUS

A Pay Scenario where Payer and Payee are


NPCI Success
VPA

A Pay Scenario where Payer is using a account


details as A/C no + IFSC & Payee is Acc no and NPCI Success
IFSC

A Pay Scenario where Payer is using Acc No + NPCI Success


IFSC & Payee is Adhaar no

Test case moved from mandatory to extra


Test case moved from mandatory to extra

Timeout at Beneficiary end NPCI Failure


RespCode: ZY Failure
NPCI
INACTIVE OR DORMANT ACCOUNT

Test case moved from mandatory to extra

Failure
RespCode : XI (Beneficiary
NPCI
ACCOUNT DOES NOT EXIST Account
inactive)

Respcode=Y1 NPCI Failure


BENEFICIARY CBS Offline
Respcode=ZI
SUSPECTED FRAUD, DECLINE / NPCI Failure
TRANSACTIONS DECLINED BASED ON RISK
SCORE BY BENEFICIARY

Invalid Beneficiary credentials. Z5 NPCI Failure

Respcode=XC
INVALID TRANSACTION OR IF MEMBER IS Failure
NPCI
NOT ABLE TO FIND ANY APPROPRIATE
RESPONSE CODE

Test case removed


Test case moved from mandatory to extra
Test case removed
Respcode=YF Failure
NPCI
BENEFICIARY ACCOUNT BLOCKED/FROZEN

Test case removed

1. Credit time out


2. Chktxn- time out
3. Credit reversal- Timeout.
DEEMED
NPCI

(Credit reversal timeout = reversal response


code: RB)

Respcode=B3 Failure
NPCI
Transaction not permitted to the account
when a transaction is timed out in credit leg
and reversal request is generated on
beneficiary bank then bank can decline the NPCI Failure
reversal request with 'NC' if credit not done
to the customer account.

when a transaction is timed out in credit leg


and reversal request is generated on
beneficiary bank then bank can decline the NPCI Failure
request with 'OC' - the orginal credit request
is not found

A Pay scenario where Payer is using VPA with


remitter details as A/C + IFSC & Payee is using
VPA.

Bank should send the Failure RespChkTxn


with respcoe=NO , result=FAILURE,
errcode=NO, settamount=0
.0
0
,
settCurrency=INR and other fields should NPCI Failure
pass as null value inside the ref tag ( <Ref
addr="" approvalNum="" respCode="NO"
seqNum=""
settAmount="0
.0
0
" settCurrency="INR"
type=""/> )

NOTE: This case is not applicable in multiple


payee.
A Pay scenario where Payer is using VPA with
remitter details as A/C + IFSC & Payee is using
VPA.

Bank should send the Failure RespChkTxn


with respcoe=XY , result=FAILURE,
errcode=XY, settamount=0
.0
0
,
settCurrency=INR and other fields should NPCI Deemed
pass as null value inside the ref tag ( <Ref
addr="" approvalNum="" respCode="XY"
seqNum=""
settAmount="0
.0
0
" settCurrency="INR"
type=""/> )

NOTE: This case is not applicable in multiple


payee.

Beneficiary bank should accept the Success


subType="PAY" in the
ReqPayCredit/Reversal. Beneficiary bank
sends the RespPayCredit with
subType="PAY" NPCI

No response for ReqPayCredit


No Response for ReqChkTxn
Reversal response code = CS & result NPCI Deemed
="Failure"
No response for ReqPayCredit
No Response for ReqChkTxn
Reversal response code = CS NPCI Deemed
settAmount = 0
.0

No response for ReqPayCredit


No Response for ReqChkTxn
Reversal response code = CS & errCOde="CS" NPCI Deemed
UPI decline with neagtive ACK='E0
5'

No response for ReqPayCredit


No Response for ReqChkTxn
Reversal response code = CS NPCI Success
NOTE: Payer should accept and inform the
customer about the credit success
No response for ReqPayCredit
No Response for ReqChkTxn
Reversal response code = CS NPCI Success
NOTE: Payer should accept and inform the
customer about the credit success

No response for ReqPayCredit


No Response for ReqChkTxn
Reversal response code = CS
NPCI Success
NOTE: Payee psp should accept and inform
the customer about the credit success

RespPay_Credit with "CS" & result="FAILURE"


UPI declines with ACK='E13' NPCI Success
No response for ReqChktxn
Reversal response code = CS
No response for ReqPay_Credit
RespChkTxn with "CS" & result="FAILURE"
UPI declines with negative ACK="E13" NPCI Success
Reversal response code = CS

Beneficiary bank should sends the Success


acNum, IFSC & code in the
RespPay_Credit with subType "PAY|
COLLECT"

Note: "regName" field is mandatory in NPCI


the RespPay_Credit api

Beneficiary bank successfully verifies NPCI Success


initiationMode=12 with actype=NRE
Beneficiary bank successfully verifies NPCI Success
initiationMode=12 with
actype=CURRENT|SAVINGS|NRO

If beneficiary bank doesn't support for NPCI Failure


FIR. Beneficiary decline with failure in the
RespPayCredit stating that "NE" FIR
transaction is not supported by bank.

Beneficiary bank successfully verifies NPCI Success


initiationMode=0
0
with actype=NRE

Note: UPI will consider this as a domestic


transaction since initiationMode is not
equal to "12"
In Institution block, mandatory values are NPCI Failure
wrong. Then beneficiary bank should
decline with failure response code="XW"
in RespPay_Credit stating that beneficiary
compliance error

If the payer psp is live 1.0


and Beneficiary
bank is in ver 1.0
&2.0
. UPI sends
ReqPayCredit in ver1.0
, then beneficiary
bank should sends ACK & RespPayCredit
in ver 1.0

Note: If the beneficiary bank fails to


sends a response in the same version, UPI
will decline with negative ACK="UV3" NPCI Success
stating that version mismatch

If the payer psp is live 1.0


and beneficiary
bank is in ver 1.0
&2.0
. UPI sends
ReqPayCredit in ver1.0
, then beneficiary
bank should sends the same version in
url as well as in the xml

Note: If the beneficiary bank url and head


version is different, then UPI will decline
with negative ACK="UH1" stating that NPCI Success
URL and header version is different
If the payer psp is live 1.0
and beneficiary
bank is in ver 1.0
&2.0
.
1. UPI sends ReqPayCredit in ver1.0
, then
beneficiary bank timeout.
2. UPI sends three check transaction
request in ver 1.0
. beneficiary bank fails
to response.
3. UPI sends the ReqPayCreditReversal
also in ver 1.0
. beneficiary bank should
sends the response in ver1.0

Note: If the beneficiary bank url and


head version is different iin NPCI Failure
RespPay_Reversals, then UPI will decline
with negative ACK="UH1" stating that
URL and header version is different

Beneficiary identifies the txn as in case of NPCI Success


initiationMode=11

U88 connection timeout case

Timeout at Beneficiary end NPCI Failure


Timeout at Beneficiary end

Note: 1. No ACK for ReqPay_Debit


2. No response for check txn DEEMED
NPCI
3. No ACK & Response for debit reversal

After final RespPay remitter bank sent


RespPay_Debit, UPI will decline with neagtive
ACK U10
-Illegal operation

Timeout at Beneficiary end

Note: 1. No ACK for ReqPay_Debit


2. No response for check txn DEEMED
NPCI
3. No ACK & Response for debit reversal

After final RespPay remitter bank sent


RespPay_Debit, UPI will decline with neagtive
ACK U10
-Illegal operation
TEST STEPS
1. Payer PSP initiates a Pay Request by entering the Virtual Address of the Payee customer
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPay_Debit to remitter bank.
5. Remitting Bank debits the customer's account & sends RespPay_Debit to UPI
6. UPI sends a ReqPay_Credit to the Beneficiary Bank
7. Beneficiary Bank Credits the customer's account and respond successful credit by sending
RespPay_Credit to UPI.
8. UPI sends a RespPay with Success to Payer PSP
9. UPI sends a ReqTxnConfirmation to Payee PSP with Successfull message.
10
. Payee PSP sends a RespTxnConfirmation back to UPI.
11. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS
entry should reflect the correct amount. .

1. Payer initiates a Pay Request by entering the Financial Address of payee of the shape
<accno>@<ifsc>.ifsc.npci ans send it to UPI.
2. UPI sends a ReqPay_Debit to remitter bank.
3. Remitting Bank debits the customer's account & sends RespPay_Debit to UPI
4. UPI sends a ReqPay_Credit to the Beneficiary Bank
5. Beneficiary Bank Credits the customer's account and respond successful credit by sending
RespPay_Credit to UPI.
6. UPI sends a RespPay with Success to Payer PSP.
7. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS
entry should reflect the correct amount. .

1.Payer initiates a Pay Request by entering the addressing mode as <Aadhaar>@aadhaar.npci.


2.UPI sends the request to
NACH and IIN associated with the Aadhar number is retrieved back as response to UPI.
3.UPI sends a ReqPay_Debit to remitter bank.
4. Remitting Bank debits the customer's account & sends RespPay_Debit to UPI
5. UPI sends a ReqPay_Credit to the Beneficiary Bank
6. Beneficiary Bank Credits the customer's account and respond successful credit by sending
RespPay_Credit to UPI.
7. UPI sends a RespPay with Success to Payer PSP.
8. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS
entry should reflect the correct amount. .

tory to extra
tory to extra
1. Payer initiates a Pay Request by entering the Virtual Address of the Payee customer.
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPay_Debit to remitter bank.
5. Remitting Bank debits the customer's account & sends RespPay_Debit to UPI
6. UPI sends ReqPay_Credit to the Beneficiary Bank and Beneficiary Bank times out.
7. UPI sends three ReqChkTxn requests to beneficiary bank after the timed out of 30
sec in every 10

seconds interval as a reminder to complete the transaction. Beneficiary bank doesnot respond.
8. UPI initiates the Credit Reversal to Beneficiary bank and responds successfully
8. UPI sends a DEBIT reversal to Remitting BANK and responds successfully
9. UPI sends a RespPay with Failure to Payer PSP with error code- U68 and response code - BT.
10
. UPI sends a ReqTxnConfirmation to Payee PSP with Failure message.
11. Payee PSP sends a RespTxnConfirmation back to UPI.
12. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS
entry should reflect the correct amount. .
1. Payer initiates a Pay Request by entering the Virtual Address of the Payee customer.
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPay_Debit to remitter bank.
5. Remitting Bank debits the customer's account & sends RespPay_Debit to UPI.
6. UPI sends a ReqPay_Credit to Beneficiary.
7. Beneficiary Bank declines the transaction stating that inactive or dormant account and respond
back to UPI. Response code-ZY
8. UPI sends the ReqPay Debit with reversal to Remitting BANK
9. Remitting BANK sends a RespPay REVERSAL with SUCCESS message.
10
. UPI sends a ResPay with FAILURE to Payer PSP with error code- U31.
11. UPI sends a ReqTxnConfirmation to Payee PSP with FAILURE message.
12. Payee PSP sends a RespTxnConfirmation back to UPI.
13. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS
entry should reflect the correct amount. .

tory to extra
1. Payer initiates a Pay Request by entering the Virtual Address of the Payee customer.
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPay_Debit to remitter bank.
5. Remitting Bank debits the customer's account & sends RespPay_Debit to UPI
6. UPI sends a ReqPay_Credit to the Beneficiary Bank
7. Beneficiary Bank declines the transcation with closed account and responds back to UPI.Response
code-XI
8. UPI declines and sends the ReqPay with reversal to Remitting BANK.
9. Remitting BANK sends a RespPay REVERSAL with SUCCESS message.
10
. UPI sends a RespPay with FAILURE to Payer PSP error code-U31.
11. UPI sends a ReqTxnConfirmation to Payee PSP with FAILURE message.
12. Payee PSP sends a RespTxnConfirmation back to UPI.
13. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS
entry should reflect the correct amount. .

1. Payer initiates a Pay Request by entering the Virtual Address of the Payee customer.
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPay_Debit to remitter bank.
5. Remitting Bank debits the customer's account & sends RespPay_Debit to UPI
6. UPI sends a ReqPay_Credit to the Beneficiary Bank
7. Beneficiary Bank declines the transcation stating that bank unavailable and responds back to
UPI.Response code-Y1
8. UPI sends the ReqPay with reversal to Remitting BANK.
9. Remitting BANK sends a RespPay REVERSAL with SUCCESS message.
10
. UPI sends a RespPay with FAILURE to Payer PSP error code-U31.
11. UPI sends a ReqTxnConfirmation to Payee PSP with FAILURE message.
12. Payee PSP sends a RespTxnConfirmation back to UPI.
13. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS
entry should reflect the correct amount. .
1. Payer initiates a Pay Request by entering the Virtual Address of the Payee customer.
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPay_Debit to remitter bank.
5. Remitting Bank debits the customer's account & sends RespPay_Debit to UPI
6. UPI sends a ReqPay_Credit to the Beneficiary Bank
7. Beneficiary Bank declines the transcation stating that risk score is high due to suspected fraud and
responds back to UPI.Response code-ZI
8. UPI declines and sends the ReqPay with reversal to Remitting BANK.
9. Remitting BANK sends a RespPay REVERSAL with SUCCESS message.
10
. UPI sends a RespPay with FAILURE to Payer PSP error code-U31.
11. UPI sends a ReqTxnConfirmation to Payee PSP with FAILURE message.
12. Payee PSP sends a RespTxnConfirmation back to UPI.
13. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS
entry should reflect the correct amount. .

1. Payer initiates a Pay Request by entering the Virtual Address of the Payee customer.
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI.
4. UPI sends a ReqPay_Debit to remitter bank.
5. Remitting Bank debits the customer's account & sends RespPay_Debit to UPI.
6. UPI sends Reqpay credit to beneficiary bank
7. Beneficiary bank declines the transaction with response code Z5
7. UPI sends ReqPay_debit reversal to remitting bank and remitter banks sends the success response
to UPI.
8. UPI sends a RespPay with FAILURE to Payer PSP error code-U31 and response code:Z5
9 UPI sends a ReqTxnConfirmation to Payee PSP with FAILURE message.
10
. Payee PSP sends a RespTxnConfirmation back to UPI.
11. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS
entry should reflect the correct amount. .

1. Payer initiates a Pay Request by entering the Virtual Address of the Payee customer.
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPay_Debit to remitter bank.
5. Remitting Bank debits the customer's account & sends RespPay_Debit to UPI
6. UPI sends a ReqPay_Credit to the Beneficiary Bank
7. Beneficiary Bank declines the transcation stating that no appropriate response code and responds
back to UPI.Response code-XC
8. UPI declines and sends the ReqPay with reversal to Remitting BANK.
9. Remitting BANK sends a RespPay REVERSAL with SUCCESS message.
10
. UPI sends a RespPay with FAILURE to Payer PSP error code-U31.
11. UPI sends a ReqTxnConfirmation to Payee PSP with FAILURE message.
12. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS
entry should reflect the correct amount. .12. Payee PSP sends a RespTxnConfirmation back to UPI.

d
tory to extra
d
1. Payer initiates a Pay Request by entering the Virtual Address of the Payee customer.
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPay_Debit to remitter bank.
5. Remitting Bank debits the customer's account & sends RespPay_Debit to UPI
6. UPI sends a ReqPay_Credit to the Beneficiary Bank
7. Beneficiary Bank declines the transcation stating that blocked account and responds back to
UPI.Response code-YF
8. UPI declines and sends the ReqPay with reversal to Remitting BANK.
9. Remitting BANK sends a RespPay REVERSAL with SUCCESS message.
10
. UPI sends a RespPay with FAILURE to Payer PSP error code-U31.
11. UPI sends a ReqTxnConfirmation to Payee PSP with FAILURE message.
12. Payee PSP sends a RespTxnConfirmation back to UPI.
13. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS
entry should reflect the correct amount.

d
1. Payer initiates a Pay Request by entering the Virtual Address of the Payee customer.
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPay_Debit to remitter bank.
5. Remitting Bank debits the customer's account & sends RespPay_Debit to UPI
6. UPI sends ReqPay_Credit to the Beneficiary Bank and Beneficiary Bank times out.
7. UPI sends three ReqChkTxn requests to beneficiary bank after the timed out of 30
sec in every 10

seconds interval as a reminder to complete the transaction. Beneficiary bank doesnot respond.
8. UPI sends credit reversal to Beneficiary Bank. Benificiary bank fails to send response for reversal to
UPI system indicating that reversal also got timeout.
9. UPI sends a RespPay with Failure to Payer PSP with response code= BT and reversal response code:
RB
10
. UPI sends a ReqTxnConfirmation to Payee PSP with Failure message.
11. Payee PSP sends a RespTxnConfirmation back to UPI.
12. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS
entry should reflect the correct amount. .

1. Payer initiates a Pay Request by entering the Virtual Address of the Payee customer.
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPay_Debit to remitter bank.
5. Remitting Bank debits the customer's account & sends RespPay_Debit to UPI
6. UPI sends a ReqPay_Credit to the Beneficiary Bank
7. Beneficiary Bank declines the transcation stating that transaction not permitted to the account and
responds back to UPI.Response code-B3
8. UPI declines and sends the ReqPay with reversal to Remitting BANK.
9. Remitting BANK sends a RespPay REVERSAL with SUCCESS message.
10
. UPI sends a RespPay with FAILURE to Payer PSP error code-U31.
11. UPI sends a ReqTxnConfirmation to Payee PSP with FAILURE message.
12. Payee PSP sends a RespTxnConfirmation back to UPI.
13. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS
entry should reflect the correct amount.
1. Payer initiates a Pay Request by entering the Virtual Address of the Payee customer.
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPay_Debit to remitter bank.
5. Remitting Bank debits the customer's account & sends RespPay_Debit to UPI
6. UPI sends ReqPay_Credit to the Beneficiary Bank and Beneficiary Bank times out.
7. UPI sends three ReqChkTxn requests to beneficiary bank after the timed out of 30
sec in every 10

seconds interval as a reminder to complete the transaction. Beneficiary bank doesnot respond.
8. UPI sends credit reversal to Beneficiary Bank. Beneficiary bank send response for reversal to UPI
system indicating that response code=NC- Credit not done to the customer account
9. Upi initiates ReqPay_Debit_Reversal to Remitter bank and remitter bank reverse the customer
account succesfuly.
9. UPI sends a RespPay with Failure to Payer PSP with response code= BT, error code: U68 and
reversal response code: NC
10
. UPI sends a ReqTxnConfirmation to Payee PSP with Failure message.
11. Payee PSP sends a RespTxnConfirmation back to UPI.
12. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS
entry should reflect the correct amount. .

1. Payer initiates a Pay Request by entering the Virtual Address of the Payee customer.
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPay_Debit to remitter bank.
5. Remitting Bank debits the customer's account & sends RespPay_Debit to UPI
6. UPI sends ReqPay_Credit to the Beneficiary Bank and Beneficiary Bank doesn't send Ack as well as
response to upi as request not received.
7. UPI sends three ReqChkTxn requests to beneficiary bank after the timed out of 30
sec in every 10

seconds interval as a reminder to complete the transaction. Beneficiary bank doesnot respond.
8. UPI sends credit reversal to Beneficiary Bank. Benificiary bank send response for reversal to UPI
system indicating that response code=OC - the orginal credit request is not found
9. UPI should initiate debit reversal to remitter bank and remitter bank send successful response to
UPI.
10
. UPI sends a RespPay with Failure to Payer PSP with response code= BT, error code: U68 and payee
reversal response code: OC - the original credit request is not found
11. UPI sends a ReqTxnConfirmation to Payee PSP with Failure message.
12. Payee PSP sends a RespTxnConfirmation back to UPI.
13. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS
entry should reflect the correct amount. .

1. Payer initiates a Pay Request by entering the Virtual Address of the Payee customer.
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPay_Debit to remitter bank.
5. Remitting Bank debits the customer's account & sends RespPay_Debit to UPI
6. UPI sends ReqPay_Credit to the Beneficiary Bank and Beneficiary Bank does not receive the
original ReqPay_Credit message.
7. UPI sends three ReqChkTxn requests to beneficiary bank after the timed out of 30
sec in every 10

seconds interval as a reminder to complete the transaction.


8. Beneficiary bank respond with RespChkTxnStatus as FAILURE with the "respcode=NO" stating that
'No original request found during debit/credit'.
9. UPI should initiate debit reversal to remitter bank and remitter bank send successful response to
UPI.
10
. UPI sends a RespPay with error code: U31 and response code: NO
11. UPI sends a ReqTxnConfirmation to Payee PSP with Failure message.
12. Payee PSP sends a RespTxnConfirmation back to UPI.
13. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS
entry should reflect the correct amount.
1. Payer initiates a Pay Request by entering the Virtual Address of the Payee customer.
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPay_Debit to remitter bank.
5. Remitting Bank debits the customer's account & sends RespPay_Debit to UPI
6. UPI sends ReqPay_Credit to the Beneficiary Bank and Beneficiary Bank does not receive the
original ReqPay_Credit message.
7. UPI sends three ReqChkTxn requests to beneficiary bank after the timed out of 30
sec in every 10

seconds interval as a reminder to complete the transaction.


8. Beneficiary bank respond with RespChkTxnStatus as FAILURE with the "respcode=XY" with
populated all the ref tag value as null.
9. UPI send Neagtive ACK to Beneficiary bank.E0
8 and E0
9
10
. UPI initiates Credit reversal.
11. Beneficiary Bank should not send any response.
12. UPI sends a RespPay with Failure Deemed txn in RespPay as resp_code=”BT” and
reversal_respCode=”RB”
13. UPI sends a ReqTxnConfirmation to Payee PSP with Failure message.
14. Payee PSP sends a RespTxnConfirmation back to UPI.
15. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS
entry should reflect the correct amount. .

Refer S.No.1 for other steps

4. UPI sends a ReqPayCredit to Beneficiary bank with SubType="PAY".


5. Beneficiary bank should sends the response with subType="PAY" to UPI

NOTE : Beneficiary bank fails to send SubType is Pay to UPI, then the UPI will send negative
Ack(T13).

1. Payer initiates a Pay Request by entering the Virtual Address of the Payee customer.
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPayDebit to remitter bank.
5. Remitting Bank debits the customer's account & sends RespPayDebit to UPI
6. UPI sends ReqPayCredit to the Beneficiary Bank and Beneficiary Bank failed to send Ack &
response to upi.
7. UPI sends three ReqChkTxn requests to beneficiary bank after the timed out of 30
sec in every 10

seconds interval as a reminder to complete the transaction. Beneficiary bank does not respond.
8. UPI sends credit reversal to Beneficiary Bank. Beneficiary bank send response for reversal to UPI
system indicating that response code=CS & Result = "Failure" .
9.UPI declines with negative ack = "E13" stating credit reversal result = Deemed.
10
. UPI sends a RespPay with Success to Payer PSP with response code=BT & reversal response code:
RB
11. UPI sends a ReqTxnConfirmation to Payee PSP .
12. Payee PSP sends a RespTxnConfirmation back to UPI.
1. Payer initiates a Pay Request by entering the Virtual Address of the Payee customer.
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPayDebit to remitter bank.
5. Remitting Bank debits the customer's account & sends RespPayDebit to UPI
6. UPI sends ReqPayCredit to the Beneficiary Bank and Beneficiary Bank failed to send Ack &
response to upi. G5
7. UPI sends three ReqChkTxn requests to beneficiary bank after the timed out of 30
sec in every 10

seconds interval as a reminder to complete the transaction. Beneficiary bank does not respond.
8. UPI sends credit reversal to Beneficiary Bank. Beneficiary bank send response for reversal to UPI
system indicating that response code=CS - Result = "Success" & settAmount = 0
.0
0
.
9.UPI declines with negative ack = "U57 " stating that settAmount should not be or equal to 0
(ZERO).
10
. UPI sends a RespPay with Deemed to Payer PSP with response code=BT & reversal response code:
RB
11. UPI sends a ReqTxnConfirmation to Payee PSP.
12. Payee PSP sends a RespTxnConfirmation back to UPI.

1. Payer initiates a Pay Request by entering the Virtual Address of the Payee customer.
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPayDebit to remitter bank.
5. Remitting Bank debits the customer's account & sends RespPayDebit to UPI
6. UPI sends ReqPayCredit to the Beneficiary Bank and Beneficiary Bank send Ack to upi but failed to
send response to upi.
7. UPI sends three ReqChkTxn requests to beneficiary bank after the timed out of 30
sec in every 10

seconds interval as a reminder to complete the transaction. Beneficiary bank does not respond.
8. UPI sends credit reversal to Beneficiary Bank. Beneficiary bank send response for reversal to UPI
system indicating that response code=CS Result = "Success" errorcode =CS.
9.UPI declines with negative ack = "E0
5" errCode should not be present for Credit success (CS) "
10
. UPI sends a RespPay with Deemed to Payer PSP with response code=BT & reversal response code:
RB
11. UPI sends a ReqTxnConfirmation to Payee PSP
12. Payee PSP sends a RespTxnConfirmation back to UPI.

1. Payer initiates a pay Request by entering the VPA of Payee


2 UPI sends ReqAuthDetail to Payee PSP for address resolution.
3. Since Payer and Remitter are same it will be a Pre-approved transaction. Remitting Bank debits the
customer's account automatically and payer should send the response code as "0
0
" & approval
number in base 64 encrypted format in the RespAuthDetail
4. UPI sends ReqPayCredit to the Beneficiary Bank and Beneficiary Bank failed to send Ack &
response to upi.
5. UPI sends three ReqChkTxn requests to beneficiary bank after the timed out of 30
sec in every 10

seconds interval as a reminder to complete the transaction. Beneficiary bank does not respond.
6. UPI sends credit reversal to Beneficiary Bank. Beneficiary bank send response for reversal to UPI
system indicating that response code=CS Credit successful
7. UPI sends a RespPay with Success to Payer PSP with response code=BT & reversal response code:
CS credit Successful
8. UPI sends a ReqTxnConfirmation to Payee PSP with Success message.
9. Payee PSP sends a RespTxnConfirmation back to UPI.
1. Payer initiates a Pay Request by entering the Virtual Address of the Payee.
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPayDebit to remitter bank.
5. UPI sends ReqPayCredit to the Beneficiary Bank and Beneficiary Bank failed to send Ack &
response to upi.
6. UPI sends three ReqChkTxn requests to beneficiary bank after the timed out of 30
sec in every 10

seconds interval as a reminder to complete the transaction. Beneficiary bank does not respond.
7. UPI sends credit reversal to Beneficiary Bank. Beneficiary bank send response for reversal to UPI
system indicating that response code=CS Credit successful
8. UPI sends a RespPay with Success to Payer PSP with response code=BT & reversal response code:
CS credit Successful
9. UPI sends a ReqTxnConfirmation to Payee PSP with Success message.
10
. Payee PSP sends a RespTxnConfirmation back to UPI.

1. Payee initiates a Collect Request by entering the Virtual Address of the Payer .
2. UPI sends ReqAuthDetail to Payer PSP for address resolution.
3. Payer PSP sends the notification to customer for customer confirmation of the payment.
4. Payer PSP sends RespAuthDetail to UPI.
5. UPI sends a ReqPayDebit to remitter bank. Remitter bank sends a succesful response to UPI.
6. UPI sends ReqPayCredit to the Beneficiary Bank and Beneficiary Bank failed to send Ack &
response to upi.
7. UPI sends three ReqChkTxn requests to beneficiary bank after the timed out of 30
sec in every 10

seconds interval as a reminder to complete the transaction. Beneficiary bank does not respond.
8. UPI sends credit reversal to Beneficiary Bank. Beneficiary bank send response for reversal to UPI
system indicating that response code=CS & Result = "Success" .
9. UPI sends a RespPay with Success to Payee PSP with response code=BT & reversal response code:
CS credit Successful
10
. UPI sends a ReqTxnConfirmation to Payer PSP with Success message.
11. Payer PSP sends a RespTxnConfirmation back to UPI.

1. Payee initiates a Collect Request by entering the Virtual Address of the Payer .
2. UPI sends ReqAuthDetail to Payer PSP for address resolution.
3. Payer PSP sends the notification to customer for customer confirmation of the payment.
4. Payer PSP sends RespAuthDetail to UPI.
5.UPI sends a ReqPayDebit to remitter bank. Remitter sends
6. UPI sends ReqPayCredit to the Beneficiary Bank and Beneficiary Bank.
7. Beneficiary bank sends a failure response as respCode="CS" & result="Failure".
8. UPI declines with the negative ACK as errCode="E13" (Ref respCode is mandatory & alphanumeric)
9. UPI sends three ReqChkTxn requests to beneficiary bank after the timed out of 30
sec in every 10

seconds interval as a reminder to complete the transaction. Beneficiary bank does not respond.
10
. UPI sends credit reversal to Beneficiary Bank. Beneficiary bank send response for reversal to UPI
system indicating that response code=CS & Result = "Success" .
11. UPI sends a RespPay with Success to Payee PSP with response code=BT & reversal response code:
CS credit Successful
12. UPI sends a ReqTxnConfirmation to Payer PSP with Success message.
13. Payer PSP sends a RespTxnConfirmation back to UPI.
1. Payee initiates a Collect Request by entering the Virtual Address of the Payer .
2. UPI sends ReqAuthDetail to Payer PSP for address resolution.
3. Payer PSP sends the notification to customer for customer confirmation of the payment.
4. Payer PSP sends RespAuthDetail to UPI.
5. UPI sends a ReqPayDebit to remitter bank. Remitter sends a success response to UPI.
6. UPI sends ReqPayCredit to the Beneficiary Bank.
7. Beneficiary bank fails to send a response.
8. UPI sends three ReqChkTxn requests to beneficiary bank after the timed out of 30
sec in every 10

seconds interval as a reminder to complete the transaction.


9. Beneficiary bank sends a RespChktxn for any of the three request with failure response as
respCode="CS" and result='FAILURE'.
10
. UPI declines with neagtive ACK='E13' (Ref respCode is mandatory & alphanumeric)
11. UPI sends credit reversal to Beneficiary Bank. Beneficiary bank send response for reversal to UPI
system indicating that response code=CS & Result = "Success" .
12. UPI sends a RespPay with Success to Payee PSP with response code=BT & reversal response code:
CS credit Successful
13. UPI sends a ReqTxnConfirmation to Payer PSP with Success message.
14. Payer PSP sends a RespTxnConfirmation back to UPI.

Refer S.No.1 for other steps

4. UPI sends a ReqPayCredit to Beneficiary bank with SubType="PAY".


5. Beneficiary bank should sends the response with acNum, IFSC, code & subType="PAY" to
UPI

NOTE : Beneficiary bank fails to send acNum, IFSC & code then the UPI will send negative
Ack(E16,E17 & E18).

1. Payer PSP initiates a Pay Request by entering the Virtual Address of the payee
2. As a pre-approved transaction, remitter will debits the customer account automatically
and sends the approval no and response code in the pre-approved cred block
3. UPI forwards ReqAuthDetail to payee to resolve the address.
4. Payee psp sends the RespAuthDetail with the Beneficiary details of ACTYPE as NRE
5. UPI sends ReqPayCredit to beneficiary bank to credit the NRE account.
6. Beneficiary bank validates the actype and credit the customer's account
7. UPI sends final RespPay to Payer psp.
8. UPI also sends ReqTxnConfirmation to payee psp.
9. Payee psp sends a RespTxnConfirmation back to UPI

NOTE : Payer PSP send Initiation mode = "12" but Institution Block is not present to UPI,
then the UPI will send negative Ack (PI0).
1. Payer PSP initiates a Pay Request by entering the Virtual Address of the payee
2. As a pre-approved transaction, remitter will debits the customer account automatically
and sends the approval no and response code in the pre-approved cred block
3. UPI forwards ReqAuthDetail to payee to resolve the address.
4. Payee psp sends the RespAuthDetail with the Beneficiary details of ACTYPE as NRE
5. UPI sends ReqPayCredit to beneficiary bank to credit the NRE account.
6. Beneficiary bank validates the actype and credit the customer's account
7. UPI sends final RespPay to Payer psp.
8. UPI also sends ReqTxnConfirmation to payee psp.
9. Payee psp sends a RespTxnConfirmation back to UPI

NOTE : Payer PSP send Initiation mode = "12" but Institution Block is not present to UPI,
then the UPI will send negative Ack (PI0).

1. Payer PSP initiates a Pay Request by entering the Virtual Address of the payee
2. As a pre-approved transaction, remitter will debits the customer account automatically
and sends the approval no and response code in the pre-approved cred block
3. UPI forwards ReqAuthDetail to payee to resolve the address.
4. Payee psp sends the RespAuthDetail with the Beneficiary details of ACTYPE as NRE
5. UPI sends ReqPayCredit to beneficiary bank to credit the NRE account.
6. Beneficiary bank validates the actype and sends failure stating that transaction is not
supported by bank. respcode="NE"
7. UPI sends final RespPay to Payer psp.
8. UPI also sends ReqTxnConfirmation to payee psp.
9. Payee psp sends a RespTxnConfirmation back to UPI

NOTE : Payer PSP send Initiation mode = "12" but Institution Block is not present to UPI,
then the UPI will send negative Ack (PI0).

1. Payer PSP initiates a Pay Request by entering the Virtual Address of the payee
2. As a pre-approved transaction, remitter will debits the customer account automatically
and sends the approval no and response code in the pre-approved cred block
3. UPI forwards ReqAuthDetail to payee to resolve the address.
4. Payee psp sends the RespAuthDetail with the Beneficiary details of ACTYPE as NRE
5. UPI sends ReqPayCredit to beneficiary bank to credit the NRE account.
6. Beneficiary bank validates the actype and credit the customer's account
7. UPI sends final RespPay to Payer psp.
8. UPI also sends ReqTxnConfirmation to payee psp.
9. Payee psp sends a RespTxnConfirmation back to UPI
NOTE : Payer PSP send Initiation mode = "12" but Institution Block is not present to UPI,
then the UPI will send negative Ack (PI0).
1. Payer PSP initiates a Pay Request by entering the Virtual Address of the payee
2. As a pre-approved transaction, remitter will debits the customer account automatically
and sends the approval no and response code in the pre-approved cred block
3. UPI forwards ReqAuthDetail to payee to resolve the address.
4. Payee psp sends the RespAuthDetail with the Beneficiary details of ACTYPE as NRE
5. UPI sends ReqPayCredit to beneficiary bank to credit the NRE account.
6. Beneficiary bank validates the details and sends failure response code="XW" stating that
beneficiary compliance error
7. UPI sends final RespPay to Payer psp.
8. UPI also sends ReqTxnConfirmation to payee psp.
9. Payee psp sends a RespTxnConfirmation back to UPI

NOTE : Payer PSP send Initiation mode = "12" but Institution Block is not present to UPI,
then the UPI will send negative Ack (PI0).

1. Payer PSP initiates a Pay Request by entering the Virtual Address of the Payee.
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPayDebit to remitter bank.
5. Remitting Bank debits the customer's account & sends RespPay_Debit to UPI
6. UPI sends a ReqPayCredit to the Beneficiary Bank
7. Beneficiary Bank Credits the customer's account and respond successful credit by sending
RespPayCredit to UPI.
8. UPI sends a RespPay with Success to Payer PSP and Payer PSP sends ACK.
9. UPI sends a ReqTxnConfirmation to Payee PSP with Successful message.
10
.Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI.
The CBS entry should reflect the correct amount. .

1. Payer PSP initiates a Pay Request by entering the Virtual Address of the Payee.
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPayDebit to remitter bank.
5. Remitting Bank debits the customer's account & sends RespPay_Debit to UPI
6. UPI sends a ReqPayCredit to the Beneficiary Bank
7. Beneficiary Bank Credits the customer's account and respond successful credit by sending
RespPayCredit to UPI.
8. UPI sends a RespPay with Success to Payer PSP and Payer PSP sends ACK.
9. UPI sends a ReqTxnConfirmation to Payee PSP with Successful message.
10
.Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI.
The CBS entry should reflect the correct amount. .
1. Payer initiates a Pay Request by entering the Virtual Address of the Payee customer.
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPayDebit to remitter bank.
5. Remitting Bank debits the customer's account & sends RespPay_Debit to UPI
6. UPI sends ReqPayCredit to the Beneficiary Bank and Beneficiary Bank times out.
7. UPI sends three ReqChkTxn requests to beneficiary bank after the timed out of 30
sec in
every 10
seconds interval as a reminder to complete the transaction. Beneficiary bank does
not respond.
8. UPI initiates the Credit Reversal to Beneficiary bank and responds successfully
8. UPI sends a DEBIT reversal to Remitting BANK and responds successfully
9. UPI sends a RespPay with Failure to Payer PSP with error code- U68 and response code -
BT.
10
. UPI sends a ReqTxnConfirmation to Payee PSP with Failure message.
11. Payee PSP sends a RespTxnConfirmation back to UPI.
12. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI.
The CBS entry should reflect the correct amount. .

1. Payee initiates a Collect Request by entering the Virtual Address of the Payer (UMN@psp)
2. UPI sends ReqAuthDetail to Payer PSP in order to resolve the address.
3. Payer PSP confirms the payment with mandate details.
4. Payer PSP sends RespAuthDetail to UPI.
With all the Payer and Payee details obtained
5.UPI sends a ReqPayDebit to remitter bank.
6. Remitting Bank debits the customer's account with the mandate block & sends successful
RespPay_Debit to UPI
7. UPI sends a ReqPayCredit to the Beneficiary Bank
8. Beneficiary Bank Credits the customer's account and responds successful credit by
sending RespPayCredit to UPI.
9. UPI sends a RespPay with Success to Payee PSP
10
. UPI sends a ReqTxnConfirmation to Payer PSP with successful message.
11. Payer PSP sends a RespTxnConfirmation back to UPI.

1. Payer initiates a Pay Request by entering the Virtual Address of the Payee customer.
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPay_Debit to remitter bank.
5. Remitting Bank debits the customer's account & sends RespPay_Debit to UPI
6. UPI sends ReqPay_Credit to the Beneficiary Bank. Beneficiary bank not receive the original request.
7. UPI haven't receive any response from bank. UPI checks the connection with bank. UPI declines
the transaction with connection timeout
8. UPI sends a RespPay with Failure to Payer PSP with error code- U88.
9. UPI sends a ReqTxnConfirmation to Payee PSP with Failure message.
10
. Payee PSP sends a RespTxnConfirmation back to UPI.
11. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS
entry should reflect the correct amount. .
1. Payer initiates a Pay Request by entering the Virtual Address of the Payee customer.
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPay_Debit to remitter bank.
5. Remitting Bank debits the customer's account & sends RespPay_Debit to UPI
6. UPI sends ReqPay_Credit to the Beneficiary Bank and Beneficiary Bank times out.
7. UPI sends three ReqChkTxn requests to beneficiary bank after the timed out of 30
sec in every 10

seconds interval as a reminder to complete the transaction. Beneficiary bank doesnot respond.
8. UPI sends credit reversal to Beneficiary Bank. Benificiary bank fails to send response for reversal to
UPI system indicating that reversal also got timeout.
9. UPI sends a RespPay with Failure to Payer PSP with response code= BT and reversal response code:
RB
10
. UPI sends a ReqTxnConfirmation to Payee PSP with Failure message.
11. Payee PSP sends a RespTxnConfirmation back to UPI.
12. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS
entry should reflect the correct amount. .

1. Payer initiates a Pay Request by entering the Virtual Address of the Payee customer.
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPay_Debit to remitter bank.
5. Remitting Bank debits the customer's account & sends RespPay_Debit to UPI
6. UPI sends ReqPay_Credit to the Beneficiary Bank and Beneficiary Bank times out.
7. UPI sends three ReqChkTxn requests to beneficiary bank after the timed out of 30
sec in every 10

seconds interval as a reminder to complete the transaction. Beneficiary bank doesnot respond.
8. UPI sends credit reversal to Beneficiary Bank. Benificiary bank fails to send response for reversal to
UPI system indicating that reversal also got timeout.
9. UPI sends a RespPay with Failure to Payer PSP with response code= BT and reversal response code:
RB
10
. UPI sends a ReqTxnConfirmation to Payee PSP with Failure message.
11. Payee PSP sends a RespTxnConfirmation back to UPI.
12. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The CBS
entry should reflect the correct amount. .
HOME
S.NO TEST ID DETAILS

API Involved : ReqPay


RespPay
Type : Pay
1 PR_2 Approval Type : Non Pre-Approved
Payer Handle : VPA
Payee Handle : Aadhaar

API Involved : ReqPay


RespPay
Type : Pay
2 PR_5 Approval Type : Non Pre-Approved
Payer Handle : VPA
Payee Handle : mobile no+MMID

API Involved : ReqPay


RespPay
Type : Pay
3 PR_8 Approval Type : Non Pre-Approved
Payer Handle : VPA
Payee Handle : VPA
API Involved : ReqAuthDetail
RespAuthDetail
ReqTxnConfirmation
RespTxnConfirmation Type
4 PR_10
: Collect
Approval Type : Non-PreApproved
Payer Handle : VPA
Payee Handle : VPA

API Involved : ReqAuthDetail


RespAuthDetail
ReqTxnConfirmation
RespTxnConfirmation Type
5 PR_23 : Collect
Approval Type : Pre-Approved
Payer Handle : VPA
Payee Handle : VPA

API Involved : ReqAuthDetail


RespAuthDetail
ReqTxnConfirmation
RespTxnConfirmation Type
6 PR_25 : Collect
Approval Type : Pre-Approved
Payer Handle : VPA
Payee Handle : VPA
API Involved : ReqAuthDetail
RespAuthDetail
ReqTxnConfirmation
RespTxnConfirmation
7 PR_40
Type : Collect
Approval Type :
Pre-Approved Payer
Handle : VPA
Payee Handle : VPA

API Involved : ReqPay


RespPay
Type : Collect
7 PE_2 Approval Type : Non Pre-Approved
Payer Handle : VPA
Payee Handle : VPA
API Involved : ReqPay
RespPay
Type : Pay
8 PE_5 Approval Type : Non Pre-Approved
Payer Handle : VPA
Payee Handle : VPA

API Involved : ReqPay


RespPay
Type : Pay
9 PR_32 Approval Type : Pre-Approved
Payer Handle : VPA
Payee Handle :
VPA
HOME
TEST DESCRIPTION TXN INITIATED BY STATUS

A Pay scenario where Payer is using Acct Bank Success


+ IFSC & payee is Aadhar + IIN

A Pay scenario where Payer is using Acct Bank Success


+ IFSC & Payee is Mobile no + MMID

A Pay scenario where Payer is using A/C Bank Success


+ IFSC & payee is multiple VPA
A collect scenario where Payer is using
Acc no+ IFSC & payee is VPA minamount
(Rs.50
) set as half of the actual amount Npci Success/partial
(Rs.10
0
) in ReqPay leg. Payer approved
the txn amount should range from Rs. 50

to Rs. 10
0

A collect scenario where Payer is using


Mobile no+MMID & payee is VPA
minamount set as half of actual amount NPCI Failure
in ReqPay leg. Payer approved the txn
less than the MinAmount . ACK error
code-"U12"

A collect scenario where Payer is using


Mobile no+MMID & payee is VPA
minamount set as half of actual amount NPCI Failure
in ReqPay leg. Payer approved the txn
above limit of Actual amount.
Collect Pre-Approved Scenario to NPCI Partial
verify the Min Amount Validation

A collect scenario where Payee is using Bank Success


Mobile no+MMID & Payer is VPA
A collect scenario where Payer is using
VPA & payee is VPA minamount set as Bank Success
half of actual amount in ReqPay leg.

Pay Pre-Approved Scenario where


Payer PSP/Remitter bank reverses the
partial amount to the customer Bank Failure
account in the multiple payee failure
scenario
TEST STEPS
1. Payer initiates a Pay Request by entering the AADHAAR NO.
and IIN. of the Payee
2.UPI sends a ReqPay_Debit to remitter bank.
3. Remitting Bank debits the customer's account & sends
RespPay_Debit to UPI
4. UPI sends a ReqPay_Credit to the Beneficiary Bank
5. Beneficiary Bank Credits the customer's account and
respond successful credit by sending RespPay_Credit to UPI.
6. UPI sends a RespPay with Success to Payer PSP.
7. UPI sends a ReqTxnConfirmation to Payee PSP with
Successfull message.
8. Payee PSP sends a RespTxnConfirmation back to UPI.
9. Payer and payee should initiate ReqBalEnq api to UPI and
receive RespBalEnq from UPI. The CBS entry should reflect the
correct amount. .

1. Payer initiates a Pay Request by entering the MMID and


Mobile No of the Payee.
2. UPI sends a ReqPay_Debit to remitter bank.
3. Remitting Bank debits the customer's account & sends
RespPay_Debit to UPI
4. UPI sends a ReqPay_Credit to the Beneficiary Bank
5. Beneficiary Bank Credits the customer's account and
respond successful credit by sending RespPay_Credit to UPI.
6. UPI sends a RespPay with Success to Payer PSP
7. UPI sends a ReqTxnConfirmation to Payee PSP with
Successfull message.
8. Payee PSP sends a RespTxnConfirmation back to UPI.
9. .Payer and payee should initiate ReqBalEnq api to UPI and
receive RespBalEnq from UPI. The CBS entry should reflect the
correct amount. .

1. Payer initiates a Pay Request by entering the Virtual


Address of the Multiple Payee's.
2. UPI sends ReqAuthDetail to multiple Payee's PSP in order
to resolve the address
3. Payee's PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPay_Debit to remitter bank.
5. Remitting Bank debits the customer's account & sends
RespPay_Debit to UPI
6. UPI sends a ReqPay_Credit to the Beneficiary's Bank
7. Beneficiary's Bank Credits the customer's account and
respond successful credit by sending RespPay_Credit to UPI.
8. UPI sends a RespPay with Success to Payer PSP
9. UPI sends a ReqTxnConfirmation to Payee's PSP with
Successfull message.
10
. Payee's PSP sends a RespTxnConfirmation back to UPI.
11. Payer and payee's should initiate ReqBalEnq api to UPI
and receive RespBalEnq from UPI. The CBS entry should
reflect the correct amount
1. Payee initiates a Collect Request by entering the Virtual
Address of the Payer . Minamount="Rs.50
" and
Amount="Rs.10
0
"
2.UPI sends ReqAuthDetail to Payer PSP in order to resolve
the address.
3. Payer PSP sends the notification to customer for customer
confirmation of the payment.
4. Payer approved the txn amount should range from Rs. 50

to Rs. 10
0
and send RespAuthDetail to UPI.
5.UPI sends a ReqPay_Debit to remitter bank.
6. Remitting Bank debits the customer's account & sends
RespPay_Debit to UPI
7. UPI sends a ReqPay_Credit to the Beneficiary Bank
8. Beneficiary Bank Credits the customer's account and
respond successful credit by sending RespPay_Credit to UPI.
9. UPI sends a RespPay with Success to Payee PSP
10
. UPI sends a ReqTxnConfirmation to Payer PSP with
Successfull message.
11. Payer PSP sends a RespTxnConfirmation back to UPI.
12. Payer and payee should initiate ReqBalEnq api to UPI and
receive RespBalEnq from UPI. The CBS entry should reflect the
correct amount. .

1. Payee initiates a Collect Request by entering the Virtual


Address of the Payer with Min Amount="50
.0
0
" and actual
Amount="10
0
.0
0
"
2.UPI sends ReqAuthDetail to Payer PSP in order to resolve
the address.
3. Payer PSP approved the txn with Amount ="49.0
0
" which is
less than and sends RespAuthDetail.
4. UPI sends a ACK with FAILURE to Payee PSP with Error
code- U12

1. Payee initiates a Collect Request by entering the Virtual


Address of the Payer with Min Amount="50
.0
0
" and actual
Amount="10
0
.0
0
"
2.UPI sends ReqAuthDetail to Payer PSP in order to resolve
the address.
3. Payer PSP approved the txn with Amount ="120
.0
0
" and
sends RespAuthDetail.UPI sends Negetive Ack as U12.
4. UPI sends a ResPay with FAILURE to Payee PSP with Error
code- U29
5. UPI sends a ReqTxnConfirmation to Payer PSP with FAILURE
message. Payer PSP sends a RespTxnConfirmation back to
UPI.
1. Payee initiates a Collect Request by entering the
Virtual Address of the Payer Minamount="Rs.50
" and
Amount="Rs.10
0
"
2.UPI sends ReqAuthDetail to Payer PSP for address
resolution.
3. Payer PSP sends the notification to customer for
Payee confirmation of the payment.
4. Since Payer and Remitter are same it will be a Pre-
approved transaction. Remitting Bank debits the
customer's account automatically and payer sends the
response code as "0
0
" & approval number in base 64
encrypted format in the RespAuthDetail
Note: UPI decrypted the cred block and verify whether
the response code is matching with the result or not. If
it is not matching with actual response code, UPI will
decline the transaction with negative ACK "C11".
5. UPI sends a ReqPayCredit to the Beneficiary Bank
6. Beneficiary Bank Credits the customer's account and
respond successful credit by sending RespPayCredit to
UPI.
7. UPI sends a RespPay with Success to Payee PSP
8. UPI sends a ReqTxnConfirmation to Payer PSP with
Successful message.
9. Payer PSP sends a RespTxnConfirmation back to UPI.
10
. Payer and Payee should initiate ReqBalEnq api to UPI
and receive RespBalEnq from UPI. The CBS entry should
reflect the correct amount.

Optional
1. Payee initiates a Collect Request by entering the Virtual
Address of the Payer .
2. UPI sends ReqAuthDetail to Payer PSP in order to resolve
the address.
3. Payer PSP sends the notification to customer for customer
confirmation of the payment.
4. Payer PSP sends RespAuthDetail to UPI.
5.UPI sends a ReqPay_Debit to remitter bank.
6. Remitting Bank debits the customer's account & sends
RespPay_Debit to UPI
7. UPI sends a ReqPay_Credit to the Beneficiary Bank
8. Beneficiary Bank Credits the customer's account and
responds successful credit by sending RespPay_Credit to UPI.
9. UPI sends a RespPay with Success to Payee PSP
10
. UPI sends a ReqTxnConfirmation to Payer PSP with
successful message.
11. Payer PSP sends a RespTxnConfirmation back to UPI.
12.Payer and payee should initiate ReqBalEnq api to UPI and
receive RespBalEnq from UPI. The CBS entry should reflect the
correct amount. .
1. Payee initiates a Collect Request by entering the Virtual
Address of the Payer.
2.UPI sends ReqAuthDetail to Payer PSP in order to resolve
the address.
3. Payer PSP sends the notification to customer for customer
confirmation of the payment.
4. Payer PSP sends RespAuthDetail to UPI.
5.UPI sends a ReqPay_Debit to remitter bank.
6. Remitting Bank debits the customer's account & sends
RespPay_Debit to UPI
7. UPI sends a ReqPay_Credit to the Beneficiary Bank
8. Beneficiary Bank Credits the customer's account and
respond successful credit by sending RespPay_Credit to UPI.
9. UPI sends a RespPay with Success to Payee PSP
10
. UPI sends a ReqTxnConfirmation to Payer PSP with
Successfull message.
11. Payer PSP sends a RespTxnConfirmation back to UPI.
12. Payer and payee should initiate ReqBalEnq api to UPI and
receive RespBalEnq from UPI. The CBS entry should reflect the
correct amount

1. Payer initiates a Pay Request by entering the VPA of


two payees and PIN
2. Since Payer and Remitter are same it will be a Pre-
approved transaction. Remitting Bank debits the
customer's account automatically and payer should send
the response code as "0
0
" & approval number in base
64 encrypted format in the ReqPay
3. UPI sends ReqAuthDetail to Payee PSP for address
resolution.
4. Payee PSP sends RespAuthDetail to UPI
5. UPI sends a ReqPayCredit to the Beneficiary Bank of
payee customer 1 and Beneficiary Bank Credits the
customer's account and responds successful credit to
UPI.
6. UPI sends a ReqPayCredit to the Beneficiary Bank of
payee customer 2 and Beneficiary Bank declines the
Credit transaction and responds back to UPI.
7. UPI sends the RespPay with Partial message to Payer's
PSP and response code: ZY( U31). Payer PSP should
reverse the partial amount to the customer account.
8. Two ReqTxnConfirmation messages are sent to both
the Payee PSP's, One with SUCCESS and Other FAILURE.
9. Payee PSP's sends a RespTxnConfirmation back to UPI.
10
. Payer and Payee should initiate ReqBalEnq api to UPI
and receive RespBalEnq from UPI. The CBS entry should
reflect the correct amount.
HOME

S.NO TEST ID DETAILS PSP as

API Invovled : ReqPay_Debit


RespPay_Debit
Type: Debit
1 RE_8 Approval Type: Non-Pre Approved Remitter
Payer Handle : VPA
Payee Handle : VPA

API Invovled : ReqPay_Debit


RespPay_Debit
Type: Debit
2 RE_17 Approval Type: Non-Pre Approved Remitter
Payer Handle : VPA
Payee Handle : VPA

API Invovled : ReqPay_Debit


RespPay_Debit
Type: Debit
3 RE_23 Approval Type: Non-Pre Approved Remitter
Payer Handle : VPA
Payee Handle : VPA
API Involved : ReqPayCredit

RespPayCredit
Type : Credit
4 BE_4 Approval Type : Non-Pre Approved Beneficiary
Payer Handle : VPA
Payee Handle : Mobile no+MMID

API Involved : ReqPayCredit

RespPayCredit
Type : Credit
5 BE_5 Approval Type : Non-Pre Approved Beneficiary
Payer Handle : VPA
Payee Handle : Aadhaar+IIN

API Involved : ReqPayCredit

RespPayCredit
Type : Credit
6 BE_8 Approval Type : Non-Pre Approved Beneficiary
Payer Handle : VPA
Payee Handle : VPA
API Involved : ReqPayCredit

RespPayCredit
Type : Credit
7 BE_15 Approval Type : Non-Pre Approved Beneficiary
Payer Handle : VPA
Payee Handle : Mobile No+MMID
HOME
TXN INITIATED STATUS
TEST DESCRIPTION BY

Partial Debit Reversal NPCI Partial

Respcode: XJ NPCI Failure


REQUESTED FUNCTION NOT SUPPORTED

Partial
Partial Debit Reversal timeout .reversal response
code: RP NPCI
A Pay Scenario where Payer is using Acc No + NPCI Success
IFSC & Payee is Mobile no and MMID

A Pay Scenario where Payer is using Acc No + NPCI Success


IFSC & Payee is Adhaar no and IIN

Partial
Partial Debit Reversal NPCI
Respcode=XK Failure
NPCI
REQUESTED FUNCTION NOT SUPPORTED
TEST STEPS
1. Payer initiates a Pay Request by entering the Virtual Address of the two Payees and PIN.
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPay_Debit to remitter bank.
5. Remitting Bank debits the customer's account & sends RespPay_Debit to UPI.
6. UPI sends a ReqPay_Credit to the Beneficiary Bank of payee customer 1 and Beneficiary Bank
Credits the customer's account and responds successful credit to UPI.
7. UPI sends a ReqPay_Credit to the Beneficiary Banks of payee customer 2 and Beneficiary Bank
declines the Credit transaction and responds back to UPI.
8. UPI sends a Partial DEBIT reversal to Remitting BANK and Remitting Bank sends Response.
9. UPI sends the RespPay with Partial message to Payer's PSP and respnse code:ZY
10
.Two ReqTxnConfirmation message to both the Payee PSPs, one SUCCESS and the other
FAILURE.
10
. Payee's PSP sends a RespTxnConfirmation back to UPI.
11. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The
CBS entry should reflect the correct amount. .

1. Payer initiates a Pay Request by entering the Virtual Address of the Payee .
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPay_Debit to remitter bank.
5. Remitter Bank declines the transcation stating that does not handle the MMID function and
responds back to UPI. Response code- XJ
6. UPI sends a RespPay with FAILURE to Payer PSP with error code-U30

7. UPI sends a ReqTxnConfirmation to Payee PSP with FAILURE message.


8. Payee PSP sends a RespTxnConfirmation back to UPI.
9. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The
CBS entry should reflect the correct amount. .

1. Payer initiates a Pay Request by entering the Virtual Address of the two Payees and PIN.
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPay_Debit to remitter bank.
5. Remitting Bank debits the customer's account & sends RespPay_Debit to UPI.
6. UPI sends a ReqPay_Credit to the Beneficiary Bank of payee customer 1 and Beneficiary Bank
Credits the customer's account and responds successful credit to UPI.
7. UPI sends a ReqPay_Credit to the Beneficiary Banks of payee customer 2 and Beneficiary Bank
declines the Credit transaction and responds back to UPI.Response code-ZY
8. UPI sends a Partial DEBIT reversal to Remitting BANK and Remitting Bank does not send
reversal response to UPI system indicating that partial reversal also got timeout.
9. UPI sends the RespPay with Partial message to Payer's PSP and response code:ZY ,Reversal
response code:RP
10
.Two ReqTxnConfirmation message to both the Payee PSPs, one SUCCESS and the other
FAILURE.
10
. Payee's PSP sends a RespTxnConfirmation back to UPI.
11. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The
CBS entry should reflect the correct amount. .
1. Payer initiates a Pay Request by entering the Financial Address of the Payee customer .
2. UPI sends a ReqPay_Debit to remitter bank.
3. Remitting Bank debits the customer's account & sends RespPay_Debit to UPI
4. UPI sends a ReqPay_Credit to the Beneficiary Bank
5. Beneficiary Bank Credits the customer's account and respond successful credit by sending
RespPay_Credit to UPI.
6. UPI sends a RespPay with Success to Payer PSP
7. UPI sends a ReqTxnConfirmation to Payee PSP with Successfull message.
8. Payee PSP sends a RespTxnConfirmation back to UPI.
9. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The
CBS entry should reflect the correct amount. .

1. Payer initiates a Pay Request by entering the Financial Address of the Payee customer. Account
Information contains AADHAAR NO. and IIN.
2. UPI sends a ReqPay_Debit to remitter bank.
3. Remitting Bank debits the customer's account & sends RespPay_Debit to UPI
4. UPI sends a ReqPay_Credit to the Beneficiary Bank
5. Beneficiary Bank Credits the customer's account and respond successful credit by sending
RespPay_Credit to UPI.
6. UPI sends a RespPay with Success to Payer PSP
7. UPI sends a ReqTxnConfirmation to Payee PSP with Successfull message.
8. Payee PSP sends a RespTxnConfirmation back to UPI.
9. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The
CBS entry should reflect the correct amount. .

1. Payer initiates a Pay Request by entering the Virtual Address of the two Payees customer and
PIN.
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPay_Debit to remitter bank.
5. Remitting Bank debits the customer's account & send the RespPay_Debit to UPI
6. UPI sends a ReqPay_Credit to the Beneficiary Bank of payee customer 1 and Beneficiary Bank
Credits the customer's account and responds successful credit to UPI.
7. UPI sends a ReqPay_Credit to the Beneficiary Banks of payee customer 2 and Beneficiary Bank
reject the Credit transaction and responds back to UPI. Response code-XI
8. UPI sends a DEBIT reversal to Remitting BANK and Remitting Bank sends the Response reversal
to UPI.
9. UPI sends the respPay with Partial message to Payer's PSP and response code:XI
10
. ReqTxnConfirmation message to both the Payee PSPs, one SUCCESS and the other FAILURE.
10
. Payee's PSP sends a RespTxnConfirmation back to UPI.
11. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The
CBS entry should reflect the correct amount. .
1. Payer initiates a Pay Request by entering the Virtual Address of the Payee customer.
2. UPI sends ReqAuthDetail to Payee PSP in order to resolve the address
3. Payee PSP sends RespAuthDetail to UPI
4. UPI sends a ReqPay_Debit to remitter bank.
5. Remitting Bank debits the customer's account & sends RespPay_Debit to UPI
6. UPI sends a ReqPay_Credit to the Beneficiary Bank
7. Beneficiary Bank declines the transcation stating that requested MMID function does not
exists and responds back to UPI.Response code-XK
8. UPI declines and sends the ReqPay with reversal to Remitting BANK.
9. Remitting BANK sends a RespPay REVERSAL with SUCCESS message.
10
. UPI sends a RespPay with FAILURE to Payer PSP error code-U31.
11. UPI sends a ReqTxnConfirmation to Payee PSP with FAILURE message.
12. Payee PSP sends a RespTxnConfirmation back to UPI.
13. Payer and payee should initiate ReqBalEnq api to UPI and receive RespBalEnq from UPI. The
CBS entry should reflect the correct amount. .
HOME
TEST ID FUNCTIONALITY
MA_1 Mobile number verification

MA_2 User registeration Name, mail id, security question

MA_3 Set Application Password

MA_4 Forgot Application Password

MA_5 Change Application Password

MA_6 Add VPA

MA_7 Add Bank

MA_8 Set MPIN

a) Change MPIN

MA_9

b)Forget MPIN

MA_10 Bal Enq

MA_11 Manage beneficiary


MA_12 OTP Check in MPIN

MA_13 OTP Check in Forgot MPIN

MA_14 Resend OTP

MA_15 Resend OTP

MA_16 Transaction History


MA_17 Complaints
MA_18 Deregister

MA_19 Update security question

MA_20 Notification or SMS in Pay and Collect

MA_21 Sim selection


MA_22 Multiple handles(List PSP)

MA_23 CL 1.5 PSP changes

MA_24 USSD mobile testing

E2E CASES

MA_25 Pay using vpa


MA_26 Pay using Account+IFSC

MA_27 Pay using Mobile+MMID

MA_28 Pay using Aadhar+IIN

MA_29 Pay using Aadhar

MA_30 Pay from Dormant/Inactive Account

MA_31 Collect using VPA

MA_32 Collect Expiry

MA_33 No SIM Txn


HOME
STEPS TO EXECUTE
1) Send SMS
2)Validating screen

1)Enter Name(First Name & Last Name preferable)


2)Enter mail id
3) Select preferred security question & enter answer
4) Click Submit
1) Enter Application Password
2) Confirm Application Password
3) Submit

1) Security question should be viewed, & answer to be entered


2) Enter Application Password
2) Confirm Application Password
3) Submit

1) Enter OLD Application Password


2) Enter NEW Application Password
3)Confirm Application Password
4) Submit
1) Enter desired vpa( only alphanumeric, dot and hyphen)
2) Check availablity and approve

1) List of all banks to be viewed


2) Select desired bank
3) Bank added succesfully and accounts mapped to the number will be
retrieved.

1)Card details and expiry date to be provided


2)NPCI CL page opens up 3)OTP
should be auto populated (if PSP is supporting CL 1.5). Otherwise OTP should
be manually entered by user
4)Enter MPIN & ATM PIN (Note: ATM PIN is supported only if issuer supports
CL1.5)
5) Verify the length of OTP, MPIN & ATM PIN being requested in the NPCI CL
page- The length of OTP, MPIN & ATM PIN should be same as the value
mentioned in the 'dlength' field of RespList account. (XML verification of the
RespListAccount is necessary for this purpose)

1) NPCI CL page opens


2) Enter Old MPIN
3) Enter New MPIN and click Submit.
4) Verify the length of MPIN being requested in the NPCI CL page - The length
of MPIN should be same as the value mentioned in the 'dlength' field of
RespList account. (XML verification of the RespListAccount is necessary for this
purpose)

1)Card details and expiry date to be provided


2)NPCI CL page opens up 3)OTP
should be auto populated (if PSP is supporting CL 1.5). Otherwise OTP should
be manually entered by user
4)Enter MPIN & ATM PIN (Note: ATM PIN is supported only if issuer supports
CL1.5)
5) Verify the length of OTP, MPIN & ATM PIN being requested in the NPCI CL
page- The length of OTP, MPIN & ATM PIN should be same as the value
mentioned in the 'dlength' field of RespList account. (XML verification of the
RespListAccount is necessary for this purpose)
1) Enter MPIN
2) Balance should be generated
1)Enter payee vpa
2) Enter payee name and click on submit
1)Card details and expiry date to be provided
2)CL page opens up 3) OTP should
be auto populated. 4)Enter MPIN and
click submit.

1)Card details and expiry date to be provided


2)CL page opens up 3) OTP should be
auto populated. 4)Enter MPIN and click
submit.

1) Set MPIN/ Change MPIN/Forgot MPIN


2)CL Page opens up
3)OTP should be auto populated, if not RESEND button should be activated
after 45 sec.
4)Enter MPIN and click submit.

1) Set MPIN/ Change MPIN/Forgot MPIN


2)CL Page opens up
3) During OTP prompt screen, banks hould not respond with OTP - Please
ignore that.
4) Please click Resend OTP
5) Enter the new OTP sent by bank
6) Enter MPIN and click submit.
7) Bank is expected to approve the transaction based on the new OTP
Pay and Collect txn from app should be stored with date/time.
Txn history should have option of raising a query against individual txn
Existing profile with app should be deleted, previously used vpa should not
used again
1) Enter answer of previous secuirty question
2) Select new security question
3) Enter answer and submit.

1) Pay and collect should recevie SMS on the phone


2) App should have notification tab, which will store the collect requests.
Dual sim selection should be enabled.
Banks will multiple handle should have an option to select preferred handle at
the time of registeration.

The following are to be verified in the new app released with CL 1.5
compatibility:
1) MPIN to be changed to UPI PIN
2) Confirm UPI PIN functionality
3) OTP auto reading functionality
4) Virtual keyboard option
5) Multi-lingual support
6) Forgot PIN option
7) Resend OTP functionality
8) Verified merchant symbol

The folllowing scenarios to be tested on USSD channel for OTP bypass:


1) List Account
2) Set UPI PIN (ReqRegMob)
3) Send money to mobile number (on-us)
4) Send money to mobile number (off-us with bank as remitter)
5) Send money to mobile number (off-us with bank as beneficiary)
E2E CASES

1) Select registered payer vpa(incase of multiple handles)


2) Enter Payee vpa
3) Validating of payee vpa
4) Enter amount
5) Pay
1) Select registered payer vpa(incase of multiple handles)
2) Enter Payee vpa(Account+IFSC Format)
3) Validating of payee vpa
4) Enter amount
5) Pay

1) Select registered payer vpa(incase of multiple handles)


2) Enter Payee vpa(Mobile+MMID Format)
3) Validating of payee vpa
4) Enter amount
5) Pay

1) Select registered payer vpa(incase of multiple handles)


2) Enter Payee vpa(Aadhar+IIN Format)
3) Validating of payee vpa
4) Enter amount
5) Pay

1) Select registered payer vpa(incase of multiple handles)


2) Enter Payee vpa(Aadhar Format)
3) Validating of payee vpa
4) Enter amount
5) Pay

1) Select registered payer vpa(incase of multiple handles)


2) Enter Payee vpa
3) Validating of payee vpa
4) Enter amount
5) Pay will fail due to dormant account.

1) Enter payer vpa


2) Validating of Payer vpa
3) Enter amount and min amount
4) Select expire after limit
5) Collect
1) Notifcation recevied for collect on payer app
2) Payee approves after the expiry limit
3) Transaction fails with collect expired.

1) App is registered with account details and vpa is set


2) SIM is removed
3) Pay and Collect is initiated
4) Txn should not pass through.

You might also like