Method: payment-integrator-authenticated-card-fop-api.authenticate

Initiates the authentication of a user for a card to make a purchase. This can be accomplished in multiple ways that may or may not be supported for the specified card. The payment integrator attempts to authenticate using all specified methods that are supported by the card.

If NATIVE_OTP is specified within the supportedAuthenticationTypes, the issuer should immediately send an OTP to the cardholder, using the information already on file.

HTTP request

POST https://www.integratordomain.com/v1/payment-integrator-authenticated-card-fop-api/authenticate

Request body

The request body contains data with the following structure:

JSON representation
{
  "requestHeader": {
    object (RequestHeader)
  },
  "accountDetails": {
    object (AccountDetails)
  },
  "amount": {
    object (Amount)
  },
  "requestedAuthenticationTypes": {
    object (AuthenticationType)
  }
}
Fields
requestHeader

object (RequestHeader)

REQUIRED: Common header for all requests.

accountDetails

object (AccountDetails)

REQUIRED: Data about the user's payment card.

amount

object (Amount)

REQUIRED: The amount of the purchase if the authentication is successful.

requestedAuthenticationTypes

object (AuthenticationType)

REQUIRED: The types of authentication methods being requested.

Response body

If successful, the response body contains data with the following structure:

Response object for the payment integrator hosted authenticate method.

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

  // Union field redirect_url_result_type can be only one of the following:
  "redirectUrlNotRequested": {
    object (RedirectUrlNotRequested)
  },
  "redirectUrlUnsupported": {
    object (RedirectUrlUnsupported)
  },
  "redirectUrlResult": {
    object (RedirectUrlResult)
  }
  // End of list of possible types for union field redirect_url_result_type.

  // Union field native_otp_result_type can be only one of the following:
  "nativeOtpNotRequested": {
    object (NativeOtpNotRequested)
  },
  "nativeOtpUnsupported": {
    object (NativeOtpUnsupported)
  },
  "nativeOtpResult": {
    object (NativeOtpResult)
  }
  // End of list of possible types for union field native_otp_result_type.
}
Fields
responseHeader

object (ResponseHeader)

REQUIRED: Common header for all responses.

Union field redirect_url_result_type.

redirect_url_result_type can be only one of the following:

redirectUrlNotRequested

object (RedirectUrlNotRequested)

Google did not request authentication by redirectUrl so nothing could be done.

redirectUrlUnsupported

object (RedirectUrlUnsupported)

Google requested authentication by redirectUrl but it is unsupported.

redirectUrlResult

object (RedirectUrlResult)

Google requested authentication by redirectUrl and this is the result.

Union field native_otp_result_type.

native_otp_result_type can be only one of the following:

nativeOtpNotRequested

object (NativeOtpNotRequested)

Google did not request authentication by nativeOtp so nothing could be done.

nativeOtpUnsupported

object (NativeOtpUnsupported)

Google requested authentication by nativeOtp but native OTP is unsupported.

nativeOtpResult

object (NativeOtpResult)

Google requested authentication by nativeOtp and this is the result.

AuthenticationType

Defines the possible ways of authenticating a user. At least one type must be requested.

JSON representation
{
  "redirectUrl": {
    object (RedirectUrl)
  },
  "nativeOtp": {
    object (NativeOtp)
  }
}
Fields
redirectUrl

object (RedirectUrl)

OPTIONAL: Used when requesting authentication by redirect url.

nativeOtp

object (NativeOtp)

OPTIONAL: Used when requesting authentication by native otp.

RedirectUrl

JSON representation
{
  "callbackUrl": string
}
Fields
callbackUrl

string

REQUIRED: This is the callback URL the user is sent to after completion of the redirect.

NativeOtp

JSON representation
{
  "smsMatchingToken": string
}
Fields
smsMatchingToken

string

OPTIONAL: A string to be included with the SMS, if possible, so that the device can automatically ingest the token.

RedirectUrlNotRequested

JSON representation
{
  "support": enum (NotSentRedirectUrlSupport)
}
Fields
support

enum (NotSentRedirectUrlSupport)

REQUIRED: If redirectUrl was requested, the following support would have been available.

NotSentRedirectUrlSupport

Enums
NOT_SENT_REDIRECT_URL_UNSPECIFIED Do not ever set this default value!
UNSUPPORTED_BY_INTEGRATOR If redirectUrl had been requested, the payment integrator would not have been able to support it.
UNSUPPORTED_BY_NETWORK If redirectUrl had been requested, the network would not have been able to support it.
UNSUPPORTED_BY_ISSUER If redirectUrl had been requested, the issuer would not have been able to support it.
SUPPORTED If redirectUrl had been requested, the integrator would have been able to support it.

RedirectUrlUnsupported

JSON representation
{
  "reason": enum (RedirectUrlUnsupportedReason)
}
Fields
reason

enum (RedirectUrlUnsupportedReason)

REQUIRED: Authentication by redirectUrl was requested, but it could not be performed for the following reason.

RedirectUrlUnsupportedReason

Enums
REDIRECT_URL_UNSUPPORTED_REASON_UNSPECIFIED Do not ever set this default value!
UNSUPPORTED_BY_INTEGRATOR The integrator could not support redirectUrl for this request.
UNSUPPORTED_BY_NETWORK The network could not support redirectUrl for this request.
UNSUPPORTED_BY_ISSUER The issuer could not support redirectUrl for this request.

RedirectUrlResult

JSON representation
{
  "url": string
}
Fields
url

string

REQUIRED: The URL that the user's browser should be redirected to with a GET request.

NativeOtpNotRequested

JSON representation
{
  "support": enum (NotSentNativeOtpSupport)
}
Fields
support

enum (NotSentNativeOtpSupport)

REQUIRED: If authentication by nativeOtp was requested, the following support would have been available.

NotSentNativeOtpSupport

Enums
NOT_SENT_NATIVE_OTP_SUPPORT_UNSPECIFIED Do not ever set this default value!
UNSUPPORTED_BY_INTEGRATOR If nativeOtp had been requested, the payment integrator would not have been able to support it.
UNSUPPORTED_BY_NETWORK If nativeOtp had been requested, the network would not have been able to support it.
UNSUPPORTED_BY_ISSUER If nativeOtp had been requested, the issuer would not have been able to support it.
SUPPORTED If nativeOtp had been requested, the payment integrator would have been able to support it.

NativeOtpUnsupported

JSON representation
{
  "reason": enum (NativeOtpNotSupportedReason)
}
Fields
reason

enum (NativeOtpNotSupportedReason)

REQUIRED: Authentication by nativeOtp was requested, but it could not be performed for the following reason.

NativeOtpNotSupportedReason

Enums
NATIVE_OTP_NOT_SUPPORTED_REASON_UNSPECIFIED Do not ever set this default value!
UNSUPPORTED_BY_INTEGRATOR The integrator could not support nativeOtp for this request.
UNSUPPORTED_BY_NETWORK The network could not support nativeOtp for this request.
UNSUPPORTED_BY_ISSUER The issuer could not support nativeOtp for this request.

NativeOtpResult

JSON representation
{
  "result": enum (NativeOtpResultCode)
}
Fields
result

enum (NativeOtpResultCode)

REQUIRED: The result of requesting that an OTP be sent to the user.

NativeOtpResultCode

Result codes for NativeOtpResult.

Enums
NATIVE_OTP_RESULT_CODE_UNSPECIFIED Do not ever set this default value!
OTP_SENT An OTP has successfully be sent to the user using by the issuer using information they had stored.