verify3dSecure
HTTP method: POST
Use the verify3dSecure method to verify a result from a 3dSecure redirect from the initiatePayment method. For more information, see initiatePayment.
| Test URL | https://testgateway.altapaysecure.com/processor/API/<method> |
| Production URL | https://<YourShopName>.altapaysecure.com/processor/API/<method> |
Required parameters for 3D Secure v2 (3DSecureV2)
| Parameter | Description | Type |
|---|---|---|
| transactionId | The id returned from the initiatePayment call | string |
| 3DSecureV2[3ds_data] | Known parameter being sent from the authentication | string |
| 3DSecureV2[*] | Additional parameters that might be sent through the flow. * should be replaced with the parameter name given | string |
Required parameters for 3D Secure (3D Secure) (deprecated)
| Parameter | Description | Type |
|---|---|---|
| transactionId | The id returned from the initiatePayment call | string |
| 3DSecureRegular[paRes] | The response received from the issuer bank | string |
| 3DSecureRegular[MD] | The response received from the issuer bank | string |
Required parameters for 3D Secure (Dankort 3D Secure by Nets) (deprecated)
| Parameter | Description | Type |
|---|---|---|
| transactionId | The id returned from the initiatePayment call | string |
| 3DSecureNets[PostingID] | The ACS generated unique transaction identifier | string{26} |
The table shows the most pertinent response values for the method. For a complete list of API response parameters, see API Response structure (XML).
| Parameter | Description |
|---|---|
| Result |
The result of the request, for example:
|
| RedirectResponse | For cards enrolled with 3D Secure v2, the redirect response contains a URL you must redirect your customer to, and also includes a set of POST parameters you need to include in the redirect call. |
| Transactions | Contains a set of Transaction elements, each describing the relevant transactions. For more information, see Transaction. |
|
The result has been deprecated, please see Authentication instead The result of a 3D Secure verification using the verify3dSecure method.
|
|
The result of a 3D Secure verification using the verify3dSecure method.
|
Minimal Request
curl --request POST \
--url https://<YourShopName>.altapaysecure.com/processor/API/verify3dSecure \
--header 'Authorization: Basic auth' \
--data transactionId=62345 \
--data 3DSecureRegular[paRes]=VGhpcyBptyBhwiBleQFtcCxlIFBhUmVx \
--data 3DSecureRegular[MD]=af3703e5-09ad-4bbe-b130-976e39280f7a \
XML response for a successful verification
<?xml version="1.0"?>
<APIResponse version="20170228">
<Header>
<Date>2025-01-23T16:49:34+00:00</Date>
<Path>API/verify3dSecure</Path>
<ErrorCode>0</ErrorCode>
<ErrorMessage/>
</Header>
<Body>
<Result>Success</Result>
<Transactions>
<Transaction>
<TransactionId>30</TransactionId>
<PaymentId>fd3f2df3-e0ca-4c59-baf9-300051017116</PaymentId>
<AuthType>payment</AuthType>
<CardStatus>InvalidLuhn</CardStatus>
<CreditCardExpiry>
<Year>2025</Year>
<Month>12</Month>
</CreditCardExpiry>
<CreditCardToken>gdZnqBKE+nlrHJty4kYThaXqmKH2hNvkLTxPTX4o+Q0f5wIU08jtfSTBaOLissrtzVe1WmxGRy/8+wE0bbsXNQ==+1</CreditCardToken>
<CreditCardMaskedPan>457100******0021</CreditCardMaskedPan>
<IsTokenized>false</IsTokenized>
<CardInformation>
<IsTokenized>false</IsTokenized>
<Token>gdZnqBKE+nlrHJty4kYThaXqmKH2hNvkLTxPTX4o+Q0f5wIU08jtfSTBaOLissrtzVe1WmxGRy/8+wE0bbsXNQ==+1</Token>
<MaskedPan>457100******0021</MaskedPan>
<Expiry>
<Year>2025</Year>
<Month>12</Month>
</Expiry>
<IssuingCountry>DK</IssuingCountry>
<LastFourDigits>0021</LastFourDigits>
<Scheme>VISA</Scheme>
</CardInformation>
<ThreeDSecureResult>Successful</ThreeDSecureResult>
<LiableForChargeback>Issuer</LiableForChargeback>
<CVVCheckResult>Not_Attempted</CVVCheckResult>
<BlacklistToken>857e13973ddf6e9a51932a3dc1743f2025eadf6a</BlacklistToken>
<ShopOrderId>asdjkh123</ShopOrderId>
<Shop>AltaPay Functional Test Shop</Shop>
<Terminal>AltaPay Test 3DSecure2 Terminal</Terminal>
<TransactionStatus>preauth</TransactionStatus>
<ReasonCode>NONE</ReasonCode>
<MerchantCurrency>978</MerchantCurrency>
<MerchantCurrencyAlpha>EUR</MerchantCurrencyAlpha>
<CardHolderCurrency>978</CardHolderCurrency>
<CardHolderCurrencyAlpha>EUR</CardHolderCurrencyAlpha>
<ReservedAmount>10.00</ReservedAmount>
<CapturedAmount>0.00</CapturedAmount>
<RefundedAmount>0.00</RefundedAmount>
<CreditedAmount>0.00</CreditedAmount>
<RecurringDefaultAmount>0.00</RecurringDefaultAmount>
<SurchargeAmount>0.00</SurchargeAmount>
<CreatedDate>2025-01-23 16:48:51</CreatedDate>
<UpdatedDate>2025-01-23 16:49:33</UpdatedDate>
<PaymentNature>CreditCard</PaymentNature>
<PaymentSource>eCommerce</PaymentSource>
<PaymentSchemeName>VISA</PaymentSchemeName>
<PaymentNatureService name="SoapTestAcquirer">
<SupportsRefunds>true</SupportsRefunds>
<SupportsRelease>true</SupportsRelease>
<SupportsMultipleCaptures>true</SupportsMultipleCaptures>
<SupportsMultipleRefunds>true</SupportsMultipleRefunds>
</PaymentNatureService>
<ChargebackEvents/>
<PaymentInfos/>
<CustomerInfo>
<UserAgent>PHP/8.2.24</UserAgent>
<IpAddress>192.168.1.1</IpAddress>
<Email/>
<Username/>
<CustomerPhone/>
<OrganisationNumber/>
<CountryOfOrigin>
<Country>DK</Country>
<Source>CardNumber</Source>
</CountryOfOrigin>
</CustomerInfo>
<ReconciliationIdentifiers/>
<Authentication>
<Flow>CHALLENGE</Flow>
<Liability>ISSUER</Liability>
<Result>ACCEPTED</Result>
<Version>2.1.0</Version>
<Type>3DSECURE</Type>
</Authentication>
</Transaction>
</Transactions>
</Body>
</APIResponse>
XML response for a verification requiring a redirect (3DSecure V2)
<?xml version="1.0"?>
<APIResponse version="20170228">
<Header>
<Date>2025-01-23T16:48:52+00:00</Date>
<Path>API/verify3dSecure</Path>
<ErrorCode>0</ErrorCode>
<ErrorMessage/>
</Header>
<Body>
<Result>3dSecure</Result>
<RedirectResponse>
<Url>https://a00ed3580fdc.ngrok.app/eCommerce/API/emvcoThreeDSecure/authenticate/fd3f2df3-e0ca-4c59-baf9-300051017116</Url>
<Method>POST</Method>
<Data/>
<FlowType>3DSecureV2</FlowType>
</RedirectResponse>
<Transactions>
<Transaction>
<TransactionId>30</TransactionId>
<PaymentId>fd3f2df3-e0ca-4c59-baf9-300051017116</PaymentId>
<AuthType>payment</AuthType>
<CardStatus>InvalidLuhn</CardStatus>
<CreditCardExpiry>
<Year>2025</Year>
<Month>12</Month>
</CreditCardExpiry>
<CreditCardToken>gdZnqBKE+nlrHJty4kYThaXqmKH2hNvkLTxPTX4o+Q0f5wIU08jtfSTBaOLissrtzVe1WmxGRy/8+wE0bbsXNQ==+1</CreditCardToken>
<CreditCardMaskedPan>457100******0021</CreditCardMaskedPan>
<IsTokenized>false</IsTokenized>
<CardInformation>
<IsTokenized>false</IsTokenized>
<Token>gdZnqBKE+nlrHJty4kYThaXqmKH2hNvkLTxPTX4o+Q0f5wIU08jtfSTBaOLissrtzVe1WmxGRy/8+wE0bbsXNQ==+1</Token>
<MaskedPan>457100******0021</MaskedPan>
<Expiry>
<Year>2025</Year>
<Month>12</Month>
</Expiry>
<IssuingCountry>DK</IssuingCountry>
<LastFourDigits>0021</LastFourDigits>
<Scheme>VISA</Scheme>
</CardInformation>
<ThreeDSecureResult>Not_Applicable</ThreeDSecureResult>
<LiableForChargeback>Merchant</LiableForChargeback>
<CVVCheckResult>Not_Applicable</CVVCheckResult>
<BlacklistToken>857e13973ddf6e9a51932a3dc1743f2025eadf6a</BlacklistToken>
<ShopOrderId>asdjkh123</ShopOrderId>
<Shop>AltaPay Functional Test Shop</Shop>
<Terminal>AltaPay Test 3DSecure2 Terminal</Terminal>
<TransactionStatus>threeds2_reservation_challenge_started</TransactionStatus>
<ReasonCode>NONE</ReasonCode>
<MerchantCurrency>978</MerchantCurrency>
<MerchantCurrencyAlpha>EUR</MerchantCurrencyAlpha>
<CardHolderCurrency>978</CardHolderCurrency>
<CardHolderCurrencyAlpha>EUR</CardHolderCurrencyAlpha>
<ReservedAmount>0.00</ReservedAmount>
<CapturedAmount>0.00</CapturedAmount>
<RefundedAmount>0.00</RefundedAmount>
<CreditedAmount>0.00</CreditedAmount>
<RecurringDefaultAmount>0.00</RecurringDefaultAmount>
<SurchargeAmount>0.00</SurchargeAmount>
<CreatedDate>2025-01-23 16:48:51</CreatedDate>
<UpdatedDate>2025-01-23 16:48:52</UpdatedDate>
<PaymentNature>CreditCard</PaymentNature>
<PaymentSource>eCommerce</PaymentSource>
<PaymentSchemeName>VISA</PaymentSchemeName>
<PaymentNatureService name="SoapTestAcquirer">
<SupportsRefunds>true</SupportsRefunds>
<SupportsRelease>true</SupportsRelease>
<SupportsMultipleCaptures>true</SupportsMultipleCaptures>
<SupportsMultipleRefunds>true</SupportsMultipleRefunds>
</PaymentNatureService>
<ChargebackEvents/>
<PaymentInfos/>
<CustomerInfo>
<UserAgent>PHP/8.2.24</UserAgent>
<IpAddress>192.168.1.1</IpAddress>
<Email/>
<Username/>
<CustomerPhone/>
<OrganisationNumber/>
<CountryOfOrigin>
<Country>DK</Country>
<Source>CardNumber</Source>
</CountryOfOrigin>
</CustomerInfo>
<ReconciliationIdentifiers/>
<Authentication>
<Flow>CHALLENGE</Flow>
<Liability>MERCHANT</Liability>
<Result>UNKNOWN</Result>
<Version>unknown</Version>
<Type>3DSECURE</Type>
</Authentication>
</Transaction>
</Transactions>
</Body>
</APIResponse>