This is an API reference for the 3D Secure authentication service.
3D Secure authentication service API (1.0.0)
Request
Pre-initiates an integrated 3D Secure authentication request for a transaction. In integrated mode, PXP processes the transaction in a separate initiate transaction request using the 3D Secure supplied data. This step ensures that all required data is gathered and validated before the full authentication process, facilitating a smoother and more secure transaction flow.
The unique identifier for the provider.
The intent of the authentication request. This field is conditionally required: it's required if providerId isn't sent, otherwise it's optional. It makes sense to authenticate transactions with the following intents:
PurchaseAuthorisationEstimatedAuthorisationVerification
Indicator used to specify the type of authentication request, such as payment authentication or account verification.
Possible values:
01: Payment transaction02: Initial recurring transaction03: Initial card-on-file transaction for subsequent MITs04: Initial card-on-file transaction for subsequent CITs05: Store card details without purchase (card verification)06: Instalment transaction07: Billing agreement08: Split shipment09: Delayed shipment10: Split payment
Use full card details for authentication. This option requires the primary account number, expiry date, cardholder name, and optionally, the card verification code (CVC).
The unique number assigned to a payment card, such as a credit or debit card.
The full name of the individual who owns the payment card, printed on the physical card.
The expiry year [YYYY] of the card.
- Production environmenthttps://api-services.pxp.io/api/v1/threedsecure/integrated/authentications
- Sandbox environmenthttps://api-services.test.pxp.io/api/v1/threedsecure/integrated/authentications
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://api-services.pxp.io/api/v1/threedsecure/integrated/authentications \
-H 'Content-Type: application/json' \
-d '{
"amount": {
"transactionValue": 0.1,
"currencyCode": "EUR"
},
"fingerprintCallbackUrl": "string",
"providerId": "provider_123456",
"intent": "Authorisation",
"requestorAuthenticationIndicator": {
"PaymentTransaction": {
"value": 1
}
},
"site": "string",
"card": {
"primaryAccountNumber": "4111111111111111",
"cardHolderName": "string",
"expiryMonth": 3,
"expiryYear": 2025,
"cardVerificationCode": "123"
}
}'OK
A unique reference provided by PXP for the authentication request, represented as a GUID.
The current state of the authentication request.
Whether Strong Customer Authentication (SCA) is mandated for this transaction.
Specifies any exemptions that apply to the transaction from SCA requirements.
The version of the 3D Secure protocol being used for the authentication.
The URL to which the 3D Secure method data should be sent.
Data required for the 3D Secure method, typically a base64 encoded string.
Whether 3D Secure authentication is supported for this transaction.
{ "authenticationId": "550e8400-e29b-41d4-a716-446655440000", "state": "PendingClientData", "scaMandated": true, "applicableExemptions": "LVP", "threeDSecureVersion": "2.1.0", "threeDSecureFingerprintUrl": "https://example.com/3ds-method", "threeDSecureFingerprintData": "eyJ0aHJlZURTU2VjdXJlTWV0aG9kRGF0YSI6IlhYWiJ9", "threeDSecureSupported": true, "recommendedChallengeIndicator": "string" }
Request
Authenticates an integrated 3D Secure transaction request. In integrated mode, PXP processes the transaction in conjunction with the 3D Secure authentication data. This ensures that the transaction is authenticated securely, leveraging the full authentication data collected during the pre-initiation phase. The request payload must include comprehensive details about the transaction, card information, merchant information, and additional contextual data necessary for the 3D Secure authentication flow.
The URL for notifying the fingerprinting result. Base64 of {"threeDSMethodNotificationURL":"method url value","threeDSServerTransID":"transaction id value"}.
The three-digit country code of the merchant, following ISO 3166-1 numeric standard.
The legal name of the merchant.
The desired size of the challenge window displayed to the cardholder during authentication.
Possible values:
1: 250x4002: 390x4003: 500x6004: 600x4005: FullScreen
Indicator of whether a challenge is requested for this transaction (Integrated authentication).
Possible values:
01: NoPreference02: NoChallengeRequested03: ChallengeRequested3dsRequestorPreference04: ChallengeRequestedMandate05: NoChallengeRequestedTRAPerformed10: NoChallengeRequestedLowValueExemption
The fully qualified URL of the system that receives the CRes message or error message. The CRes message is posted by the ACS through the cardholder's browser at the end of the challenge and receipt of the RRes message.
Details related to recurring transactions for 3D Secure authentication.
Details of the address used in browser-based authentication.
Details of the address used in browser-based authentication.
Information about the browser used in the authentication process.
The Accept HTTP header field from the browser.
The colour depth of the browser's screen, measured in bits per pixel.
The IP address of the device running the browser, if available.
Whether the browser has JavaScript enabled.
The IETF BCP 47 language tag.
The height of the browser's screen in pixels.
The width of the browser's screen in pixels.
The difference, in minutes, between UTC and the local time of the browser.
Details about the shopper involved in the authentication.
The email address of the shopper.
The home phone number of the shopper.
The mobile phone number of the shopper.
- Production environmenthttps://api-services.pxp.io/api/v1/threedsecure/integrated/authentications/{authenticationId}/browser-authentication
- Sandbox environmenthttps://api-services.test.pxp.io/api/v1/threedsecure/integrated/authentications/{authenticationId}/browser-authentication
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X PUT \
'https://api-services.pxp.io/api/v1/threedsecure/integrated/authentications/{authenticationId}/browser-authentication' \
-H 'Content-Type: application/json' \
-d '{
"fingerprintNotification": "string",
"merchantCountryNumericCode": "840",
"merchantLegalName": "ACME Ltd",
"challengeWindowSize": 1,
"requestorChallengeIndicator": "01",
"challengeCallbackUrl": "http://example.com",
"recurring": {
"expirationDate": "2024-12-31T23:59:59Z",
"frequencyInDays": 30
},
"billingAddress": {
"city": "San Francisco",
"countryNumericCode": "840",
"line1": "123 Market St",
"line2": "Apt 456",
"line3": "Building B",
"postalCode": "94105",
"stateCode": "CA"
},
"shippingAddress": {
"city": "San Francisco",
"countryNumericCode": "840",
"line1": "123 Market St",
"line2": "Apt 456",
"line3": "Building B",
"postalCode": "94105",
"stateCode": "CA"
},
"browserData": {
"acceptHeader": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
"colorDepth": 24,
"ipAddress": "192.168.1.1",
"javaEnabled": true,
"javaScriptEnabled": true,
"language": "en-US",
"screenHeight": 1080,
"screenWidth": 1920,
"timeZoneOffsetInMinutes": -420,
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"
},
"shopper": {
"email": "johndoe@example.com",
"homePhoneNumber": "+1234567890",
"mobilePhoneNumber": "+0987654321",
"workPhoneNumber": "+1123456789"
}
}'OK
The current state of the authentication request.
The status of the transaction.
Possible values include:
Y: AuthenticationVerificationSuccessfulN: NotAuthenticated_NotVerifiedU: AuthenticationCouldNotBePerformedA: AttemptsProcessingPerformedC: ChallengeRequiredR: AuthenticationRejectedI: InformationalOnly
The indicator used to signify the level of security used in the authentication, often used in electronic commerce transactions.
Specifies if the exemption was granted by the issuer.
Possible values:
05: TransactionRiskAnalysisExemption08: TrustListExemption10: LowValueExemption11: SecureCorporatePaymentsExemption79: NoExemptionApplied
The URL of the Access Control Server (ACS) where the cardholder is redirected for challenge authentication.
Data required for the challenge authentication process, typically a base64 encoded string.
Details about the state. This is returned only when the transactionStatus is different from Y or A.
{ "uniqueId": "string", "state": "PendingClientData", "transactionStatus": "Y", "electronicCommerceIndicator": "05", "exemptionGranted": true, "exemptionGrantedByIssuer": "string", "acsUrl": "https://acs.example.com/challenge", "challengeData": "eyJjaGFsbGVuZ2VEYXRhIjoiQUJDIn0=", "stateData": { "code": "01", "reason": "Card authentication failure" }, "cardholderInfo": "string" }
Request
Retrieves the details of a specific 3DS pre-initiate authentication using the authenticationId provided in the path. Note: This endpoint is intended for use with the Components SDKs.
- Production environmenthttps://api-services.pxp.io/api/v1/threedsecure/integrated/authentications/{authenticationId}/assessment
- Sandbox environmenthttps://api-services.test.pxp.io/api/v1/threedsecure/integrated/authentications/{authenticationId}/assessment
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://api-services.pxp.io/api/v1/threedsecure/integrated/authentications/{authenticationId}/assessment'OK
A unique reference provided by PXP for the authentication request, represented as a GUID.
The current state of the authentication request.
Whether Strong Customer Authentication (SCA) is mandated for this transaction.
Specifies any exemptions that apply to the transaction from SCA requirements.
The version of the 3D Secure protocol being used for the authentication.
The URL to which the 3D Secure method data should be sent.
Data required for the 3D Secure method, typically a base64 encoded string.
Whether 3D Secure authentication is supported for this transaction.
{ "authenticationId": "550e8400-e29b-41d4-a716-446655440000", "state": "PendingClientData", "scaMandated": true, "applicableExemptions": "LVP", "threeDSecureVersion": "2.1.0", "threeDSecureFingerprintUrl": "https://example.com/3ds-method", "threeDSecureFingerprintData": "eyJ0aHJlZURTU2VjdXJlTWV0aG9kRGF0YSI6IlhYWiJ9", "threeDSecureSupported": true, "recommendedChallengeIndicator": "string" }
Request
Retrieves the complete details of a specific 3DS authentication using the authenticationId provided in the path. Note: This endpoint is intended for use with the Components SDKs.
- Production environmenthttps://api-services.pxp.io/api/v1/threedsecure/integrated/authentications/{authenticationId}/outcome
- Sandbox environmenthttps://api-services.test.pxp.io/api/v1/threedsecure/integrated/authentications/{authenticationId}/outcome
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://api-services.pxp.io/api/v1/threedsecure/integrated/authentications/{authenticationId}/outcome'OK
The current state of the authentication request.
The status of the transaction.
Possible values include:
Y: AuthenticationVerificationSuccessfulN: NotAuthenticated_NotVerifiedU: AuthenticationCouldNotBePerformedA: AttemptsProcessingPerformedC: ChallengeRequiredR: AuthenticationRejectedI: InformationalOnly
The indicator used to signify the level of security used in the authentication, often used in electronic commerce transactions.
{ "uniqueId": "string", "state": "PendingClientData", "transactionStatus": "Y", "electronicCommerceIndicator": "05", "exemptionGranted": true, "exemptionGrantedByIssuer": "string" }