Version 1.2.0.0 is a major release of the Netcetera Merchant Plug-In.
For documentation about this release please refer to the documentation site.
This version adds compliance with American Express SafeKey and Diners ProtectBuy.
This version is not fully backwards compatible with previous versions of the Netcetera Merchant Plug-In:
This release introduces extensions and changes in the MPI API with a focus on supporting external sessions.
IMPORTANT: Along with the changes for the external session support, the element names of the MPI messages were streamlined and inconsistencies were removed in order to align with the conventions used for 3-D Secure protocol messages. I.e.: names of elements with complex type start with an upper case letter, while names of elements with simple type start with a lower case letter. Note: PaRes and PaReq still use an upper case starting letter to match the official term used in the 3-D Secure protocol specification.
Note: Merchant.acqBIN in PaReqCreationRequest was renamed to Merchant.acquirerBin to be consistent with other non-abbreviated element names and the MPI Configuration.
IMPORTANT: Response elements containing 3-D Secure protocol messages are now prefixed with ThreeDSecure and return the full 3-D Secure protocol message (i.e. starting with the root element ThreeDSecure) as opposed to the message element only (e.g. VEReq). The full 3-D Secure protocol message is needed to support the external session feature.
All MPI responses now return all 3-D Secure protocol messages that were created/exchanged to provide full access to the raw 3-D Secure messages. I.e. the PaReqCreationResponse returns ThreeDSecureVEReq, ThreeDSecureVERes and ThreeDSecurePAReq, whereas the PaResValidationResponse returns ThreeDSecurePARes.
The following example for the PaResValidationRequest and PaResValidationResponse serves to illustrate the changes. Please refer to the MPI API schema and the request / response samples for a detailed overview of the changed message structure.
Before:
<mpi:PaResValidationRequest xmlns:mpi="http://mpi.netcetera.com"> <paRes>4j6h89g4kd92ks2==</paRes> </mpi:PaResValidationRequest> <mpi:PaResValidationResponse xmlns:mpi="http://mpi.netcetera.com"> <SessionId>tYjRM3Yub2YWNDxaC2kwZvmK</SessionId> <Cavv>PrA7BJNfcaYsZrEHNECrKrnJ</Cavv> <Eci>05</Eci> <TransactionStatus>Y</TransactionStatus> <Xid>aXql9ldTUg7OHzBSHJax</Xid> </mpi:PaResValidationResponse>
After:
<mpi:PaResValidationRequest xmlns:mpi="http://mpi.netcetera.com"> <PaRes>4j6h89g4kd92ks2==</PaRes> </mpi:PaResValidationRequest> <mpi:PaResValidationResponse xmlns:mpi="http://mpi.netcetera.com"> <sessionId>tYjRM3Yub2YWNDxaC2kwZvmK</sessionId> <cavv>PrA7BJNfcaYsZrEHNECrKrnJ</cavv> <eci>05</eci> <transactionStatus>Y</transactionStatus> <xid>aXql9ldTUg7OHzBSHJax</xid> <ThreeDSecurePARes> <Message id="pa9d4eb548-db62-43b7-8cc8-8731ac202de2"> <PARes id="123456789"> ... </PARes> </Message> </ThreeDSecurePARes> </mpi:PaResValidationResponse>