---
page_title: TPV + Mandate
product: SmartGateway TranPortal Integration
page_source: https://smartgateway.hdfc.bank.in/docs/smartgateway-tranportal-integration/docs/sector-specific-features/tpv--mandate
llms_txt: https://smartgateway.hdfc.bank.in/docs/llms.txt
product_llms_txt: https://smartgateway.hdfc.bank.in/docs/smartgateway-tranportal-integration/llms.txt
---


# Mandate Registration with TPV Flow




## **What is TPV?** 



KYC is mandatory while registering on Demat Account to trade in equity and purchase mutual funds.The Know Your Customer (KYC) process helps against money laundering and prevents the financing of terrorist activities. Therefore the transactions can go through for a user only through the verified account.

Attempts from any other account will be rejected by banks ,gateways or PSPs in case of UPI. This process is called Third Party Validation(TPV).

> **Note**
> 1. Mandate Recurring Flow doesn’t need any TPV details to be passed. Only in Registration these details are required.




### Step 1.1 Create order with mandate and TPV Bank Details 


To register TPV mandate, the first step is to create order with mandate and TPV parameters. 

The additional TPV Related parameters to be shared with [create order API](https://smartgateway.hdfc.bank.in/docs/smartgateway-tranportal-integration/docs/tranportal-integration/create-order-api):


### Payload
- **Order_type**:
  - Description: TPV_PAYMENT
  - Tags: String, Mandatory
- **Metadata.bank_account_detail**:
  - Description: Applicable for TPV Mandate. This is a array of JSON objects and each JSON object includes set of parameters as below
  - Value:
    - **Bank_account_number **:
      - Description: User’s bank account number for which the TPV needs to be done
      - Tags: String, Mandatory
    - **Bank_ifsc **:
      - Description: User’s bank ifsc for which the TPV needs to be done
      - Tags: String, Mandatory
  - Tags: String, Mandatory





### Step 1.2 Create Mandate Transaction API  


Call the mandate Transaction API to register the mandate and TPV. The payloads are provided in the bottom banner of the sample codes. 

Alternatively, You can also refer the [link](https://smartgateway.hdfc.bank.in/docs/smartgateway-tranportal-integration/docs/tranportal-integration/mandate-registration-api)



## Sample Code Snippets:
### Create order for TPV Mandate:

#### Request Code Snippet:

```request
curl --location 'https://smartgateway.hdfcuat.bank.in/orders' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'x-merchantid: <merchant_id>' \
--header 'x-customerid: CUST001' \
--header 'Authorization: Basic base_64_encoded_api_key==' \
--data-urlencode 'order_id=TPVTEST14' \
--data-urlencode 'amount=1' \
--data-urlencode 'currency=INR' \
--data-urlencode 'return_url=https://www.google.com' \
--data-urlencode 'customer_id=CUST007' \
--data-urlencode 'customer_phone=7076607677' \
--data-urlencode 'customer_email=abc@gmail.com' \
--data-urlencode 'merchant_id=<merchant_id>' \
--data-urlencode 'metadata.bank_account_details=[{"bank_account_number":"00011111111623"}]' \
--data-urlencode 'order_type=TPV_PAYMENT' \
--data-urlencode 'options.create_mandate=REQUIRED' \
--data-urlencode 'mandate.max_amount=1000.00' 

```

#### Response  Code Snippet:

```response 
{
    "status": "CREATED",
    "status_id": 1,
    "id": "ordeh_9d1cbcbcc0ad41058df6c14384ce155c",
    "order_id": "TPVTEST14",
    "payment_links": {
        "mobile": "https://smartgateway.hdfcuat.bank.in/payment-page/order/ordeh_9d1cbcbcc0ad41058df6c14384ce155c",
        "web": "https://smartgateway.hdfcuat.bank.in/payment-page/order/ordeh_9d1cbcbcc0ad41058df6c14384ce155c",
        "iframe": "https://smartgateway.hdfcuat.bank.in/payment-page/order/ordeh_9d1cbcbcc0ad41058df6c14384ce155c"
    },
    "order_expiry": "2024-12-18T05:42:58Z"
}

```

### Transaction API :

#### Request - UPI Collect:
```json
curl --location 'https://smartgateway.hdfcuat.bank.in/txns' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'x-merchantid: merchantid \
--data-urlencode 'order_id=DW-1dvn6nL9AD' \
--data-urlencode 'merchant_id=merchantId' \
--data-urlencode 'should_create_mandate=true' \
--data-urlencode 'payment_method_type=UPI' \
--data-urlencode 'payment_method=UPI_COLLECT' \
--data-urlencode 'txn_type=UPI_COLLECT' \
--data-urlencode 'upi_vpa=rahul@hdfcbank' \
--data-urlencode 'mandate_type=EMANDATE'\
--data-urlencode 'redirect_after_payment=true' \
--data-urlencode 'format=json'

```

#### Request - UPI Intent :
```plaintext
curl --location 'https://smartgateway.hdfcuat.bank.in/txns' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'x-merchantid: testhdfc1' \
--data-urlencode 'order_id=mindhubisd12322' \
--data-urlencode 'merchant_id=testhdfc1' \
--data-urlencode 'payment_method_type=UPI' \
--data-urlencode 'payment_method=UPI_PAY' \
--data-urlencode 'txn_type=UPI_PAY' \
--data-urlencode 'sdk_params=true' \
--data-urlencode 'redirect_after_payment=true' \
--data-urlencode 'format=json' \
--data-urlencode 'should_create_mandate=true' \
--data-urlencode 'mandate_type=EMANDATE'

```



---

## See Also

- [TPV](https://smartgateway.hdfc.bank.in/docs/smartgateway-tranportal-integration/docs/sector-specific-features/tpv)
- [Pre-auth And Capture Card Transaction](https://smartgateway.hdfc.bank.in/docs/smartgateway-tranportal-integration/docs/preauth-and-capture/preauth-and-capture-card-transaction)
