Jump to content
  • Checkout
  • Login
  • Get in touch


The e-commerce.


  • Content count

  • Joined

  • Last visited

  1. RoboSavvy

    PayPal WPP Direct Payments & Express Checkout Support

    Hi all We've also been experiencing the same symptoms as Escaping (Express Checkout not working with the dynamoeffects contribution) and opened a Paypal ticket. We're posting this information here to help others who may be experiencing the same symptomps. The exchange of messages with Paypal is the following: REQUEST 1317742372 <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Header> <RequesterCredentials xmlns="urn:ebay:api:PayPalAPI"> <Credentials xmlns="urn:ebay:apis:eBLBaseComponents"> <Username>ebay_api1.robosavvy.com</Username> <Password>297NDQBJLDPTEUWW</Password> </Credentials> </RequesterCredentials> </soap:Header> <soap:Body> <SetExpressCheckoutReq xmlns="urn:ebay:api:PayPalAPI"> <SetExpressCheckoutRequest> <Version xmlns="urn:ebay:apis:eBLBaseComponents">2.0</Version> <SetExpressCheckoutRequestDetails xmlns="urn:ebay:apis:eBLBaseComponents"> <OrderTotal currencyID="GBP">1.90</OrderTotal> <ReturnURL>https://robosavvy.com/store/login.php/action/express_checkout</ReturnURL> <CancelURL>https://robosavvy.com/store/login.php/ec_cancel/1</CancelURL> <ReqConfirmShipping>1</ReqConfirmShipping> <NoShipping>0</NoShipping> <AddressOverride>0</AddressOverride> <LocaleCode>US</LocaleCode> <PageStyle></PageStyle> <cpp-header-image></cpp-header-image> <cpp-header-border-color></cpp-header-border-color> <cpp-header-back-color></cpp-header-back-color> <cpp-payflow-color></cpp-payflow-color> <PaymentAction>Sale</PaymentAction> [b] [u]<Address>[/u][/b] [b] <Name>PAYPAL_NAME</Name>[/b] [b] <Street1>PAYPAL_ADDRESS1</Street1>[/b] [b] <Street2>PAYPAL_ADDRESS2</Street2>[/b] [b] <CityName>PAYPAL_CITY</CityName>[/b] [b] <StateOrProvince>PAYPAL_STATE</StateOrProvince>[/b] [b] <PostalCode>PAYPAL_ZIP</PostalCode>[/b] [b] <Country>PAYPAL_COUNTRY</Country>[/b] [b] [u]</Address>[/u][/b] </SetExpressCheckoutRequestDetails> </SetExpressCheckoutRequest> </SetExpressCheckoutReq> </soap:Body> </soap:Envelope> RESPONSE 1317742373 Array ( [security] => [RequesterCredentials] => Array ( [0] => Array ( [Credentials] => Array ( [0] => Array ( [username] => [Password] => [signature] => [subject] => ) ) ) ) [setExpressCheckoutResponse] => Array ( [0] => Array ( [Timestamp] => 2011-10-04T15:32:54Z [b] [u][Ack] => Success[/u][/b] [CorrelationID] => ce5d1cb4e4008 [Version] => 2.0 [build] => 2133933 [b] [u][Token] => EC-58A522101D272430B[/u][/b] ) ) ) So you can see Paypal seems to be correctly accepting the message we're sending them, although the <address> section is incorrectly filled (ie in our setup we're not overriding the Paypal address). However, when we then redirect people to Paypal with token we've received (to https://www.paypal.c...A522101D272430B ) we get an error saying: "Sorry — your last action could not be completed" After contacting Paypal tehc Support they said the <address> is sending invalid information and needs to be removed. To fix this you either use user "Escaping" solution (posted above) or take our approach which was to go to the model XML files: - Go to: /catalog/includes/paypal_wpp/xml - Find setExpressCheckut.xml (this file is the model file used to start the ExpressCheckout process) - Make a copy of this file and save in case you need it (ie copy it to setExpressCheckout.xml.original ) - Open setExpressCheckut.xml - Delete the whole section between <address> and </address> and Sae This will immediatelly fix the issue. Do note that with this approch if you later wish to use the OSCommerce stored address instead of Paypal's address, you'll need to reverse this procedure. I really think the developper should update the contibution if he has the opportunity: either by re arranging the code or by using 2 different XML files for setExpressCheckout: one when we want to use the Paypal addresss (wihtout the <address> section) and another when you want to use the OSC address (that includes the <address> section). We've been loosing quite an amount of business because of this. Pay attention/be careful because this is a silent bug. It will not generate any errors on the store end (ie from the contribution's point of view there is no error; this is also partly Paypal's fault as they should be throwing the eror at th first contact and nto wait for customers to get to Paypal to thow the error). The only way you can find out about it is if you start noticing you're not receiving Express Checkout Payments. Regards Pedro.