3D Secure Web Service

The 3D secure web service allows merchants to accept credit card details within their own interface whilst allowing them to authenticate the user via the 3D secure system. The merchant website utilises DPS merchant plug-in (MPI) through functionality exposed by way of a SOAP web service.

This page covers integration of the 3D secure system in the DPS Web Service interface. For More information on the DPS Web Service in general, please refer to the Web Service page.

Web Service URL

The 3D secure SOAP web service is available at https://www.paymentexpress.com/WS/PXWS.asmx

WSDL

The web service description language document for the service is available at https://www.paymentexpress.com/WS/PXWS.asmx?WSDL

Testing

In order to test the web service a merchant will require a merchant account configured and enabled for 3D secure transactions.

The process flow is documented below, followed by an outline of the relevant operations:

Process Flow

3DSWebServiceFlow
  1. The user enters their card details in the merchant website and POST this information to the merchant's server
  2. The merchant website calls the Check3dsEnrollment method of the SOAP web service
  3. DPS query the enrolment status of the card using their MPI
  4. DPS respond to the Check3dsEnrollment request indicating if the transaction can continue using 3D secure authentication. If applicable, DPS will also provide a PaReq value and a URL at which the user authentication should take place (acsURL)
  5. The merchant website reads the response from DPS and business logic determines if the user is to be directed to the issuer's site for authentication. All of the steps that follow assume that 3D secure authentication is possible (if 3D secure authentication is not possible skip to step 9)
  6. The merchant website POSTs user's browser to the issuer's website (acsURL). POSTed data includes the PaReq received in step 4 above, the URL to which the user should return once authentication has taken place, and an optional property that can be used to help identify the when they return to the website.

    Value Description
    PaReq Payer authentication request. The value received in the response to the Check3dsEnrollment response
    TermUrl The URL to which the user will be directed at the conclusion of 3D secure authentication
    MD Optional free text parameter that can be supplied and will be echoed back when the user is directed back to the TermUrl

    Below is an example of a form containing all of the necessary input values and the optional 'MD' property.

    <form method="POST" action="https://www.mycardsecure.com/acspage/cap.dll?RID=16048&VAA=B">
    <input type="hidden" name="PaReq" value="eNp1UttugzAM/RXE+0gosF5kUkFZtT506rp222sUvJatXBqgtPv6JQzW7WFRIvnY1rF9HJie04NxQlk
    meeabtkVNAzO/GAw==">
    <input type="hidden" name="TermUrl" value="http://localhost:54107/3DSWebService/Default.aspx">
    <input type="hidden" name="MD" value="1234">
    </form>

    The ACS will accept POST request content as follows:

    PaReq= eNp1UttugzAM/RXE+0gosF5kUkFZtT506rp222sUvJatXBqgtPv6JQzW7WFRIvnY1rF9HJie04NxQlkmeeabtkVNAzO
    /GAw==&TermUrl=http://localhost:54107/3DSWebService/Default.aspx&MD=1234

  7. The user authenticates using the 3D secure service
  8. The user is directed back to the URL specified in the TermUrl input parameter by way of client-side POST. POSTed data includes a value named "PaRes" and "MD" will be returned if supplied in step 6.

    Value Description
    PaRes Payer authentication response. Value to be included in the SubmitTransaction message
    MD The value supplied previously if included in the POST parameters in the request


  9. The merchant website makes a SubmitTransaction call with enable3DSecure equal to "1" and paRes equal to the PaRes value POSTed in the request.

Operations

Check3dsEnrollment

Refer to: https://www.paymentexpress.com/WSTest/PXWS.asmx?op=Check3dsEnrollment

Request

The input properties to the Check3dsEnrollment call are outlined below

Element Description
amount Amount in d.cc format
cardNumber Credit card number (no spaces or other delimiters)
dateExpiry Expiry date of the card in MMYY format
txnDescription Description of transaction
txnRef Set by client to uniquely identify transaction
currency Currecny code

Response

Element Description
enrolled Indicates if the card holder is or can enroll for 3D secure
paReq Payer authentication request value
acsURL URL at which the card holder can be authenticated

Possible 'enrolled' values are as follows:

Value Description
-1 The call has failed for technical reasons
0 The card is not enrolled for 3D secure
1 The card is enrolled for 3D secure
2 The card is not enrolled for 3D secure however the user can be given the opportunity to do so.

SubmitTransaction

Refer to: https://www.paymentexpress.com/WSTest/PXWS.asmx?op=SubmitTransaction

Request

Value Description
amountAmount in dd.cc format
billingIdSupplied for token billing
cardHolderNameCard holder name as found on card
cardNumberCredit card number. No spaces or other delimiters
clientInfoIP address of the user. For use with risk management rules
cvc2Card security code
dateExpiryExpiry date of the card in MMYY format
dpsBillingIdToken specified for recurring billing
dpsTxnRefUnique transaction identifier required for refund and completion transactions only
enableAddBillCardRequired in order to add a card to the token billing system. "1" = true, "0" = false
enablePaxInfoUsed for Airline Reservation Systems
inputCurrencyThree digit currency code
merchantReferencePrimary transaction reference. Free text
paxCarrierUsed for Airline Reservation Systems
paxCarrier2Used for Airline Reservation Systems
paxCarrier3Used for Airline Reservation Systems
paxCarrier4Used for Airline Reservation Systems
paxDateDepartUsed for Airline Reservation Systems
paxDate2Used for Airline Reservation Systems
paxDate3Used for Airline Reservation Systems
paxDate4Used for Airline Reservation Systems
paxTime1Used for Airline Reservation Systems
paxTime2Used for Airline Reservation Systems
paxTime3Used for Airline Reservation Systems
paxTime4Used for Airline Reservation Systems
paxLeg1Used for Airline Reservation Systems
paxLeg2Used for Airline Reservation Systems
paxLeg3Used for Airline Reservation Systems
paxLeg4Used for Airline Reservation Systems
paxClass1Used for Airline Reservation Systems
paxClass2Used for Airline Reservation Systems
paxClass3Used for Airline Reservation Systems
paxClass4Used for Airline Reservation Systems
paxStopOverCode1Used for Airline Reservation Systems
paxStopOverCode2Used for Airline Reservation Systems
paxStopOverCode3Used for Airline Reservation Systems
paxStopOverCode4Used for Airline Reservation Systems
paxFareBasis1Used for Airline Reservation Systems
paxFareBasis2Used for Airline Reservation Systems
paxFareBasis3Used for Airline Reservation Systems
paxFareBasis4Used for Airline Reservation Systems
paxFlightNumber1Used for Airline Reservation Systems
paxFlightNumber2Used for Airline Reservation Systems
paxFlightNumber3Used for Airline Reservation Systems
paxFlightNumber4Used for Airline Reservation Systems
paxNameUsed for Airline Reservation Systems
paxOriginUsed for Airline Reservation Systems
paxTicketNumberUsed for Airline Reservation Systems
paxTravelAgentInfoUsed for Airline Reservation Systems
txnData1Free text field
txnData2Free text field
txnData3Free text field
txnRefUniquely identifies the transaction request. Must be set in order to run GetStatus
txnTypePurchase, Refund, Auth, Complete or Validate
dateStartThe Issue date of the customer's credit card, if Issuer requires this field to be present.
issueNumberThe Issue Number of the credit card if Issuer requires this field to be present.
enableAvsDataAddress Verification System property. Values are 1 (Enable Verification), 0 (Disable Verification).
avsActionAddress Verification System property. Valid values are 0,1,2 & 3.
avsPostCodeAddress Verification System property. Post Code that is listed on the customer's bank statement
avsStreetAddressAddress Verification System property. Address that is listed on the customer's bank statement.
enable3DSecureIndicates if 3D secure is to be used for the transaction
paRespaRes (Payer authentication response) POSTed back to the TermUrl
clientTypeTransaction entry point type

Response

Element Description
amountAmount in dd.cc format
authCodeAuthorization code
authorizedIndicates if the transaction was authorized or not. Either False (0) or True (1)
billingIdThe billingId specified in the request
cardHolderHelpTextAny tips or hints for the CardHolder. Usually just the Response Text, associated with the ReCo
cardHolderNameCard holder name as found on card
cardHolderResponseDescriptionA description of the transaction error to help the CardHolder, associated with the ReCo
cardHolderResponseTextResponse Text of the transaction to help the card holder, associated with the ReCo.
cardNameCard type used
cardNumberTruncated card number
currencyIdCurrency identifier
currencyNameCurrency code
currencyRateCurrency rate
cvc2Indication of the use of card security code
dateExpiryExpiry date of the card in MMYY format
dateSettlementDate at which funds will be settled in yyyymmdd format
dpsBillingIdContains the BillingId generated by DPS when adding a card for recurring billing.
dpsTxnRefUnique transaction identifier returned for every transaction. Required input for Refund transactions or Complete transactions.
helpTextAny tips or hints for the CardHolder. Usually just the Response Text, associated with the ReCo
merchantHelpTextResponse Text of the transaction to help the merchant
merchantReferenceValue specified in the request
merchantResponseDescriptionA description of the transaction error to help the merchant
merchantResponseTextResponse Text of the transaction to help the merchant
reco2 character response code.
responseTextResponse Text associated with ReCo
retryIf true; retry transaction, if false do not retry
statusRequiredIf true then the result of the transaction could not be determined and you will have to call GetStatus to get the result.
testModeIndicates if the transaction went through test systems
txnRefValue specified in the request
txnTypePurchase, Refund, Auth, Complete or Validate
Copyright 2010 Direct Payment Solutions Ltd. All rights reserved. | Careers | Legal Notice | Privacy Policy