{"title":"Custom 3D Secure using an external MPI","category":"default","creationDate":1776961627,"content":"<div class=\"sc-notice warning\"><div>\n<p><strong>Adyen is no longer developing the Classic API integration<\/strong><\/p>\n<p>This page is for the Classic API (<code>\/authorise<\/code>) integration, which we no longer accept new integrations with. <\/p>\n<p>We strongly recommend migrating to the newer <a href=\"\/online-payments\/3d-secure\/other-3ds-flows\/authorize-mpidata\">authorisation-only flow on Checkout API<\/a> integration. To use this newer integration, you must also <a href=\"\/pt\/online-payments\/upgrade-your-integration\/migrate-to-checkout-api\">migrate to the Checkout API<\/a>.<\/p>\n<\/div><\/div>\n<h2 id=\"authorise-the-payment\">Authorise the payment<\/h2>\n<p>Submitting API payments with an external3D MPI is implemented as a SOAP service using the same URL, WSDL, username and password as used for normal API payments.\u00a0<\/p>\n<ol>\n<li>Make an\u00a0<code>\/authorise<\/code>\u00a0request.\u00a0<\/li>\n<li>For custom 3D secure integrations specifically, pass the following fields:<\/li>\n<\/ol>\n<ul>\n<li>\n<ul>\n<li>\n<p><code>shopperIP<\/code>: IP address of the shopper.<\/p>\n<\/li>\n<li>\n<p><code>browserInfo.userAgent<\/code>\u00a0and\u00a0 <code>browserInfo.acceptHeader<\/code>:\u00a0 The user agent and accept header value of the shopper's browser.\u00a0<\/p>\n<\/li>\n<li>\n<p><code>mpiData<\/code>:\u00a0A container for the data retrieved from the external 3D MPI.<\/p>\n<\/li>\n<li>\n<p><code>acquirerCode<\/code> and\u00a0<code>authorisationMid<\/code>:\u00a0These values will be supplied to you by the support department.\u00a0By default Adyen dynamically routes transactions to multiple acquirers depending on\u00a0 configuration or availability. When using an external MPI the authorisation\u00a0 must be processed over the same acquirer and MID (account at the acquirer) as used by the\u00a0 MPI. Therefore, the\u00a0<code>acquirerCode<\/code> and\u00a0<code>authorisationMid<\/code> must be passed in the <code>additionalData<\/code>.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Request:<\/p>\n<pre><code class=\"language-xml\">&lt;soap:Envelope xmlns:soap=\"http:\/\/schemas.xmlsoap.org\/soap\/envelope\/\" xmlns:xsd=\"http:\/\/www.w3.org\/2001\/XMLSchema\" xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\"&gt;\n   &lt;soap:Body&gt;\n      &lt;ns1:authorise xmlns:ns1=\"http:\/\/payment.services.adyen.com\"&gt;\n         &lt;ns1:paymentRequest&gt;\n            &lt;amount xmlns=\"http:\/\/payment.services.adyen.com\"&gt;\n               &lt;currency xmlns=\"http:\/\/common.services.adyen.com\"&gt;USD&lt;\/currency&gt;\n               &lt;value xmlns=\"http:\/\/common.services.adyen.com\"&gt;1000&lt;\/value&gt;\n            &lt;\/amount&gt;\n            &lt;browserInfo xmlns=\"http:\/\/payment.services.adyen.com\"&gt;\n               &lt;acceptHeader xmlns=\"http:\/\/common.services.adyen.com\"&gt;text\/xml,application\/xml,application\/xhtml+xml,text\/html;q=0.\n9,text\/plain;q=0.8,image\/png,*\/*;q=0.5&lt;\/acceptHeader&gt;\n               &lt;userAgent xmlns=\"http:\/\/common.services.adyen.com\"&gt;Mozilla\/5.0 (Macintosh; U; Intel Mac OS\nX; en-US; rv:1.8.1.6) Gecko\/20070725 Firefox\/2.0.0.6&lt;\/userAgent&gt;\n            &lt;\/browserInfo&gt;\n            &lt;card xmlns=\"http:\/\/payment.services.adyen.com\"&gt;\n               &lt;expiryMonth&gt;06&lt;\/expiryMonth&gt;\n               &lt;expiryYear&gt;2016&lt;\/expiryYear&gt;\n               &lt;holderName&gt;Adyen Test&lt;\/holderName&gt;\n               &lt;number&gt;4111111111111111&lt;\/number&gt;\n               &lt;cvc&gt;737&lt;\/cvc&gt;\n            &lt;\/card&gt;\n            &lt;mpiData xmlns=\"http:\/\/payment.services.adyen.com\"&gt;\n               &lt;directoryResponse&gt;Y&lt;\/directoryResponse&gt;\n               &lt;authenticationResponse&gt;Y&lt;\/authenticationResponse&gt;\n               &lt;cavv xsi:type=\"xsd:base64Binary\"&gt;MTIzNDU2Nzg5MDEyMzQ1Njc4OTA=&lt;\/cavv&gt;\n               &lt;xid xsi:type=\"xsd:base64Binary\"&gt;MDk4NzY1NDMyMTA5ODc2NTQzMjE==&lt;\/xid&gt;\n               &lt;eci&gt;05&lt;\/eci&gt;\n               &lt;cavvAlgorithm&gt;5&lt;\/cavvAlgorithm&gt;\n            &lt;\/mpiData&gt;\n            &lt;additionalData xmlns=\"http:\/\/payment.services.adyen.com\"&gt;\n               &lt;entry&gt;\n                  &lt;key xsi:type=\"xsd:string\"&gt;acquirerCode&lt;\/key&gt;\n                  &lt;value xsi:type=\"xsd:string\"&gt;TheAcquirerName&lt;\/value&gt;\n               &lt;\/entry&gt;\n               &lt;entry&gt;\n                  &lt;key xsi:type=\"xsd:string\"&gt;authorisationMid&lt;\/key&gt;\n                  &lt;value xsi:type=\"xsd:string\"&gt;94100010652000161&lt;\/value&gt;\n               &lt;\/entry&gt;\n            &lt;\/additionalData&gt;\n            &lt;merchantAccount xmlns=\"http:\/\/payment.services.adyen.com\"&gt;ExampleMerchant&lt;\/merchantAccount&gt;\n            &lt;reference xmlns=\"http:\/\/payment.services.adyen.com\"&gt;testReference1234&lt;\/reference&gt;\n            &lt;shopperIP xmlns=\"http:\/\/payment.services.adyen.com\"&gt;127.0.0.1&lt;\/shopperIP&gt;\n         &lt;\/ns1:paymentRequest&gt;\n      &lt;\/ns1:authorise&gt;\n   &lt;\/soap:Body&gt;\n&lt;\/soap:Envelope&gt;<\/code><\/pre>\n<p>Response:<\/p>\n<pre><code class=\"language-xml\">&lt;soap:Envelope xmlns:soap=\"http:\/\/schemas.xmlsoap.org\/soap\/envelope\/\" xmlns:xsd=\"http:\/\/www.w3.org\/2001\/XMLSchema\" xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\" xmlns:ns1=\"http:\/\/payment.services.adyen.com\"&gt;\n  &lt;soap:Body&gt;\n    &lt;ns1:authoriseResponse&gt;\n      &lt;ns1:paymentResult&gt;\n        &lt;ns1:additionalData&gt;\n          &lt;ns1:entry&gt;\n            &lt;ns1:key xsi:type=\"xsd:string\"&gt;cvcResult&lt;\/ns1:key&gt;\n            &lt;ns1:value xsi:type=\"xsd:string\"&gt;1 Matches&lt;\/ns1:value&gt;\n          &lt;\/ns1:entry&gt;\n          &lt;ns1:entry&gt;\n            &lt;ns1:key xsi:type=\"xsd:string\"&gt;authCode&lt;\/ns1:key&gt;\n            &lt;ns1:value xsi:type=\"xsd:string\"&gt;35286&lt;\/ns1:value&gt;\n          &lt;\/ns1:entry&gt;\n          &lt;ns1:entry&gt;\n            &lt;ns1:key xsi:type=\"xsd:string\"&gt;avsResult&lt;\/ns1:key&gt;\n            &lt;ns1:value xsi:type=\"xsd:string\"&gt;4 AVS not supported for this card type&lt;\/ns1:value&gt;\n          &lt;\/ns1:entry&gt;\n          &lt;ns1:entry&gt;\n            &lt;ns1:key xsi:type=\"xsd:string\"&gt;avsResultRaw&lt;\/ns1:key&gt;\n            &lt;ns1:value xsi:type=\"xsd:string\"&gt;4&lt;\/ns1:value&gt;\n          &lt;\/ns1:entry&gt;\n          &lt;ns1:entry&gt;\n            &lt;ns1:key xsi:type=\"xsd:string\"&gt;cvcResultRaw&lt;\/ns1:key&gt;\n            &lt;ns1:value xsi:type=\"xsd:string\"&gt;M&lt;\/ns1:value&gt;\n          &lt;\/ns1:entry&gt;\n          &lt;ns1:entry&gt;\n            &lt;ns1:key xsi:type=\"xsd:string\"&gt;refusalReasonRaw&lt;\/ns1:key&gt;\n            &lt;ns1:value xsi:type=\"xsd:string\"&gt;AUTHORISED&lt;\/ns1:value&gt;\n          &lt;\/ns1:entry&gt;\n          &lt;ns1:entry&gt;\n            &lt;ns1:key xsi:type=\"xsd:string\"&gt;acquirerCode&lt;\/ns1:key&gt;\n            &lt;ns1:value xsi:type=\"xsd:string\"&gt;TestPmmAcquirer&lt;\/ns1:value&gt;\n          &lt;\/ns1:entry&gt;\n          &lt;ns1:entry&gt;\n            &lt;ns1:key xsi:type=\"xsd:string\"&gt;acquirerReference&lt;\/ns1:key&gt;\n            &lt;ns1:value xsi:type=\"xsd:string\"&gt;8PQ02GQ2ATP&lt;\/ns1:value&gt;\n          &lt;\/ns1:entry&gt;\n        &lt;\/ns1:additionalData&gt;\n        &lt;ns1:pspReference&gt;9935398566023719&lt;\/ns1:pspReference&gt;\n        &lt;ns1:resultCode&gt;Authorised&lt;\/ns1:resultCode&gt;\n        &lt;ns1:authCode&gt;35286&lt;\/ns1:authCode&gt;\n      &lt;\/ns1:paymentResult&gt;\n    &lt;\/ns1:authoriseResponse&gt;\n  &lt;\/soap:Body&gt;\n&lt;\/soap:Envelope&gt;<\/code><\/pre>","url":"https:\/\/docs.adyen.com\/pt\/online-payments\/classic-integrations\/classic-api-integration\/3d-secure-authentication\/3d-secure-1\/custom-3d-secure-implementation\/custom-3d-secure-using-an-external-mpi","articleFields":{"id":"42838157","type":"page","_expandable":{"operations":""},"status":"current","sitemap":{"priority":0.3},"parameters":{"anchor_new":"<a href=\/online-payments\/3d-secure\/other-3ds-flows\/authorize-mpidata>authorisation-only flow on Checkout API<\/a>","parent_page":"Classic API (<code>\/authorise<\/code>)","new_desc":"integrating using our Checkout APIs"}},"algolia":{"url":"https:\/\/docs.adyen.com\/pt\/online-payments\/classic-integrations\/classic-api-integration\/3d-secure-authentication\/3d-secure-1\/custom-3d-secure-implementation\/custom-3d-secure-using-an-external-mpi","title":"Custom 3D Secure using an external MPI","content":"\nAdyen is no longer developing the Classic API integration\nThis page is for the Classic API (\/authorise) integration, which we no longer accept new integrations with. \nWe strongly recommend migrating to the newer authorisation-only flow on Checkout API integration. To use this newer integration, you must also migrate to the Checkout API.\n\nAuthorise the payment\nSubmitting API payments with an external3D MPI is implemented as a SOAP service using the same URL, WSDL, username and password as used for normal API payments.\u00a0\n\nMake an\u00a0\/authorise\u00a0request.\u00a0\nFor custom 3D secure integrations specifically, pass the following fields:\n\n\n\n\n\nshopperIP: IP address of the shopper.\n\n\nbrowserInfo.userAgent\u00a0and\u00a0 browserInfo.acceptHeader:\u00a0 The user agent and accept header value of the shopper's browser.\u00a0\n\n\nmpiData:\u00a0A container for the data retrieved from the external 3D MPI.\n\n\nacquirerCode and\u00a0authorisationMid:\u00a0These values will be supplied to you by the support department.\u00a0By default Adyen dynamically routes transactions to multiple acquirers depending on\u00a0 configuration or availability. When using an external MPI the authorisation\u00a0 must be processed over the same acquirer and MID (account at the acquirer) as used by the\u00a0 MPI. Therefore, the\u00a0acquirerCode and\u00a0authorisationMid must be passed in the additionalData.\n\n\n\n\nRequest:\n&lt;soap:Envelope xmlns:soap=\"http:\/\/schemas.xmlsoap.org\/soap\/envelope\/\" xmlns:xsd=\"http:\/\/www.w3.org\/2001\/XMLSchema\" xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\"&gt;\n   &lt;soap:Body&gt;\n      &lt;ns1:authorise xmlns:ns1=\"http:\/\/payment.services.adyen.com\"&gt;\n         &lt;ns1:paymentRequest&gt;\n            &lt;amount xmlns=\"http:\/\/payment.services.adyen.com\"&gt;\n               &lt;currency xmlns=\"http:\/\/common.services.adyen.com\"&gt;USD&lt;\/currency&gt;\n               &lt;value xmlns=\"http:\/\/common.services.adyen.com\"&gt;1000&lt;\/value&gt;\n            &lt;\/amount&gt;\n            &lt;browserInfo xmlns=\"http:\/\/payment.services.adyen.com\"&gt;\n               &lt;acceptHeader xmlns=\"http:\/\/common.services.adyen.com\"&gt;text\/xml,application\/xml,application\/xhtml+xml,text\/html;q=0.\n9,text\/plain;q=0.8,image\/png,*\/*;q=0.5&lt;\/acceptHeader&gt;\n               &lt;userAgent xmlns=\"http:\/\/common.services.adyen.com\"&gt;Mozilla\/5.0 (Macintosh; U; Intel Mac OS\nX; en-US; rv:1.8.1.6) Gecko\/20070725 Firefox\/2.0.0.6&lt;\/userAgent&gt;\n            &lt;\/browserInfo&gt;\n            &lt;card xmlns=\"http:\/\/payment.services.adyen.com\"&gt;\n               &lt;expiryMonth&gt;06&lt;\/expiryMonth&gt;\n               &lt;expiryYear&gt;2016&lt;\/expiryYear&gt;\n               &lt;holderName&gt;Adyen Test&lt;\/holderName&gt;\n               &lt;number&gt;4111111111111111&lt;\/number&gt;\n               &lt;cvc&gt;737&lt;\/cvc&gt;\n            &lt;\/card&gt;\n            &lt;mpiData xmlns=\"http:\/\/payment.services.adyen.com\"&gt;\n               &lt;directoryResponse&gt;Y&lt;\/directoryResponse&gt;\n               &lt;authenticationResponse&gt;Y&lt;\/authenticationResponse&gt;\n               &lt;cavv xsi:type=\"xsd:base64Binary\"&gt;MTIzNDU2Nzg5MDEyMzQ1Njc4OTA=&lt;\/cavv&gt;\n               &lt;xid xsi:type=\"xsd:base64Binary\"&gt;MDk4NzY1NDMyMTA5ODc2NTQzMjE==&lt;\/xid&gt;\n               &lt;eci&gt;05&lt;\/eci&gt;\n               &lt;cavvAlgorithm&gt;5&lt;\/cavvAlgorithm&gt;\n            &lt;\/mpiData&gt;\n            &lt;additionalData xmlns=\"http:\/\/payment.services.adyen.com\"&gt;\n               &lt;entry&gt;\n                  &lt;key xsi:type=\"xsd:string\"&gt;acquirerCode&lt;\/key&gt;\n                  &lt;value xsi:type=\"xsd:string\"&gt;TheAcquirerName&lt;\/value&gt;\n               &lt;\/entry&gt;\n               &lt;entry&gt;\n                  &lt;key xsi:type=\"xsd:string\"&gt;authorisationMid&lt;\/key&gt;\n                  &lt;value xsi:type=\"xsd:string\"&gt;94100010652000161&lt;\/value&gt;\n               &lt;\/entry&gt;\n            &lt;\/additionalData&gt;\n            &lt;merchantAccount xmlns=\"http:\/\/payment.services.adyen.com\"&gt;ExampleMerchant&lt;\/merchantAccount&gt;\n            &lt;reference xmlns=\"http:\/\/payment.services.adyen.com\"&gt;testReference1234&lt;\/reference&gt;\n            &lt;shopperIP xmlns=\"http:\/\/payment.services.adyen.com\"&gt;127.0.0.1&lt;\/shopperIP&gt;\n         &lt;\/ns1:paymentRequest&gt;\n      &lt;\/ns1:authorise&gt;\n   &lt;\/soap:Body&gt;\n&lt;\/soap:Envelope&gt;\nResponse:\n&lt;soap:Envelope xmlns:soap=\"http:\/\/schemas.xmlsoap.org\/soap\/envelope\/\" xmlns:xsd=\"http:\/\/www.w3.org\/2001\/XMLSchema\" xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\" xmlns:ns1=\"http:\/\/payment.services.adyen.com\"&gt;\n  &lt;soap:Body&gt;\n    &lt;ns1:authoriseResponse&gt;\n      &lt;ns1:paymentResult&gt;\n        &lt;ns1:additionalData&gt;\n          &lt;ns1:entry&gt;\n            &lt;ns1:key xsi:type=\"xsd:string\"&gt;cvcResult&lt;\/ns1:key&gt;\n            &lt;ns1:value xsi:type=\"xsd:string\"&gt;1 Matches&lt;\/ns1:value&gt;\n          &lt;\/ns1:entry&gt;\n          &lt;ns1:entry&gt;\n            &lt;ns1:key xsi:type=\"xsd:string\"&gt;authCode&lt;\/ns1:key&gt;\n            &lt;ns1:value xsi:type=\"xsd:string\"&gt;35286&lt;\/ns1:value&gt;\n          &lt;\/ns1:entry&gt;\n          &lt;ns1:entry&gt;\n            &lt;ns1:key xsi:type=\"xsd:string\"&gt;avsResult&lt;\/ns1:key&gt;\n            &lt;ns1:value xsi:type=\"xsd:string\"&gt;4 AVS not supported for this card type&lt;\/ns1:value&gt;\n          &lt;\/ns1:entry&gt;\n          &lt;ns1:entry&gt;\n            &lt;ns1:key xsi:type=\"xsd:string\"&gt;avsResultRaw&lt;\/ns1:key&gt;\n            &lt;ns1:value xsi:type=\"xsd:string\"&gt;4&lt;\/ns1:value&gt;\n          &lt;\/ns1:entry&gt;\n          &lt;ns1:entry&gt;\n            &lt;ns1:key xsi:type=\"xsd:string\"&gt;cvcResultRaw&lt;\/ns1:key&gt;\n            &lt;ns1:value xsi:type=\"xsd:string\"&gt;M&lt;\/ns1:value&gt;\n          &lt;\/ns1:entry&gt;\n          &lt;ns1:entry&gt;\n            &lt;ns1:key xsi:type=\"xsd:string\"&gt;refusalReasonRaw&lt;\/ns1:key&gt;\n            &lt;ns1:value xsi:type=\"xsd:string\"&gt;AUTHORISED&lt;\/ns1:value&gt;\n          &lt;\/ns1:entry&gt;\n          &lt;ns1:entry&gt;\n            &lt;ns1:key xsi:type=\"xsd:string\"&gt;acquirerCode&lt;\/ns1:key&gt;\n            &lt;ns1:value xsi:type=\"xsd:string\"&gt;TestPmmAcquirer&lt;\/ns1:value&gt;\n          &lt;\/ns1:entry&gt;\n          &lt;ns1:entry&gt;\n            &lt;ns1:key xsi:type=\"xsd:string\"&gt;acquirerReference&lt;\/ns1:key&gt;\n            &lt;ns1:value xsi:type=\"xsd:string\"&gt;8PQ02GQ2ATP&lt;\/ns1:value&gt;\n          &lt;\/ns1:entry&gt;\n        &lt;\/ns1:additionalData&gt;\n        &lt;ns1:pspReference&gt;9935398566023719&lt;\/ns1:pspReference&gt;\n        &lt;ns1:resultCode&gt;Authorised&lt;\/ns1:resultCode&gt;\n        &lt;ns1:authCode&gt;35286&lt;\/ns1:authCode&gt;\n      &lt;\/ns1:paymentResult&gt;\n    &lt;\/ns1:authoriseResponse&gt;\n  &lt;\/soap:Body&gt;\n&lt;\/soap:Envelope&gt;","type":"page","locale":"pt","boost":13,"hierarchy":{"lvl0":"Home","lvl1":"Online payments","lvl2":"Classic integrations for Ecommerce","lvl3":"Classic API integration","lvl4":"3D Secure authentication","lvl5":"3D Secure 1 and 2 redirect authentication","lvl6":"Custom 3D Secure implementation","lvl7":"Custom 3D Secure using an external MPI"},"hierarchy_url":{"lvl0":"https:\/\/docs.adyen.com\/pt","lvl1":"https:\/\/docs.adyen.com\/pt\/online-payments","lvl2":"https:\/\/docs.adyen.com\/pt\/online-payments\/classic-integrations","lvl3":"https:\/\/docs.adyen.com\/pt\/online-payments\/classic-integrations\/classic-api-integration","lvl4":"https:\/\/docs.adyen.com\/pt\/online-payments\/classic-integrations\/classic-api-integration\/3d-secure-authentication","lvl5":"https:\/\/docs.adyen.com\/pt\/online-payments\/classic-integrations\/classic-api-integration\/3d-secure-authentication\/3d-secure-1","lvl6":"https:\/\/docs.adyen.com\/pt\/online-payments\/classic-integrations\/classic-api-integration\/3d-secure-authentication\/3d-secure-1\/custom-3d-secure-implementation","lvl7":"\/pt\/online-payments\/classic-integrations\/classic-api-integration\/3d-secure-authentication\/3d-secure-1\/custom-3d-secure-implementation\/custom-3d-secure-using-an-external-mpi"},"levels":8,"category":"Online Payments","category_color":"green","tags":["Custom","Secure","using","external"]}}
