---
page_title: P2M Mandate Creation
product: UPI TPAP SDK
platform: React Native
page_source: https://juspay.io/in/docs/upi-tpap-sdk/react-native/headless-process-payloads/p2m-mandate-creation
llms_txt: https://juspay.io/in/docs/llms.txt
product_llms_txt: https://juspay.io/in/docs/upi-tpap-sdk/llms.txt
---


## P2M Mandate Creation




###   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: upiTxn
      - Tags: String, Mandatory
    - **MerchantKeyId**:
      - Description: Key ID to identify the public-private key pair used for signature generation.
      - Tags: String, Mandatory
    - **AccountRefId**:
      - Description: reference id for account on which mandate is to be created
      - Tags: String, Mandatory
    - **ShouldCreateMandate**:
      - Description: Value: true
      - Tags: Boolean, Mandatory
    - **OrderId**:
      - Description: Order Id of the transaction
      - Value: Example: hyperorder87647
      - Tags: String, Mandatory
    - **ShowConfirmation**:
      - Description: Value: false
      - Tags: Boolean, 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
          - Value: stock
          - Tags: String, Mandatory
        - **Order_id**:
          - Description: Order is for the transaction.
          - Tags: String, Mandatory
        - **Customer_id**:
          - Description: Any unique reference associated with your customer.
          - Tags: String, Mandatory
        - **Amount**:
          - Description: Amount eg: "2.00" Rs. Numeric String with two decimals
          - Tags: String, Mandatory
        - **Timestamp**:
          - Description: Time when request is created in milliseconds.
          - Tags: String, Mandatory
        - **MandateName**:
          - Description: Name of the mandate, Helps with differentiation of all mandates
          - Tags: String, Mandatory
        - **MandateMaxAmount**:
          - Description: Maximum amount for a mandate.
          - Tags: ENUM, String, Mandatory
        - **MandateAmountRule**:
          - Description: FIXED, VARIABLE. In case of FIXED amount_rule, amount will be equal to max amount. Defaults to VARIABLE
          - Value: FIXED/VARIABLE
          - Tags: ENUM, String, Mandatory
        - **MandateFrequency**:
          - Description: Defines the frequency of mandate execution, how often a customer should be charged.
          - Value: ONETIME / DAILY / WEEKLY / FORTNIGHTLY / MONTHLY / BIMONTHLY / QUARTERLY / HALFYEARLY / YEARLY / ASPRESENTED / By Default it is considered as ASPRESENTED
          - Tags: String, Optional
        - **MandateStartDate**:
          - Description: Marks the start of mandate execution
          - Tags: UNIX EPOCH timestamp (UTC timezone), String, Mandatory
        - **MandateEndDate**:
          - Description: Sets the endDate when mandates will stop execution
          - Tags: UNIX EPOCH timestamp (UTC timezone), String, Mandatory
        - **MandateBlockFunds**:
          - Description: Denotes whether customer's fund should be blocked or not. Only applicable for ONETIME mandate. For recurring mandate it should always be false, for onetime it can be true or false. Default value is false.
          - Value: true/false
          - Tags: Boolean, Optional
        - **MandateRuleType**:
          - Description: Recurrence Rule for Mandate. It is not required for ONETIME, DAILY and ASPRESENTED recurrencePattern.
          - Value: Values possible : ON, BEFORE, AFTER.
          - Tags: String, Optional
        - **MandateRuleValue**:
          - Description: Recurrence Value for Mandate. It is not required for ONETIME, DAILY and ASPRESENTED recurrencePattern.
          - Value: Between 1-31 and depends on recurrencePattern.
          - Tags: String, Optional
        - **Metadata.<issuing_psp>:gateway_reference_id**:
          - Description: In case of multiple merchant VPAs, this field needs to be passed. It can be obtained from the dashboard. Issuing_PSP will be either AXIS_BIZ or YES_BIZ.
            
            Value: ABC123
          - Tags: String, Conditional
      - Tags: String, Mandatory
    - **Signature**:
      - Description: Signature generated for the signaturePayload .
      - 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: Operation performed in the SDK
      - Value: upiCreateMandate
      - Tags: String
    - **TxnUuid**:
      - Description: Trancation Uuid
      - Value: Example: mozkn8bEui8KqwGCUjG
      - Tags: String
    - **OrderId**:
      - Description: Order Id of the transaction
      - Value: Example: hyperorder87647
      - Tags: String
    - **Status**:
      - Description: Status of the Operation.
      - Value: Possible values : SUCCESS, PENDING, FAILURE
      - Tags: String
    - **SelectedAccount**:
      - Description: Selected Account
      - Value:
        - **Vpa**:
          - Description: Vpa of the customer
          - Tags: String
        - **Account**:
          - Description: Account linked to this vpa
          - Value:
            - **BankName**:
              - Description: Name of branch in which account is registered
              - Tags: String
            - **Ifsc**:
              - Description: Account IFSC
              - Tags: String
            - **IsPrimary**:
              - Description: Is this account the primary account
              - Value: true / false
              - Tags: String
            - **MaskedAccountNumber**:
              - Description: Account Number with last few digits visible
              - Tags: String
            - **MpinSet**:
              - Description: Is mpin set
              - Value: true / false
              - Tags: String
            - **Name**:
              - Description: Name of account holder
              - Tags: String
            - **ReferenceId**:
              - Tags: String
            - **Type**:
              - Description: Type of account
              - Value: Values: CURRENT/SAVINGS
              - Tags: String
          - Tags: String
      - Tags: String
    - **AccountRefId**:
      - Description: reference id for selected accounts
      - Tags: String
    - **Mandate**:
      - Description: Contains relevant mandate data
      - Value:
        - **Amount**:
          - Description: Amount for which merchant requested the mandate. Numeric String with two decimals
          - Value: eg. 10.00
          - Tags: String
        - **AmountRule**:
          - Description: Rule on Mandate Amount. If amountRule is MAX, then mandate can be executed for amount less than or equal to the passed amount . If amountRule is EXACT, then mandate should always be executed for the same amount.
          - Value: MAX / EXACT / VARIABLE
          - Tags: String
        - **BlockFund**:
          - Description: Denotes whether customer's fund should be blocked or not. Only applicable for ONETIME mandate. For recurring mandate it should always be false, for onetime it can be true or false. Default value is false.
          - Tags: String
        - **Expiry**:
          - Description: Minutes for which request is valid
          - Tags: String
        - **GatewayMandateId**:
          - Description: UPI request id returned by gateway for the mandate
          - Tags: String
        - **GatewayReferenceId**:
          - Description: Unique Transaction Number
          - Tags: String
        - **GatewayResponseCode**:
          - Description: Response code returned by gateway for the transaction.
          - Tags: String
        - **GatewayResponseMessage**:
          - Description: Response message returned by gateway for the transaction.
          - Tags: String
        - **GatewayResponseStatus**:
          - Description: Response status returned by gateway.
          - Tags: String
        - **InitiatedBy**:
          - Description: Who has created this update/revoke request. Possible values :- PAYER / PAYEE
          - Value: Possible values :- PAYER / PAYEE
          - Tags: String
        - **MandateName**:
          - Description: Name of the mandate, Helps with differentiation of all mandates
          - Tags: String
        - **MandateTimestamp**:
          - Description: Timestamp of when the webMandate was initiated
          - Tags: String
        - **TransactionType**:
          - Description: Type of Mandate Creation
          - Value: Example: UPI_MANDATE, P2M_MANDATE
          - Tags: String
        - **OrgMandateId**:
          - Description: gatewayMandateId returned during create mandate
          - Tags: String
        - **PayeeMcc**:
          - Value: Example: 1520
          - Tags: String
        - **PayeeName**:
          - Value: Example: ABCUAT
          - Tags: String
        - **PayeeVpa**:
          - Value: Example: abc@jpay
          - Tags: String
        - **PayerName**:
          - Value: Example: XYZ
          - Tags: String
        - **PayerRevocable**:
          - Description: Defines whether mandate is revocable by PAYER or not. For onetime mandate it can be true or false. Default value is true.
          - Value: true/false
          - Tags: String
        - **PayerVpa**:
          - Value: Example: 7604041111@ypay
          - Tags: String
        - **RecurrencePattern**:
          - Description: Recurrence Pattern for Mandate
          - Tags: String
        - **RecurrenceRule**:
          - Description: Recurrence Rule for Mandate. It will not be present for ONETIME, DAILY and ASPRESENTED recurrence pattern.
          - Tags: String
        - **RecurrenceValue**:
          - Description: Recurrence Value for Mandate. It will not be present for ONETIME, DAILY and ASPRESENTED recurrence pattern.
          - Tags: String
        - **RefUrl**:
          - Description: Reference url for the mandate. It will be same value if passed in request else it will be a default url.
          - Tags: String
        - **Remarks**:
          - Description: Any mandate summary. If pased in request, it will be same in response else a default value is send.
          - Tags: String
        - **Role**:
          - Description: Role of the customer for this mandate.
          - Value: PAYER / PAYEE
          - Tags: String
        - **ShareToPayee**:
          - Description: Describes whether the mandate will be shared with the payee or not. Default value is true.
          - Value: true/false
          - Tags: String
        - **Umn**:
          - Description: Unique Mandate Number used for execution of the mandate. Will be sent only if mandate is initiated by Payer.
          - Value: Example: uniqueMandateNumber@xyz
          - Tags: String
        - **ValidityStart**:
          - Description: Date after which mandate can be executed
          - Tags: String
        - **ValidityEnd**:
          - Description: String with proper date format YYYY/MM/DD
          - Tags: String
      - Tags: JSON, Mandatory
  - 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:

### InappHeadless3.txt

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


---

## See Also

- [P2P Create Mandate](https://juspay.io/in/docs/upi-tpap-sdk/react-native/headless-process-payloads/p2p-create-mandate)
- [List Mandate](https://juspay.io/in/docs/upi-tpap-sdk/react-native/headless-process-payloads/list-mandate)
