---
page_title: Set/Reset MPIN
product: UPI TPAP SDK
platform: React Native
page_source: https://juspay.io/in/docs/upi-tpap-sdk/react-native/headless-process-payloads/set-reset-mpin
llms_txt: https://juspay.io/in/docs/llms.txt
product_llms_txt: https://juspay.io/in/docs/upi-tpap-sdk/llms.txt
---


## Set/Reset MPIN



The merchant can call this API to allow a customer to set/reset their Bank/Credit Account MPIN via respective Debit card/ Credit card/ Aadhaar OTP flow as applicable.

For **Aadhaar OTP flow,**  a prior [Get Accounts](https://juspay.io/in/docs/upi-tpap-direct-sdk/android/headless-process-payloads/get-accounts#Get-Accounts) call will have to be done with additional parameter aadhaarConsent as true after taking user’s consent on set Mpin screen. In response of the same if aadhaarEnabled parameter is true, then only allow user to set Mpin via Aadhaar flow based on the first 6 digit’s of Aadhaar entered by user.


###   Process Parameters



## Request Payload
- **RequestId**:
  - Description: Unique uuid-v4 string
  - Value: Example: abcd-12345-abcd-12345
  - Tags: String, Mandatory
- **Service**:
  - Description: Value: in.juspay.hyperapi
  - Tags: String, Mandatory
- **Payload**:
  - Description: Parameters required to call Hyper SDK API
  - Value:
    - **Action**:
      - Description: Action to be performed on SDK
      - Value: upiSetMpin
      - Tags: String, Mandatory
    - **CustomerVpa**:
      - Description: VPA of the customer linked to account
      - Tags: String, Mandatory
    - **Card**:
      - Description: The last 6 digits of customer's card
      - Tags: String, Mandatory
    - **AadhaarNo**:
      - Description: First six digits of customer's Aadhaar number. Applicable for set Mpin via Aadhaar OTP Flow
      - Value: Example: 111122
      - Tags: String, Optional
    - **AadhaarConsent**:
      - Description: Aadhar Consent either be True or False
      - Value: True/false
      - Tags: String, Optional
    - **GetCardDetailsInCL**:
      - Description: Enter Card Details in CL screen
      - Tags: Boolean, Optional
    - **Expiry**:
      - Description: Expiry date for the customer's card
      - Tags: String, Mandatory
    - **UpiRequestId**:
      - Description: Unique identifier (uuid) for the request sent to NPCI
      - Tags: String, Mandatory
    - **AccountReferenceId**:
      - Description: Unique Identifier for the account for which Mpin is to be set
      - Tags: String, Mandatory
  - Tags: JSON, Mandatory


## Response Payload
- **RequestId**:
  - Description: Unique uuid-v4 string
  - Value: Example: abcd-12345-abcd-12345
  - Tags: String
- **Service**:
  - Description: Value: in.juspay.hyperapi
  - Tags: String
- **Payload**:
  - Description: Response Parameters
  - Value:
    - **Action**:
      - Description: Action performed on SDK.
      - Value: upiSetMpin
      - Tags: String, Mandatory
    - **BankAccountUniqueId**:
      - Description: Unique Identifier for bank account across banks
      - Tags: String, Mandatory
    - **AccountReferenceId**:
      - Description: Unique Identifier for the account for which mpin is to be set
      - Tags: String, Mandatory
    - **BankCode**:
      - Description: IIN Code for the bank
      - Tags: String, Mandatory
    - **CustomerMobileNumber**:
      - Description: masked phone number of the customer
      - Value: <Customer mobile number>
      - Tags: String, Mandatory
    - **CustomerVpa**:
      - Description: Unique Identifier for the account for which mpin is to be set
      - Tags: String, Mandatory
    - **MaskedAccountNumber**:
      - Description: Account Number with last few digits visible
      - Tags: String, Mandatory
    - **Status**:
      - Description: Status of the API
      - Value: SUCCESS/FAILURE
      - Tags: String, Mandatory
    - **GatewayResponseCode**:
      - Description: Response Code received from NPCI
      - Tags: String, Mandatory
    - **GatewayResponseMessage**:
      - Description: Response message received from NPCI
      - Tags: String, Mandatory
    - **OtherInfo**:
      - Description: As passed in request
      - Tags: String, Optional
  - Tags: JSON
- **Error**:
  - Description: Possible values :- true/false
  - Tags: Boolean
- **ErrorMessage**:
  - Description: Error Message
  - Tags: String
- **ErrorCode**:
  - Description: Error Code
  - Tags: String
- **Event**:
  - Description: Value: process_result
  - Tags: String





#### Code Snippets: -

#### Java Code Snippet:

```java
{"success":false,"message":"Failed to fetch snippet"}
```

#### Kotlin Code Snippet:

```kotlin
{"success":false,"message":"Failed to fetch snippet"}
```


## Sample Code Snippets:
### Request snippets:

#### Request Code Snippet:

```request
{"success":false,"message":"Failed to fetch snippet"}
```

### Response snippets:

#### Response:
```plaintext
{"success":false,"message":"Failed to fetch snippet"}
```



---

## Complete Code Reference

The following code files are referenced in the steps above:

### processTpapDirect.txt

```
{"success":false,"message":"Failed to fetch snippet"}
```


---

## See Also

- [Link Account to Vpa](https://juspay.io/in/docs/upi-tpap-sdk/react-native/headless-process-payloads/link-account-to-vpa)
- [Change MPIN](https://juspay.io/in/docs/upi-tpap-sdk/react-native/headless-process-payloads/change-mpin)
