Hello,
I'm trying to get paypal to accept my 3d secure authorisation after taking a user through the Cardinal Centinel process (3dsecure verification is now required in the UK by Paypal for all Maestro payments).
Having got the authorisation codes back from Cardinal Centinel when I then pass then on to paypal using a SOAP DoDirectPaymentRequest all I get as a response is a 500 Application error.
Here is a sample request to paypal (which works withouth the ThreeDSecure section) with made up data to replace the live card details I have been using:
POST https://api-3t.paypal.com/2.0/
<?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"><env:Header><RequesterCredentials env:mustUnderstand="0" xmlns:n1="urn:ebay:apis:eBLBaseComponents" xmlns="urn:ebay:api:PayPalAPI"><n1:Credentials><Username>[email protected]</Username><Password>TEST</Password><Subject></Subject><Signature>sFSFADFKASFDGOP</Signature></n1:Credentials></RequesterCredentials></env:Header><env:Body><DoDirectPaymentReq xmlns="urn:ebay:api:PayPalAPI">
<DoDirectPaymentRequest xmlns:n2="urn:ebay:apis:eBLBaseComponents">
<n2:Version>59.0</n2:Version>
<n2:DoDirectPaymentRequestDetails>
<n2:PaymentAction>Authorization</n2:PaymentAction>
<n2:PaymentDetails>
<n2:OrderTotal currencyID="GBP">44.00</n2:OrderTotal>
<n2:NotifyURL></n2:NotifyURL>
<n2:OrderDescription></n2:OrderDescription>
<n2:InvoiceID></n2:InvoiceID>
<n2:ButtonSource>ActiveMerchant</n2:ButtonSource>
</n2:PaymentDetails>
<n2:CreditCard>
<n2:CreditCardType>Maestro</n2:CreditCardType>
<n2:CreditCardNumber>6759111111111111</n2:CreditCardNumber>
<n2:ExpMonth>03</n2:ExpMonth>
<n2:ExpYear>2011</n2:ExpYear>
<n2:CVV2>598</n2:CVV2>
<n2:StartMonth>02</n2:StartMonth>
<n2:StartYear>2009</n2:StartYear>
<n2:ThreeDSecureRequest>
<n2:MpiVendor3ds>Y</n2:MpiVendor3ds>
<n2:AuthStatus3ds>Y</n2:AuthStatus3ds>
<n2:Cavv>jMKEKlqlJGiJARAbkHkffnrezCI=</n2:Cavv>
<n2:Eci3ds>02</n2:Eci3ds>
<n2:XID>Slc2VjY1eHVCMkJqMEpmTGl5NDE=</n2:XID>
</n2:ThreeDSecureRequest>
<n2:CardOwner>
<n2:PayerName>
<n2:FirstName>Test</n2:FirstName>
<n2:LastName>Person</n2:LastName>
</n2:PayerName>
<n2:Payer>[email protected]</n2:Payer>
<n2:Address>
<n2:Name></n2:Name>
<n2:Street1>Test street</n2:Street1>
<n2:Street2></n2:Street2>
<n2:CityName>London</n2:CityName>
<n2:StateOrProvince></n2:StateOrProvince>
<n2:Country>GB</n2:Country>
<n2:PostalCode>SE1 111</n2:PostalCode>
<n2:Phone></n2:Phone>
</n2:Address>
</n2:CardOwner>
</n2:CreditCard>
<n2:IPAddress>99.97.165.213</n2:IPAddress>
</n2:DoDirectPaymentRequestDetails>
</DoDirectPaymentRequest>
</DoDirectPaymentReq>
</env:Body></env:Envelope>
Any ideas on how to solve this issue would be much appreciated!
Thanks