Method: mandateInitiatedNotification

Notifies the integrator that a mandate creation has been initiated by the user in the Google system. The integrator should acknowledge the request and perform whatever actions need to happen in order to complete the mandate creation (e.g., collect a PIN out of band from the user for confirmation). The integrator will inform Google of the final result by calling the createMandateResultNotification method.

The requestId within the header is the idempotency key and uniquely identifies this notification. However, the requestId is not the mandateId. The mandate ID is a separate ID generated by Google.

If the endpoint encounters an error while processing the request, the response body from this endpoint should be of type ErrorResponse.

An example request looks like:


{
  "requestHeader": {
    "protocolVersion": {
      "major": 2
    },
    "requestId": "requestId123",
    "requestTimestamp": {
      "epochMillis": "1502220196077"
    },
    "paymentIntegratorAccountId": "JUSPAY_1"
  },
  "mandateUri": "upi://mandate?mode=22&purpose=14&orgid=000000&tid=GOOG_MANDATE_ABC123&tr=GOOG_MANDATE_ABC123&tn=Test Mandate&pa=googleplay@juspay&pn=Google&mc=5399&am=100.00&mn=Google Play&validitystart=09092024&validityend=12122025&amrule=EXACT&recur=ASPRESENTED&txnType=CREATE&cu=INR&qrMedium=06&QRexpire=2024-09-17T14:19:00+05:30&QRts=2024-09-17T14:11:50+05:30"
}

An example response looks like:


{
  "responseHeader": {
    "responseTimestamp": {
      "epochMillis": "1581900013178"
    }
  },
  "result": {
    "acknowledged": {}
  }
}

HTTP request

POST https://www.integratorhost.example.com/integrator-base-path/e-wallets-v2/mandateInitiatedNotification

Request body

The request body contains data with the following structure:

JSON representation
{
  "requestHeader": {
    object (RequestHeader)
  },

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "mandateUri": string
  // End of mutually exclusive fields.
}
Fields
requestHeader

object (RequestHeader)

REQUIRED: Common header for all requests.

REQUIRED: Details regarding the form of payment being used to create the mandate. The following is a list of mutually exclusive fields. At most one of the fields will be set in a response:
mandateUri

string

This is a URI which contains the basic information about the mandate being created. This will be the same URL used to generate a QR code or redirect a user for mandate creation.

End of mutually exclusive fields.

Response body

This method supports multiple return types. For additional information about what 4XX or 5XX HTTP status code to return with an ErrorResponse, consult the ErrorResponse object and HTTP status codes documentation.

Possible response messages
HTTP 200 Status

object (MandateInitiatedNotificationResponse)

HTTP 4XX / 5XX Status

object (ErrorResponse)

End of mutually exclusive fields.

MandateInitiatedNotificationResponse

Response object for the mandate initiated notification method.

JSON representation
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "result": {
    object (MandateInitiatedNotificationResult)
  }
}
Fields
responseHeader

object (ResponseHeader)

REQUIRED: Common header for all responses.

result

object (MandateInitiatedNotificationResult)

REQUIRED: The result of the mandate initiated notification call.

MandateInitiatedNotificationResult

Result codes for mandateInitiatedNotification method call.

JSON representation
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "acknowledged": {
    object (Empty)
  }
  // End of mutually exclusive fields.
}
Fields
REQUIRED: The result must contain exactly one of these messages. The following is a list of mutually exclusive fields. At most one of the fields will be set in a response:
acknowledged

object (Empty)

The mandate inititation notification has been successfully processed and the integrator will do additional steps to determine if the mandate creation was successful or declined. Once the integrator knows the result of the creation, they will inform Google of the result by calling the createMandateResultNotification API.

End of mutually exclusive fields.