---
page_title: Bind and Activate Device
product: UPI TPAP SDK
platform: React Native
page_source: https://juspay.io/in/docs/upi-tpap-sdk/react-native/headless-process-payloads/bind-and-activate-device
llms_txt: https://juspay.io/in/docs/llms.txt
product_llms_txt: https://juspay.io/in/docs/upi-tpap-sdk/llms.txt
---


## Bind and Activate Device



This api is used to bind the device to the customer. If device binding is not completed before the expiry of sms token, the sms token will be marked as expired.


###   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: Should be upiBindActivateDevice for this call.
      - Value: upiBindActivateDevice
      - Tags: String, Mandatory
    - **SimId**:
      - Description: ID for sim
      - Value: 0/1/2, etc
      - Tags: String, Mandatory
    - **IsBindAndActivateRequest**:
      - Description: Possible values: true/false
      - Value: Value: true
      - Tags: Boolean, Mandatory
    - **MerchantKeyId**:
      - Description: Key ID to identify the public-private key pair used for signature generation.
      - Value: Example: 1234
      - Tags: String, Mandatory
    - **Signature**:
      - Description: Signature generated for the signaturePayload
      - Value: <signature>
      - Tags: String, Mandatory
    - **SignaturePayload**:
      - Description: Signature payload is a stringified JSON of the details mentioned in the below table.
      - Value:
        - **Merchant_id**:
          - Description: Unique identifier associated with an account created by juspay.Ex: stock
          - Tags: String, Mandatory
        - **Customer_id**:
          - Description: Any unique reference associated with your customer.
          - Tags: String, Mandatory
        - **Timestamp**:
          - Description: Time when request is created in milliseconds.
          - Tags: String, Mandatory
      - Tags: String, Mandatory
    - **CustomerMobileNumber**:
      - Description: The customerMobileNumber passed here should be same as the sim used for binding, any other number will result in failure
      - Value: <Customer mobile number>
      - Tags: String, Optional
    - **UdfParameters**:
      - Description: Stringified JSON for udf parameters
      - Tags: JSON String, Optional
  - Tags: JSON, Mandatory


## Response 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: Response Parameters
  - Value:
    - **Action**:
      - Description: Operation performed in the SDK.
      - Value: upiBindActivateDevice
      - Tags: String, Mandatory
    - **Status**:
      - Description: Status of the Operation. Possible values : SUCCESS/FAILURE
      - Tags: String, Mandatory
    - **IsDeviceBound**:
      - Description: If the current device is in bound state or not.
      - Value: Possible values: true/false
      - Tags: String, Mandatory
    - **IsDeviceActivated**:
      - Description: If the device is in active state or not
      - Value: Possible values: true/false
      - Tags: String, Mandatory
    - **Prefix**:
      - Description: Prefix to append before requestID
      - Value: Example: ABC
      - Tags: String, Mandatory
    - **VpaAccounts**:
      - Description: It's an array of Vpa Accounts. We will get this only after successful linking of accounts.
      - Value:
        - **Vpa**:
          - Description: Vpa
          - Tags: String, Mandatory
        - **Account**:
          - Description: Accounts linked to this vpa
          - Value:
            - **BankCode**:
              - Description: IIN Code for the bank
              - Tags: String, Mandatory
            - **BankName**:
              - Description: Name of bank
              - Tags: String, Mandatory
            - **MaskedAccountNumber**:
              - Description: Account Number with last few digits visible
              - Tags: String, Mandatory
            - **MpinLength**:
              - Description: Length of mpin
              - Tags: String, Mandatory
            - **MpinSet**:
              - Description: Is mpin set?
              - Value: Possible values: true/false
              - Tags: String, Mandatory
            - **ReferenceId**:
              - Description: Account Reference Id
              - Tags: String, Mandatory
            - **OtpLength**:
              - Description: Length of OTP
              - Value: Example: 6
              - Tags: String, Mandatory
            - **AtmPinLength**:
              - Description: Length of atm pin
              - Value: Example: 6
              - Tags: String, Mandatory
            - **Type**:
              - Description: Type of account
              - Value: Example: Savings
              - Tags: String, Optional
            - **BranchName**:
              - Description: Name of branch in which account is registered
              - Tags: String, Optional
            - **BankAccountUniqueId**:
              - Description: Unique Identifier for bank account across banks
              - Tags: String, Optional
            - **Ifsc**:
              - Description: Account IFSC
              - Tags: String, Optional
            - **IsPrimary**:
              - Description: Is this account the primary account
              - Value: Possible values: true/false
              - Tags: String, Optional
            - **Name**:
              - Description: Name of account holder
              - Value: Example: ABC
              - Tags: String, Optional
          - Tags: Array of JSON, Mandatory
      - Tags: Array of JSON, Optional
    - **CustomerMobileNumber**:
      - Description: Masked phone number of the customer
      - Value: <Customer mobile number>
      - Tags: String, Optional
    - **DeviceFingerPrint**:
      - Description: Unique fingerprint of the device
      - Tags: String, Optional
    - **OtherInfo**:
      - Description: As passed in request
      - Tags: String, Optional
  - Tags: JSON, Mandatory
- **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:

### InappHeadless.txt

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


---

## See Also

- [Get Permission](https://juspay.io/in/docs/upi-tpap-sdk/react-native/headless-process-payloads/get-permission)
- [UPI Get Bank List](https://juspay.io/in/docs/upi-tpap-sdk/react-native/headless-process-payloads/upi-get-bank-list)
