Arborescence des pages



Presentation

Monext Online retrieves your 3DS SDK information to take into account your mobile SDK when processing 3D Secure authentication.
In direct mode, you will be able to improve your payment experience by calling directly the payment web services to perform the authentication in your mobile application instead of a webview.



How to integrate your SDK

You need to make an authentication request and retrieve the 3DS SDK data to pass it on in the authorisation request.

Challenge

Processing steps:

  1. You can perform an authentication request verifyEnrollmentRequest with a Challenge.

  2. You must fill in the information in the threeDSInfo.sdk object.

  3. The response to the Challenge request will be confirmed by the ACCEPTED state and a return code 03104.

  4. You must retrieve the information from the sdkchallenge object.

  5. Your mobile sdk performs the authentication and authorization request with the 3DS information with the sdk informations.

Frictionless

In this case, it is not necessary to use the SDKChallenge object, because there is no authentication.

  • You can perform an authentication request verifyEnrollmentRequest with a Challenge.
  • You must fill in the information in thethreeDSInfo.sdk object.
  • The response to the Challenge request will be confirmed by the ACCEPTED state.
  • Your mobile sdk performs the authorization request with the 3DS information with the sdk info.




Example


Response ACCEPT to the challenge request with the sdkChallenge information

Exemple verifyEnrollment
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Header/>
   <soapenv:Body>
      <impl:verifyEnrollmentResponse xmlns:impl="http://impl.ws.payline.experian.com" xmlns:obj="http://obj.ws.payline.experian.com">
         <impl:transient>X9X9X9X9X9X9X9X9X8X9X9X9X9X9X9==</impl:transient>
         <impl:result>
            <obj:code>03104</obj:code>
            <obj:shortMessage>ACCEPTED</obj:shortMessage>
            <obj:longMessage>Transaction accepted - SDK Challenge requested</obj:longMessage>
         </impl:result>
         <impl:sdkChallenge> <!-- balise existante dans l'appel request –  >
                <obj:cardType>VISA</obj:cardType>
                <obj:threeDSServerTransID>99999999-9999-9999-999-999999999999</obj:threeDSServerTransID>
                <obj:acsTransID>99999999-9999-9999-9999-999999999999</obj:acsTransID>
                <obj:acsReferenceNumber>3DS_LOA_ACS_XXX_999999_99999</obj:acsReferenceNumber>
                <obj:acsSignedContent>9999999999..9999..9999_99999</obj:acsSignedContent>
                <obj:threeDSVersion>2.2.0</obj:threeDSVersion>
                <obj:authenticationType>01</obj:authenticationType>
                <obj:sdkTransID>99999999-9999-9999-9999-999999999999</obj:sdkTransID>
                   <obj:dsTransID>99999999-9999-9999-9999-999999999999</obj:dsTransID>
                   <obj:dsOperatorID>99999999-9999-9999-9999-999999999999</obj:dsOperatorID>
                   <obj:transStatus>C</obj:transStatus>
                   <obj:acsRenderingType>{ "acsInterface" : "01", "acsUiTemplate" : "01" }</obj:acsRenderingType>
                   <obj:acsChallengeMandated>N</obj:acsChallengeMandated>
         </impl:sdkChallenge>
         <impl:mdFieldName>MD</impl:mdFieldName>
         <impl:mdFieldValue>99999999-9999-9999-9999-9999999999999</impl:mdFieldValue>
         <impl:mpiResult>C</impl:mpiResult>
         <impl:token/>
      </impl:verifyEnrollmentResponse>
   </soapenv:Body>
</soapenv:Envelope>