PayPal WPP Direct Payments & Express Checkout Support
#4101
Posted 15 February 2010, 17:08
#4102
Posted 17 February 2010, 20:11
Quote
I'm using version v1.0.7a
Edited by crimble crumble, 17 February 2010, 20:15.
#4103
Posted 18 February 2010, 08:57
@crimble crumble: If the country code that is sent back by PayPal isn't found in the countries table in your database, the payment is denied. The reason is that the way store owners can limit where they ship to is by deleting countries from the database so the module will not allow Express Checkout customers to create accounts if they're not in one of those countries.
Check in your admin under Locations / Taxes -> Countries and make sure that your customer's country is there. If it is, edit it and ensure that the country code is correct as well.
#4104
Posted 18 February 2010, 21:18
dynamoeffects, on 18 February 2010, 08:57, said:
Check in your admin under Locations / Taxes -> Countries and make sure that your customer's country is there. If it is, edit it and ensure that the country code is correct as well.
In this particular case the customer was from the united states where I am based and ship most my orders. Apparently the country code returned from PayPal didn't match the one in my database. Perhaps this particular customer had multiple addresses associated with his PayPal account and had the wrong address selected on the PayPal site. I can't think of any other reason this would happen. It has only happened twice in my last 200 transactions.
#4105
Posted 19 February 2010, 22:41
webr, on 15 February 2010, 17:08, said:
I believe that this issue will occur if you do not replace the file catalog/includes/paypal_wpp/xml/doDirectPayment.xml with the one from v1.0.9. Please check that it is the latest version and let us know if that fixes it.
The new file is 3387 bytes; the old one was 3355 bytes.
--Glen
#4106
Posted 21 February 2010, 15:41
SteveDallas, on 19 February 2010, 22:41, said:
The new file is 3387 bytes; the old one was 3355 bytes.
--Glen
I installed 1.0.9 today and 3d secure is working fine. The whole thing is working pretty much straight out of the box.
I just have one small thing to fix:
1) customer doesn't receive confirmation order email
if anyone can give me a quick heads up on this then that would be great.
Thanks for a great contrib!
#4107
Posted 22 February 2010, 17:23
#4108
Posted 22 February 2010, 20:48
1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' 'paypal_wpp', '', ' at line 18
INSERT INTO orders_status_history_transactions ( `orders_status_history_id`, `transaction_id`, `transaction_type`, `payment_type`, `payment_status`, `transaction_amount`, `module_code`, `transaction_avs`, `transaction_cvv2`, `transaction_msgs` ) VALUES ( 32, '', '', '', '', , 'paypal_wpp', '', '', '' )
[TEP STOP]
Just before 'paypal_wpp', there is a blank in between commas, where the value of 'transaction_amount' should be. I have no idea where to even find this line 18 of code to be able to even look at it and change it. Can anyone offer any help where I might find this line of code and what should be between the commas? This error has been driving me crazy for weeks. Thanks!
#4109
Posted 22 February 2010, 22:54
1) Why is there no transaction ID? Is the transaction being recorded as successful?
2) Check your currency values in the admin. If either of them are zero, that would explain why you have no order total amount.
#4110
Posted 23 February 2010, 00:18
crimble crumble, on 18 February 2010, 21:18, said:
Check the state name in the customer's address book record. If it is the two letter code, and not the full state name, that may be the problem. Most versions prior to v1.0.6 stored the zone code instead of the zone name in the state field of the order table, and Express Checkout customers had their two letter state abbreviation stored in the address book instead of (or in addition to) the zone ID number. This can cause the code I added in v1.0.6 to get confused and return a blank state. (This happened to one or two of my customers and was kind of hard to track down.) I can't remember exactly what the error message was; I thought it was "pick a state" or something like that, not a "we don't ship to your country" error. I have a fix:
In catalog/includes/modules/payment/paypal_wpp.php, find this text around line 369:
} else {
$this->away_with_you(MODULE_PAYMENT_PAYPAL_DP_TEXT_STATE_ERROR);
}
Insert this code AFTER the the text above:
} else {
$the_state = $state;
I will commit this fix to github later this evening.
--Glen
#4111
Posted 23 February 2010, 00:57
dynamoeffects, on 22 February 2010, 22:54, said:
1) Why is there no transaction ID? Is the transaction being recorded as successful?
2) Check your currency values in the admin. If either of them are zero, that would explain why you have no order total amount.
#4112
Posted 23 February 2010, 16:01
After installing 1.0.9 the other day I'm doing a load of testing on it in localhost before I even think about letting it loose on a live site.
So today I tested a Maestro payment, but deliberately used a different address to the one associated with the card. So the transaction should've failed.
3D secure worked fine.
The transaction went thru, I landed on checkout_success.php which obviously gave my default text - your order is being processed. There was no 'transaction failed' screen / text. The transaction wasn't recorded in PayPal. The order was recorded in the backend of the store, but with the following details:
Transaction Type: AUTHORIZATION
Payment Type: NONE
Payment Status: NONE
AVS Code: Error
CVV2 Code: Error
No email came from paypal. So as far as the customer would've been concerned, the order and transaction was successful. But it actually wasn't.
So, is there something I'm missing here? Just wondered if anyone had any thoughts.
Cheers,
Col
#4113
Posted 23 February 2010, 16:22
#4115
Posted 23 February 2010, 16:54
dynamoeffects, on 23 February 2010, 16:22, said:
Thanks for the quick response.
Can you explain a bit more about what will this actually do? I'm just trying to get a handle on the actual process & what's happening.
Cheers,
Col
Edited by col_b, 23 February 2010, 17:01.
#4116
Posted 24 February 2010, 08:15
I'd need to see the request/response from your DoDirectPayment call.
Find this line:
$final_req = $this->wpp_execute_transaction('doDirectPayment', $order_info);
and below it add this:
tep_mail(STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS, 'PayPal DoDirectPayment Transaction', "Request: " . $this->last_data . "\r\n\r\n" . "Response:" . print_r($final_req, true), STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS);
Then attempt the exact same transaction you did before with the incorrect address. You'll receive an email containing the details of that transaction that you'll need to clean to remove any sensitive information and then send to me on PM.
#4117
Posted 24 February 2010, 09:53
dynamoeffects, on 24 February 2010, 08:15, said:
I'd need to see the request/response from your DoDirectPayment call.
Find this line:
$final_req = $this->wpp_execute_transaction('doDirectPayment', $order_info);
and below it add this:
tep_mail(STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS, 'PayPal DoDirectPayment Transaction', "Request: " . $this->last_data . "\r\n\r\n" . "Response:" . print_r($final_req, true), STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS);
Then attempt the exact same transaction you did before with the incorrect address. You'll receive an email containing the details of that transaction that you'll need to clean to remove any sensitive information and then send to me on PM.
ok, so i tried the above.
Tried it with a Visa transaction, rather than maestro, with the wrong address. This time it went thru though. Email received from paypal confirming transaction, transaction recorded in Paypal, transaction recorded in backend of store.
I didn't receive an email after putting the suggested code in. Maybe I put it in the wrong place; I put it in catalog/includes/modules/payment/paypal_wpp at ~line 1591.
I now don't have access to the maestro card that failed before, so I can't test it. I wonder then if this is just a maestro issue?
On a somewhat separate note, I noted this during the 3D secure process:
Undefined index: blank in C:\wamp\www\catalog\includes\paypal_wpp\paypal_wpp_3ds.php on line 2
It appeared in the header during 3Dsecure, and then in the main conetent page during the authorisation stage. Refers to this:
if ($_GET['blank'] == '1') die('<html></html>');
Cheers.
Edited by col_b, 24 February 2010, 09:54.
#4118
Posted 24 February 2010, 16:03
Are you testing this on the Cardinal Centinel sandbox or on their live server?
Edited by dynamoeffects, 24 February 2010, 16:04.
#4119
Posted 24 February 2010, 18:48
dynamoeffects, on 24 February 2010, 16:03, said:
Are you testing this on the Cardinal Centinel sandbox or on their live server?
Testing on live server.
#4120
Posted 24 February 2010, 21:02
tep_mail(STORE_OWNER, 'YOUR@EMAILADDRESS.COM', 'PayPal DoDirectPayment Transaction', "Request: " . $this->last_data . "\r\n\r\n" . "Response:" . print_r($final_req, true), STORE_OWNER, 'YOUR@EMAILADDRESS.COM');
If that still doesn't work, your spam filter might be catching it. If so use a mailinator.com address like: colb@mailinator.com and check it by going to www.mailinator.com














