---
page_source: https://juspay.io/in/docs/upi-merchant-stack/docs/transactions/web-collect-360
page_title: Web Collect 360
---

## API Version: default


# Web Collect 360



This API will be used to send collect notification to respective PSP App of the user.


### **Mutual Fund Use case:** 



Mutual Fund information using which the file to be shared with ICCL needs to be created to be passed in this API as a JSON (Refer request params & API format below).


### **TPV Use case:** 



For TPV (Third Party Validation) payerAccountHashes needs to be passed in the request body and the same will be passed back in response along with corresponding values. PayerAccountHashes will be taken as an array so that merchants can send multiple account hashes which will be verified against the account details selected by user shared by NPCI.

PSP will reject the request if the customer makes the payment with a different account details and send a failure callback to the merchant.


### **Split Settlement Use case:** 



Merchants must enter the split settlement details in the API calls whenever they want to split the payment and process multiple split settlements. Fields in this object (SplitSettlement) are both required and optional. Merchants can utilize these fields to settle to your vendors/partners by numerous categories, such as AMOUNT, PERCENTAGE, DEFAULT, and LATER, with the maximum flexibility possible.


### **GST Use case: For Stock & GST Merchants** 



> **Note**
> 1. Validity of a **payerVpa**  can be verified using the **Verify VPA**  API.
> 2. The **payeeVpa**  should be a valid PSP generated vpa for the merchant.
> 3. If **refUrl**  is passed in request, **refCategory**  becomes essential for the API to work. So it's either both as combination or none.

## Endpoints:
- Production: {{host}}/api/{{uri}}/merchants/transactions/webCollect360

## Request Type: 
POST

## Headers:

#### jpupi-routing-id:
Header value should be same as of **merchantRequestId**  sent in request body
- Tags: String, Mandatory
## Sample Code Snippets:
### Code Snippets:

#### Shell Code Snippet:

```shell
{"success":false,"message":"No Data found for the given path"}
```

### Sample Request and Response:

#### Request:
```json
{"success":false,"message":"No Data found for the given path"}
```

#### Response:
```json
{"success":false,"message":"No Data found for the given path"}
```

## Body Parameters:
### Basic Params:

#### merchantRequestId:
- Description: Merchant generated unique id for the transaction.

**Constraint:** Max**** 35 characters alphanumeric, can also contain hyphen(-), dot(.) & underscore(_)
- Tags: String, Mandatory

#### payerVpa:
- Description: Vpa on which collect request should be triggered. 

Example**:** something@handle.

**Constraint:**  VPA should only contain a-z, 0-9, . (dot), - (hyphen).
- Tags: String, Mandatory

#### payerName:
- Description: Name of the payer.

**Constraint:** String as returned in the [Verify VPA](https://docs.juspay.in/upi-psp/docs/merchant-transactions/verify-vpa-360) API.
- Tags: String, Optional

#### payeeVpa:
- Description: VPA of the merchant to be used for payment.

Example**:** testmerchant@handle.

**Constraint:**  VPA should only contain a-z, 0-9, . (dot), - (hyphen).
- Tags: String, Mandatory

#### collectRequestExpiryMinutes:
- Description: Minutes for which request is valid.

**Constraints:** A number between 1 to 64800, both inclusive, in String format.
- Tags: String, Mandatory

#### amount:
- Description: Amount of collect request to be sent.

**Constraints:** Amount in two decimals. Decimals are mandatory.
- Tags: String, Mandatory

#### remarks:
- Description: Any transaction summary.

**Constraints:** The transaction note must be alphanumeric, with a **minimum length of 1 character and a maximum length of 50**  characters.
- Tags: String, Mandatory

#### purpose:
- Description: Defines the purpose code of the transaction.

**Constraints:** Refer [purpose code list](https://docs.juspay.in/upi-psp/docs/resources/purpose-code).
- Tags: String, optional

#### initiationMode:
- Description: Defines the initiation mode of the transaction.

**Constraints:** Refer [initiation mode list](https://docs.juspay.in/upi-psp/docs/resources/initiation-mode).
- Tags: String, optional

#### refUrl:
- Description: Invoice as sent by merchant in the form of url.
- Value:  Constraints: String
- Tags: String, optional

#### refCategory:
- Description: Details for refUrl, whether it is 01(advertisement), 02(invoice)
- Value:  Constraints: String
- Tags: String, optional

#### iat:
- Description: Current Epoch Unix timestamp string. Has to be of 13 digit in Milliseconds.

Example: 1496918882000.
- Tags: String, Mandatory

#### udfParameters:
- Description: Merchant Defined Parameters

Example: "{\"udf1\":\"value1\",\"udf2\":\"value2\",…}"**Note** : Few special characters are not allowed. Regex for the characters which are not allowed : **^[^/#-()*!%~`]+$** 
- Tags: Stringified JSON, Optional
### Mutual Funds Params:

#### mutualFundDetails:
- Description: Contains details of Mutual Funds.
- Value:
  - **MemberId**:
    - Description: Member Id with ICCL or ARN_RIA with RTA.
    - Tags: String, Mandatory
  - **UserId**:
    - Description: Client Id with ICCL or USER_CODE with RTA.
    - Tags: String, Mandatory
  - **MfPartner**:
    - Description: One of the below.NSE, BSE, KFIN, CAMS.
    - Tags: String, Mandatory
  - **FolioNumber**:
    - Description: Folio Number of the MF, used for RTA reporting. Mandatory for RTA reporting.
    - Tags: String, optional
  - **OrderNumber**:
    - Description: Unique order number of each MF.
    - Tags: String, Mandatory
  - **Amount**:
    - Description: Individual MF amount within the array of MF being purchased.
      
      (Amount in two decimals. Decimals are mandatory).
    - Tags: String, Mandatory
  - **SchemeCode**:
    - Description: Scheme Code of the MF, used for RTA reporting. Mandatory for RTA reporting.
    - Tags: String, optional
  - **AmcCode**:
    - Description: AMC Code of the MF, used for RTA reporting. Mandatory for RTA reporting.
    - Tags: String, optional
  - **PanNumber**:
    - Description: PAN Number of the user, used for RTA reporting. Mandatory for RTA reporting.
    - Tags: String, optional
  - **InvestmentType**:
    - Description: One of the below; LUMPSUM, SIP.
    - Tags: String, Mandatory
  - **IhNumber**:
    - Description: In-house Number of the SIP.
    - Tags: String, optional
  - **ApplicationNumber**:
    - Description: Application Number (Partner Reference Number)- ITRN.
    - Tags: String, optional
- Tags: Json String, optional
### TPV Params:

#### payerAccountHashes:
- Description: Hashed value of accounts to be passed by merchant for TPV. 

**Hashing logic** **:** 

payerAccountHash = sha256( account Number + first 4 digit of account IFSC)From account Number the leading zeros should be removed and then the hash should be calculated.Eg: Account No. = 0000123456789 & IFSC = ABCD0000345

Hash will be calculated on 123456789ABCD.
- Tags: Array Of String, optional
### Split Settlement Params:

#### splitSettlementDetails:
- Description: Split Settlement details of merchant and partners for this transactions.
- Value:
  - **SplitType**:
    - Description: The type of split for this transaction. Can be AMOUNT,  PERCENTAGE, DEFAULT, LATER.
    - Tags: String, Mandatory
  - **MerchantSplit**:
    - Description: Split share for merchant pool account.
    - Tags: String, optional
  - **PartnersSplit**:
    - Description: List of partners for which the split needs to be divided with the value.
    - Value:
      - **PartnerId**:
        - Description: The LSP id provided by the bank.
        - Tags: String, Mandatory
      - **Value**:
        - Description: Split share for LSP account. Decimal Value.
        - Tags: String, Mandatory
    - Tags: String, Conditional
- Tags: Json String, optional
### GST Params:

#### Split:
- Description: Split details of GST merchants .
- Value:
  - **Name**:
    - Description: One of the below:GST Split name PURCHASE,CASHBACK, DISCOUNT, GST, CGST, SGST, CESS, IGST, GSTINCENTIVE, TIPS, CONFEE, DISCPCT, CONPCT & GSTPCT.
      
      UPI International Split nameBASEAMOUNT,BASECURR,FX&MKUP.
    - Tags: String, Optional
  - **Value**:
    - Description: Appropriate split value according to split name.
    - Tags: String, Optional
- Tags: jSON String, Optional

#### invoiceName:
- Description:  Invoice name of the order.
- Tags: String, Optional

#### invoiceNum:
- Description: Invoice number of the order.
- Tags: String, Optional

#### invoiceDate:
- Description: Date of the invoice of the order.
- Tags: String, Optional

#### Geocode:
- Description: Geographical code from where the txn was initiated.
- Tags: String, Optional
## API Responses:
### 200:

#### status:
- Description: PSP status of the API.
- Value: Values: SUCCESS | FAILURE
- Tags: String, Mandatory

#### responseCode:
- Description: PSP response code for the API.

**Values:** Refer Codes Guide in Resource Section.
- Tags: Mandatory, String

#### responseMessage:
- Description: PSP response message for the API.

**Values:** Refer Codes Guide in Resource Section.
- Tags: Mandatory, String

#### payload:
- Value:
  - **MerchantId**:
    - Description: Unique id for the merchant as passed in request headers.
    - Tags: String, Mandatory
  - **MerchantChannelId**:
    - Description: Unique id for the merchant channel as passed in request headers.
    - Tags: String, Mandatory
  - **MerchantRequestId**:
    - Description: Merchant generated unique id for collect request.
      
      **Constraint** : Max 35 characters & Alphanumeric.
    - Tags: String, Mandatory
  - **Amount**:
    - Description: Amount for transaction.Constraint: Amount in two decimals. Decimals are mandatory.
    - Tags: String, Mandatory
  - **PayerVpa**:
    - Description: Vpa on which collect request was triggered.
    - Tags: String, Mandatory
  - **PayerName**:
    - Description: Name of the payer to whom collect request was sent.
    - Tags: String, Optional
  - **PayeeVpa**:
    - Description: VPA of the merchant to be used for payment.
    - Tags: String, Mandatory
  - **PayeeMcc**:
    - Description: Merchant Category Code of the payee merchant.
    - Tags: Numeric, Mandatory
  - **RefUrl**:
    - Description: Invoice as sent by merchant or reference to the transaction in the form of url.
    - Tags: String, Optional
  - **Remarks**:
    - Description: Remarks sent by merchant for the collect request.
    - Tags: String, Mandatory
  - **TransactionTimestamp**:
    - Description: Timestamp of when collect request was triggered.
      
       Format: YYYY-MM-DDTHH:MM:SS+05:30.
    - Value: Values: YYYY-MM-DDTHH:MM:SS+05:30.
    - Tags: String, Mandatory
  - **ExpiryTimestamp**:
    - Description: Timestamp of when the collect request will expire. 
      
      Format: YYYY-MM-DDTHH:MM:SS+05:30.
    - Value: Values: YYYY-MM-DDTHH:MM:SS+05:30.
    - Tags: String, Mandatory
  - **GatewayTransactionId**:
    - Description: UPI request id returned by gateway for the transaction.
    - Tags: String, Mandatory
  - **GatewayReferenceId**:
    - Description: Reference id returned by the gateway.
    - Tags: String, Mandatory
  - **GatewayResponseStatus**:
    - Description: Response status returned by gateway. 
      
      Values: SUCCESS | FAILURE.
    - Value: Values: SUCCESS | FAILURE.
    - Tags: String, Mandatory
  - **GatewayResponseCode**:
    - Description: Response code returned by gateway for the transaction. 
      
      Values: 00, Any valid NPCI error code
    - Value: Values: 00, Any valid NPCI error code
    - Tags: String, Mandatory
  - **GatewayResponseMessage**:
    - Description: Response message returned by gateway for the transaction.
    - Tags: String, Mandatory
  - **MutualFundDetails**:
    - Description: Contains details of Mutual Funds (as passed in the request).
    - Value:
      - **MemberId**:
        - Description: Member Id with ICCL or ARN_RIA with RTA.
        - Tags: String, Mandatory
      - **UserId**:
        - Description: Client Id with ICCL or USER_CODE with RTA.
        - Tags: String, Mandatory
      - **MfPartner**:
        - Description: One of the below;Values: NSE, BSE, KFIN, CAMS.
        - Tags: String, Mandatory
      - **FolioNumber**:
        - Description: Folio Number of the MF, used for RTA reporting. Mandatory for RTA reporting.
        - Tags: String, optional
      - **OrderNumber**:
        - Description: Unique order number of each MF. Oder Number in ICCL or APPL_NO in RTA.
        - Tags: String, Mandatory
      - **Amount**:
        - Description: Individual MF amount within the array of MF being purchased. 
          
          Constraint: Amount in two decimals. Decimals are mandatory.
        - Tags: String, Mandatory
      - **SchemeCode**:
        - Description: Scheme Code of the MF, used for RTA reporting. Mandatory for RTA reporting.
        - Tags: String, optional
      - **AmcCode**:
        - Description: AMC Code of the MF, used for RTA reporting. Mandatory for RTA reporting.
        - Tags: String, optional
      - **PanNumber**:
        - Description: PAN Number of the user, used for RTA reporting. Mandatory for RTA reporting.
        - Tags: String, optional
      - **InvestmentType**:
        - Description: One of the below; 
          
          Values:LUMPSUM, SIP.
        - Tags: String, Mandatory
    - Tags: Json String, optional
  - **PayerAccountHashes**:
    - Description: As passed in the request body.
    - Tags: Array Of String, optional
  - **SplitSettlementDetails**:
    - Description: Split Settlement details of merchant and partners for this transactions.
    - Value:
      - **PartnersSplit**:
        - Description: List of partners for which the split needs to be divided with the value.
        - Value:
          - **PartnerId**:
            - Description: The LSP id provided by the bank.
            - Tags: String, Mandatory
          - **Value**:
            - Description: Split share for LSP account. Decimal Value.
            - Tags: String, Mandatory
        - Tags: String, Conditional
      - **SplitType**:
        - Description: The type of split for this transaction. Can be AMOUNT,  PERCENTAGE, DEFAULT, LATER.
        - Tags: String, Mandatory
      - **MerchantSplit**:
        - Description: Split share for merchant pool account.
        - Tags: String, Optional
    - Tags: json String, optional
  - **SubMerchantId**:
    - Description: Unique id for subMerchant. Only if present as a subMerchant.
    - Tags: String, Optional
  - **SubMerchantChannelId**:
    - Description: Unique id for the channel via which request is made. Only if present as a subMerchant.
    - Tags: String, Optional
- Tags: Json, Mandatory

#### udfParameters:
- Description: Udf parameters as passed in the request.Example: "{\"udf1\":\"value1\",\"udf2\":\"value2\",…}"
- Tags: stringified JSON , optional
