---
page_source: https://docs.juspay.io/upi-inapp/android/headless-process-payloads/pay-to-upi-number
page_title: Pay to UPI Number
---


## Pay to UPI Number



This operation will enable customers to pay to other customers by entering customer's upi number


###   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: Operation to be performed in the SDK.
      - Value: upiSendMoney
      - Tags: String, Mandatory
    - **PayType**:
      - Description: P2P_PAY / SCAN_PAY / INTENT_PAY / SELF_PAY
      - Tags: String, Mandatory
    - **CustomerVpa**:
      - Description: Customer VPA
      - Tags: String, Mandatory
    - **PayeeVpa**:
      - Description: Payee VPA will be available as **customerVpa**  in the response of [Valid VPA](valid-vpa) call
      - Tags: String, Mandatory
    - **PayeeName**:
      - Description: Payee Name
      - Tags: String, Mandatory
    - **UpiRequestId**:
      - Description: request id for upi transaction
      - Tags: String, Mandatory
    - **Amount**:
      - Description: Amount to be transfered. Numeric String with two decimals
      - Tags: String, Mandatory
    - **UpiNumber**:
      - Description: UPI Number of the payee
      - Tags: String, Mandatory
    - **AccountReferenceId**:
      - Description: reference id for selected accounts
      - Tags: String, Mandatory
    - **Remarks**:
      - Description: Remarks sent for transaction
      - Tags: String, Mandatory
    - **Timestamp**:
      - Description: timestamp
      - 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
    - **PayeeAccountReferenceId**:
      - Description: Only required in SELF_PAY (Account reference Id for destination account of payee)
      - Tags: String, Optional
    - **TransactionReference**:
      - Description: No - in the case of P2P_PAY. Yes - in the case of SCAN_PAY (As received in the QR in tr parameter). INTENT_PAY - As received in the intent in tr parameter
      - Value: Possible values: No/Yes/INTENT_PAY
      - Tags: String, Optional
    - **RefCategory**:
      - Description: No - P2P_PAY Yes - SCAN_PAY (As received in the QR in category parameter.) INTENT_PAY (As received in the intent in category parameter)
      - Tags: String, Optional
    - **RefUrl**:
      - Description: No - P2P_PAY Yes - SCAN_PAY (As received in the QR in url parameter.) INTENT_PAY (As received in the intent in url parameter)
      - Tags: String, Optional
    - **Currency**:
      - Description: No - P2P_PAY Yes - SCAN_PAY (As received in the QR in cu parameter.) INTENT_PAY (As received in the intent in cu parameter)
      - Tags: String, Optional
    - **InitiationMode**:
      - Description: Refer Intiation Mode table
      - Tags: String, Optional
    - **Mcc**:
      - Description: No - P2P_PAY Yes - SCAN_PAY (As received in the QR in mc parameter.) INTENT_PAY (As received in the intent in mc parameter)
      - Tags: String, Optional
    - **MerchantKeyId**:
      - Description: Key ID to identify the public-private key pair used for signature generation
      - Tags: String, Optional
    - **UdfParameters**:
      - Description: Stringified json for udf parameters
      - Tags: String, Optional
  - 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: Operation to be performed in the SDK.
      - Value: upiSendMoney
      - Tags: String, Mandatory
    - **CustomerVpa**:
      - Tags: String, Mandatory
    - **CustomerMobileNumber**:
      - Description: masked phone number of the customer
      - Value: <Customer mobile number>
      - Tags: String, Mandatory
    - **Amount**:
      - Description: Amount sent. Numeric String with two decimals
      - Tags: String, Mandatory
    - **PayType**:
      - Description: P2P_PAY / SCAN_PAY / INTENT_PAY / SELF_PAY
      - Tags: String, Mandatory
    - **TransactionTimestamp**:
      - Description: Timestamp of transaction
      - Tags: String, Mandatory
    - **GatewayTransactionId**:
      - Description: upiRequestId as passed in request
      - Tags: String, Mandatory
    - **GatewayReferenceId**:
      - Description: upiResponseId as passed in request
      - Tags: String, Mandatory
    - **GatewayResponseCode**:
      - Description: Response Code received from NPCI
      - Tags: String, Mandatory
    - **GatewayResponseMessage**:
      - Description: Response Message received from NPCI
      - Tags: String, Mandatory
    - **BankCode**:
      - Description: IIN Code for the bank
      - Tags: String, Mandatory
    - **PayeeMcc**:
      - Description: Merchant Category Code of the payee merchant
      - Tags: String, Optional
    - **RefUrl**:
      - Tags: String, Optional
    - **MaskedAccountNumber**:
      - Description: Account Number with last few digits visible
      - Tags: String, Mandatory
    - **BankAccountUniqueId**:
      - Description: Unique Identifier for bank account across banks
      - Tags: String, Mandatory
    - **Status**:
      - Description: If upiSendMoney call was success or failed
      - Value: SUCCESS / FAILURE
      - 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






###   Initiation Mode


> **Note**
> [Click here for Initiation mode](../miscellaneous/initiation-mode)





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

#### Request Code Snippet:

```request
{
  "service": "in.juspay.hyperapi",
  "requestId": "f9432fad-a575-451a-956c-3369a6ff6b01",
  "payload": {
    "timestamp": "1639168893633",
    "signaturePayload": "<signaturePayload>",
    "signature": "EDe...==",
    "remarks": "",
    "payeeVpa": "XXXXXXXX@XXXXXXX",
    "payeeName": "XXXXXXXX@XXXXXXX",
    "payType": "P2P_PAY",
    "merchantKeyId": "1234",
    "customerVpa": "XXXXXXXXXXXX@XXXXXX",
    "amount": "5.00",
    "upiNumber": "98765432",
    "accountReferenceId": "XXXXXXXXXXXXXXXXXXX",
    "upiRequestId": "XXXXXXXXXXXXXXXXXXXXXXXX",
    "action": "upiSendMoney"
    "refUrl": "www.google.com"
  }
}

"signaturePayload": {
  "merchant_id" = "stock",
  "customer_id" = "1234567",
  "timestamp" = "234562345",
  "amount" = "5.00"
}
```

### Response snippets:

#### Response:
```plaintext
{
  "service": "in.juspay.hyperapi",
  "requestId": "f9432fad-a575-451a-956c-3369a6ff6b01",
  "payload": {
    "udfParameters": "{}",
    "transactionTimestamp": "2021-12-11T02:11:46+05:30",
    "status": "SUCCESS",
    "payType": "P2P_PAY",
    "maskedAccountNumber": "XXXXXXXXXX998898",
    "gatewayTransactionId": "XXXXXXXXXXXXXXXXXXXXXXXX",
    "gatewayResponseMessage": "SUCCESS",
    "gatewayResponseCode": "00",
    "gatewayReferenceId": "134420747893",
    "customerVpa": "XXXXXXXX@XXXXXXXX",
    "customerMobileNumber": "XXXXXXXX",
    "bankCode": "500007",
    "bankAccountUniqueId": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    "amount": "5.00",
    "action": "upiSendMoney",
    "refUrl": "www.google.com"
  },
  "event": "process_result",
  "errorMessage": "",
  "errorCode": "",
  "error": false
}
```

