On This Page
pilot
initialize()
dpaTransactionOptions
is an optional field in a
initialize()
request. You can include the
dpaTransactionOptions
field in the initialize()
request if your system supports it. You must consider this information if you include
the dpaTransactionOptions
field in your request:- You must include the transaction amount and currency in the backend of the request payload that is sent to/sessionsAPI. The values that are included in the request to the/sessionsAPI are used and any value included indpaTransactionOptionsare ignored.
- You must configure authentication fields in theBusiness Center. The values of these fields are retrieved from the merchant or partner profiles and not from thedpaTransactionOptionsfield.
initialize()
request must have this syntax:initialize({ required jwtcaptureContext optional DpaTransactionOptions}); });
pilot
Request Parameters
Your
initialize()
request can include these parameters:Request Parameters
Name | Required? | Description |
|---|---|---|
dpaTransactionOptions Type : DpaTransactionOptions | Optional | These options can override default transaction options configured
during DPA Registration. |
N/A Type : String<JWT> | Required | JWT from the /sessions API response. |
DpaTransactionOptions
Data Element | Required? | Description |
|---|---|---|
dpaAcceptedBillingCountries Type : List<String> | Optional | Billing restrictions. Payments from these countries are accepted. ISO 3166‑1 alpha‑2 country codes. ["US","CA","AU"] |
dpaBillingPreference Type : AddressPreference | Optional | Type of billing address required. Possible values:
|
dpaLocale Type : String | Optional | Merchant preferred locale in ISO 639‑1 and ISO 3166‑1 format. ["en_US", "fr_CA"] |
merchantCategoryCode Type : StringLength : 4 | Optional | Merchant category code. |
merchantCountryCode Type : String | Optional | Merchant country in ISO 3166‑1 alpha‑2 format. |
merchantName Type : String | Optional | Merchant name. |
merchantOrderId Type : String, UUID | Optional | DPA-generated order or invoice number. |
paymentOptions Type : List<PaymentOptions > | Optional | Dynamic Data requirements. |
recurringData Type : RecurringData | Optional | Recurring transaction data. |
PaymentOptions
Data Element | Required? | Description |
|---|---|---|
dpaDynamicDataTtlMinutes
Type : String (Numeric) | Optional | TTL of the dynamic data in minutes. |
dynamicDataType Type : DynamicDataType | Optional | Type of dynamic data required.
|
AuthenticationPreferences
Data Element | Required? | Description |
|---|---|---|
authenticationMethods Type : List<AuthenticationMethod> | Optional | List of authentication methods. |
payloadRequested Type : PayloadRequested | Optional | Indicates preferred payload type. |
supressChallenge Type : Boolean | Optional | SRCI preference to suppress challenges. |
AuthenticationMethod
AuthenticationMethod
Data Element | Required? | Description |
|---|---|---|
authenticationMethodType Type : AuthenticationMethodType | Required | Indicates whether C2P should perform managed
authentication. Possible values:
|
authenticationSubject Type : AuthenticationSubject | Required | Authentication subject. Possible values:
|
uriData Type : UriData | Optional | URI used to launch authentication. Relevant data is returned asynchronously. |
authenticationCredentialReference Type : StringMaximum Length : 255 | Optional | Reference returned by identity provider. |
methodAttributes Type : JSONObject | Optional | Method‑specific attributes. |
The content of the
methodAttributes
object depends on the
authenticationMethodType
field value and the method that is
requested. The methodAttributes
object is included within the
checkout response for the authentication flow or as part of the
AuthenticationMethod
object in the checkout authentication
request flow.If
authenticationMethodType
is any of the these values.- CSC_VALIDATION
- SMS_OTP
- EMAIL_OTP
- APP_AUTHENTICATON
- 3DS
authenticationMethodType | Data Element | Description |
|---|---|---|
CSC_VALIDATION | cardSecurityCode Type :
StringMaximum Length : 4 | Card security code. |
SMS_OTP | otpValue Type : StringMaximum Length : 16 | OTP value. |
EMAIL_OTP or
APP_AUTHENTICATON | stepUpIdentifier Type : String | Step-up identification. |
3DS | challengeIndicator Type : String | Challenge indicator value related to 3-D Secure
authentication.For SRC orchestrated 3-D Secure is
authentication method, SRCIs can specify the preference of
challenge indicator here. Please refer to EMV 3-D Secure specification for more details.IMPORTANT
If no preference provided, SRC will set up the
default value of 01 for 3-D Secure and 04 when followed by FIDO
registration.If value is set to 05 by the SRCI
then do not override the indicator to
03 though it is a FIDO compliant
device.Possible values:
|
UriData
Data Element | Required? | Description |
|---|---|---|
uri Type : StringMaximum Length : 2048 | Required | Specifies the URI for the given authentication method. |
uriType Type : UriType | Required | URI type. Possible values:
|
RecurringData
Data Element | Required? | Description |
|---|---|---|
recurringAmount Type : String (Numeric)Maximum Length : 48 | Required when recurringInd.AmountInd =
01 | Recurring amount in minor units of currency with all punctuation removed. For example, when the purchase amount is USD 123.45, these values are acceptable:
|
recurringCurrency Type : String | Required when recurringAmount is included. | Currency in which recurringAmount is expressed. Currency must be in ISO 4217 format. |
recurringDate Type : String (Numeric)Length : 8 | Required when recurringInd.frequencyInd =
01 | Effective date in YYYYMMDD format. |
recurringExpiry Type : String (Numeric)Length : 8 | Required when there is an end date. | Date after which no further authorizations occur, in YYYYMMDD format. |
recurringExponent Type : String (Numeric)Length : 1 | Required when recurringAmount is included. | Minor units of currency according to ISO 4217 (e.g., USD=2, JPY=0). |
recurringFrequency Type : StringMaximum Length : 4 | Required when recurringInd.frequencyInd =
01 | Minimum number of days between authorizations (1–9999). |
recurringInd Type : JSONObject | Required | Indicates recurring/instalment amount and frequency type. Possible values for amountInd :
Possible values for frequencyInd :
Example:
|
pilot
Handle Errors
An error response notifies the user that the action relating to the request
has failed. Use the
error.reason
field to determine how
to handle the error. Errors such as INVALID_PARAMETER
or
INVALID_REQUEST
are considered integration errors.Error reasons and messages appear in a standard error structure, which is
returned when the API request could nxot be handled. For programmatic
actions, you should only rely on the value in the
error.reason
field. Errors include a description in
the error.message
field.You can use this field to
understand the error. You can provide your own description based on the
value in the error.reason
field. In some cases, the
error.details.message
and
error.details.location
provide additional
information.Error Field | Type | Description |
|---|---|---|
error.details.location | String | The value of this field uses an XPATH expression to point to
the field that fails validation. |
error.details.message | String | The specific error associated with the field. |
error.message | String | Returned from the backend call |
error.reason | String | These options can be used to override transaction options for
the DPA that were configured during the DPA
Registration. |
This is an example error:
error { "message": "Input parameters validation failed.", "reason": "INVALID_PARAMETER", "details": [ // Optional structure, used with input data validation error { // Types to specify the fields with errors "location": "creditCard", "message": "Should be a numeric value" } ] }
Error Code | Description |
|---|---|
AUTH_ERROR | The server understands the request, but cannot
authenticate. |
INVALID_PARAMETER | The value provided for one or more request parameters is
considered invalid. This error is also generated in case of
a missing required field. Typically, this is an integration
error; whenever possible, should provide client-side
validation to avoid a round trip to the server. For user errors, handle this error by prompting the user to
change the value. |
INVALID_REQUEST | The server could not interpret the request. Usually, these are the cases, when a data field has to be in
a particular format but is not. Examples include:
The message field may provide additional clarification of
what part or field of the request is considered
incorrect. Please, refer to the API specification for the structure,
format, and constraints on the API request. |
NOT_FOUND | The requested resource/business entity does not exist. The
resource might also be hidden for security reasons. |
RATE_LIMIT_EXCEEDED | Too many requests have been sent in a given amount of time.
Intended for use with rate limiting schemes.
|
REQUEST_TIMEOUT | Request timeout. |
SERVER_ERROR | General server error. |
SERVICE_ERROR | An error occurred on the server. Either show a generic message, or retry the same request
again (it might succeed). |
UNKNOWN_ERROR | Unknown error. |