---
title: "Update Mandate"
method: POST
path: "/pgsi/ve1_2/mandates/update"
tags: ["Mandate"]
---

# Update Mandate

`POST /pgsi/ve1_2/mandates/update`

This API is used to carry out a ‘small value’ authorization using the payment method linked to the mandate, and is applicable for the card payment method.

## Headers

- `BD-Traceid` string, required
- `BD-Timestamp` string, required
- `Content-Type` string, required
- `Accept` string, required

## Request body

- object
  - `mandateid` string, required — Unique mandateid created by BillDesk
  - `mercid` string, required — Unique identifier as defined by BillDesk for each merchant
  - `card` union, required
    - PayUsingCardNumberPan
      - `number` string, required — Card number
      - `expiry_month` string, required — Card expiry month in MM format
      - `expiry_year` string, required — Card expiry year in YYYY format
      - `holder_name` string — Cardholder name
      - `cvv` string, required — Card cvv value
      - `tokenize` 'true' — If the card is required to be tokenized then, the value is true
      - `coft_consent` 'true' — Fixed value as true, confirming the card holder consent to tokenize the card
    - PayUsingNetworkToken
      - `network_token` object, required
        - `token_value` string, required — Token Value – as received from TSP, provided in the ‘Detokenize’ response
        - `token_cryptogram` string, required — Token Cryptogram – as received from TSP, provided in the ‘Detokenize’ response
        - `token_expiry_month` integer, required — Token Expiry Month – as received from TSP in the MM format
        - `token_expiry_year` integer, required — Token Expiry Year – as received from TSP in the YYYY format
      - `card_end` string, required — Last 4 digits of the card number Note: For an EMI transaction via network token,this attribute value is required for loan booking
      - `cvv` string — Card cvv value
      - `holder_name` string — Cardholder name
    - PayUsingIssuerToken
      - `issuer_token` object, required
        - `token_value` string, required — Token Value – as received from TSP in the ‘Detokenize’ response
        - `token_cryptogram` string, required — Token Cryptogram – as received from TSP in the ‘Detokenize’ response
        - `token_expiry_month` integer, required — Token Expiry Month – as received from TSP in the MM format
        - `token_expiry_year` integer, required — Token Expiry Year – as received from TSP in the YYYY format
      - `card_end` string, required — Last 4 digits of the card number Note: For an EMI transaction via network token,this attribute value is required for loan booking
      - `cvv` string — Card cvv value
      - `holder_name` string — Cardholder name
    - PayUsingCardAccountId
      - `cardaccountid` string, required — Unique ID created by BillDesk for the combination of card number, mercid and customer_refid
      - `cvv` string — Card cvv value
      - `card_end` string, required — Last 4 digits of the card number Note: For an EMI transaction via network token,this attribute value is required for loan booking
      - `holder_name` string — Cardholder name
  - `response_parameters` ResponseParameters, required
    - `cres` string — Response parameters as received from the issuer, and will be cres for 3ds 2.0 flow
    - `AccuResponseCode` string — Response parameters as received from the issuer, and will be received for Rupay cards
    - `session` string — Response parameters as received from the issuer, and will be received for Rupay cards
    - `AccuGuid` string — Response parameters as received from the issuer, and will be received for Rupay cards
    - `AccuRequestId` string — Response parameters as received from the issuer, and will be received for Rupay cards
    - `otp` string — for a native authentication where next_step = capture_otp
    - `TermUrl` string — Payment parameter for rupay redirect flow
    - `cardend` string — Payment parameter for rupay redirect flow

## Response `200`

OK

- object
  - `objectid` 'transaction' | 'authentication' | 'mandate' | 'invoice' | 'cardaccount' | 'validatevpa' | 'dispute' | 'settlement' | 'altid' | 'mandate_token' | 'accountvalidation' — String representing the object's type. Objects of the same type share the same value.
  - `mandateid` string — Unique mandateid created by BillDesk
  - `mercid` string — Unique identifier as defined by BillDesk for each merchant
  - `customer_refid` string — Unique reference of the customer in the merchant system, and can be linked to different subscriptions of the same customer Required for mandate and tokenization
  - `subscription_refid` string — Unique reference assigned by merchant for a subscription
  - `subscription_desc` string — Customer friendly description for the subscription, this narration is generally displayed to the customer at the issuer channel
  - `start_date` string, date — Subscription start date in yyyy-mm-dd format Note: Should be greater than or equal to current date (IST timezone). Note for UPI : Should be equal to mandate creation date for UPI. In UPI, an subsequent charge is created on a successful mandate. This includes the first charge as well along with mandate creation. Since first charge is done immediately, it is important that the mandate “start_date” should be today’s date
  - `end_date` string, date — Subscription end date in yyyy-mm-dd format Note: Should be greater than current date (IST timezone). For mandates that are valid ‘until cancelled’ by the customer, end_date year could be 2099, and for upi, maximum duration allowed for a mandate is 30 years
  - `amount` string — Subscription amount in two decimals, eg. 2400.00
  - `amount_type` 'maximum' | 'fixed' — Indicates whether subscription amount is fixed or has a maximum limit. The following values are possible • maximum - indicates the maximum amount that can be charged for the subscription • fixed – indicates the fixed amount to be charged for the subscription Please note: For upi, only "maximum" is allowed. This is required to allow for token debit (small value transaction)
  - `currency` string — ISO currency of the transaction amount, for INR this value will be 356
  - `frequency` 'week' | 'mnth' | 'bimn' | 'qurt' | 'bian' | 'year' | 'adho' — Frequency at which the subscription debits will be processed, possible values are: •week - weekly •mnth - monthly •bimn – bi-monthly •qurt - quarterly •bian – bi-annually •year - yearly •adho – adhoc
  - `status` string — Represents the status of the mandate and depends upon the linked payment method. The following values are possible: card, upi • initiated - mandate request has been initiated, and this status is applicable for the SDK based workflow • pending - mandate request has been initiated and the linked payment method is not yet validated • active – linked payment method has been validated and recurring charges can be processed • rejected - mandate has been rejected by the issuer or payment provider • deleted - mandate has been deleted by the customer from the merchant channel • cancelled – mandate has been stopped by customer from the issuer channel • suspended – mandate has been temporarily suspended by the issuer or payment provider bankaccount • pending – mandate request has been sent for account verification to NPCI • active – mandate is active and recurring charges can be processed • delete_initiated – mandate delete request is initiated by the customer or the merchant • deleted – mandate is deleted after confirmation from NPCI • rejected – mandate is rejected by NPCI
  - `createdon` string, date-time — object creation timestamp
  - `payment_method_type` 'card' | 'netbanking' | 'upi' — Represents the method of payment, and can take the following values - card, netbanking, wallet, upi, eft, bankaccount, cashcard, cardless (non-card emi option) The associated object will also be provided in the request.
  - `ru` string — Merchants URL where the customer will be redirected after a transaction is completed
  - `card` CardResponse
    - `type` string — Card product type, takes the following values - debit, credit or prepaid
    - `masked_value` string — Masked card number, with the last four digits
    - `network` string — Card Network
    - `issuer` string — Card issuer
  - `customer` Customer
    - `first_name` string — Customer’s First Name
    - `last_name` string — Customer’s Last Name
    - `mobile` string — Customer’s Mobile number. This parameter is mandatory if sms is passed as true in customer_notification object.
    - `email` string — Customer’s Email address. This parameter is mandatory if email is passed as true in customer_notification object.
  - `verification_error_code` string — Represents the error code for the response
  - `verification_error_type` string — Represents the error type for the response
  - `verification_error_desc` string — Represents the error description for the response
  - `additional_info` AdditionalInfo — Array of 7 additional_info values that can be attached to the transaction. Note: Merchant is advised to not pass customer PII information in additional info fields.
    - `additional_info1` string
    - `additional_info2` string
    - `additional_info3` string
    - `additional_info4` string
    - `additional_info5` string
    - `additional_info6` string
    - `additional_info7` string

## Other responses

- `403` — Forbidden
- `500` — Internal Server Error
- `default` — Any bad or invalid request will lead to following error object

---

[API](https://skmtc.net/billdesk/apis/payments.md) · [All operations](https://skmtc.net/billdesk/apis/payments/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/billdesk/payments/versions/43f021fc467f/schema)
