Post by RideTheWave » Thu May 25, 2017 7:27 am

Many of you are probably already aware that PayPal extended their deadline for the changes to June 30, 2017 (which is rapidly approaching). They even provide a new testing endpoint to see if your site will work with their new standards. The new testing endpoint is: https://tlstest.paypal.com (details are here: https://www.paypal-knowledge.com/infoce ... id=FAQ1914). I believe you edit your pp_pro.php file to test the new endpoint.

You can actually go to this site: https://www.ssllabs.com/ssltest/ and test to see if your site is using TLS 1.2 and HTTP/1.1 and if your SSL is SHA256. My site passes all 3 of those criteria but for some reason the test endpoint is not working for me. Can anyone else try testing to see if their site passes the testing endpoint, again it's https://tlstest.paypal.com and I believe you edit that in your pp_pro.php file (it's around line 148 in my OC 2.3.0.2). If no one else passes the test, then we can all probably feel a lot better. But if someone else does pass the test then we would know if we need to work on something on our own end. Please post if you tested the new endpoint and what you found. Thanks...

New member

Posts

Joined
Fri May 19, 2017 8:29 am

Post by RideTheWave » Thu May 25, 2017 9:01 am

I'm not actually sure if I'm passing or failing the PayPal test. Here are the errors I'm getting in the log when trying the test:
PHP Notice: Undefined index: ACK in /home/xxx/public_html/catalog/controller/extension/payment/pp_pro.php on line 174
PHP Notice: Undefined index: ACK in /home/xxx/public_html/catalog/controller/extension/payment/pp_pro.php on line 174
PHP Notice: Undefined index: L_LONGMESSAGE0 in /home/xxx/public_html/catalog/controller/extension/payment/pp_pro.php on line 193
When I look at line 174 of that file it reads:

Code: Select all

Line 174:     if (($response_info['ACK'] == 'Success') || ($response_info['ACK'] == 'SuccessWithWarning')) {
			$message = '';
so I'm not sure if I'm actually getting a "Success" or "SuccessWithWarning"

When I look at lines 191-194 it reads:

Code: Select all

Line 191:    $json['success'] = $this->url->link('checkout/success');
Line 192:  	} else {
Line 193:    $json['error'] = $response_info['L_LONGMESSAGE0'];
Line 194:	}
This part makes it look like it could be an error. Any idea if this is a failed test or is it a success but there's just an error displaying the message?

When I use the default sandbox testing endpoint that was originally in the file, https://api-3t.sandbox.paypal.com/nvp then the order goes through and I get to the checkout success page with no problem. It's just their new testing endpoint, https://tlstest.paypal.com where the page hangs and I'm seeing these errors. Anyone else? This should concern everyone who's written in this thread because the PayPal deadline is coming up on June 30, 2017 and that's when their security standard will be changed.

New member

Posts

Joined
Fri May 19, 2017 8:29 am

Post by ADD Creative » Thu May 25, 2017 9:08 pm

As I see it. https://tlstest.paypal.com is just for testing the connection with PayPal's example code. https://github.com/paypal/TLS-update/bl ... sCheck.php

You will not be able to test transactions with it. To test transactions you need to use one of the addresses listed under "Sandbox and Payflow Pilot Endpoints - Ready Now". The payment module is already configured to use www.sandbox.paypal.com from the list when is sandbox mode. So if transaction work in sandbox mode it should work when the change the production endpoints.

www.add-creative.co.uk


Expert Member

Posts

Joined
Sat Jan 14, 2012 1:02 am
Location - United Kingdom

Post by RideTheWave » Thu May 25, 2017 11:04 pm

ADD Creative wrote:
Thu May 25, 2017 9:08 pm
To test transactions you need to use one of the addresses listed under "Sandbox and Payflow Pilot Endpoints - Ready Now". The payment module is already configured to use www.sandbox.paypal.com from the list when is sandbox mode. So if transaction work in sandbox mode it should work when the change the production endpoints.
I'm using PayPal Pro. In the file: catalog/controller/extension/payment/pp_pro.php lines 145-149 read:

Code: Select all

Line 145     if (!$this->config->get('pp_pro_test')) {
Line 146     $curl = curl_init('https://api-3t.paypal.com/nvp');
Line 147      } else {
Line 148      $curl = curl_init('https://api-3t.sandbox.paypal.com/nvp');
Line 149     }
That's how the file came with the OpenCart installation. And these are testing perfectly fine for me right now (I get to the checkout success page in both the live and sandbox settings with my live API credentials and sandbox API credentials). I understand that in order to test a transaction in PayPal's environment after June 30, 2017, one of the addresses listed in PayPal's "Sandbox and Payflow Pilot Endpoints" should be used. One of those addresses is: api-3t.sandbox.paypal.com Do I simply substitute that address for the one that's in Line 148? (they're actually almost identical). Is that how to test a transaction in PayPal's new security environment? I did try that and after entering credit card details, the page freezes & nothing happens. Are there other files I need to edit in order to do the testing? Again, in my case I'm just using PayPal Pro. Also, am I supposed to get new API credentials in order to test that new address? Because I was just using my current sandbox API credentials.

New member

Posts

Joined
Fri May 19, 2017 8:29 am

Post by ADD Creative » Thu May 25, 2017 11:38 pm

https://api-3t.sandbox.paypal.com/nvp is listed in the "Sandbox and Payflow Pilot Endpoints - Ready Now" list.

So you need to put you payment module in test/sandbox mode to test and change the API Username, Password and Signature to that of your sandbox test account. You will of course need a PayPal sandbox account. https://developer.paypal.com/developer/accounts/

You will need to use test card numbers and/or sandbox user accounts to test.

www.add-creative.co.uk


Expert Member

Posts

Joined
Sat Jan 14, 2012 1:02 am
Location - United Kingdom

Post by RideTheWave » Fri May 26, 2017 5:49 am

ADD Creative wrote:
Thu May 25, 2017 11:38 pm
https://api-3t.sandbox.paypal.com/nvp is listed in the "Sandbox and Payflow Pilot Endpoints - Ready Now" list
Can you tell me where you see this? The PayPal page that I'm looking at which lists the "Sandbox and Payflow Pilot Endpoints - Ready Now" is here: https://www.paypal-knowledge.com/infoce ... cale=en_US and I don't see https://api-3t.sandbox.paypal.com/nvp as an endpoint but I DO see https://api-3t.sandbox.paypal.com (WITHOUT the /nvp at the end). Are you saying that these two are actually the same address? That would actually be great news for me because the address with the /nvp works for me (the address without the /nvp does not work for me). Again, I don't see that EXACT address with the /nvp on the PayPal page. On that page I don't see ANY addresses with /nvp at the end. Please let me know where you see that address listed as a testing endpoint or if you believe that those two addresses are the same (with or without the /nvp)...

New member

Posts

Joined
Fri May 19, 2017 8:29 am

Post by ADD Creative » Fri May 26, 2017 7:00 am

Yes, they are the same address, the /nvp doesn't matter. Only the domain matters.

www.add-creative.co.uk


Expert Member

Posts

Joined
Sat Jan 14, 2012 1:02 am
Location - United Kingdom

Post by RideTheWave » Fri May 26, 2017 8:35 am

Ok thanks, it makes me feel better but I still feel a little hesitant because if the two addresses are the same, then why don't both work when I put them in Line 148 of that pp_pro.php file? Why is only one of them working (the one with the /nvp) and the other one freezes the checkout page?

Regarding that other PayPal endpoint: https://tlstest.paypal.com you mentioned that it can't be used to test a transaction. In what way can we use it to test our OpenCart sites?

New member

Posts

Joined
Fri May 19, 2017 8:29 am

Post by ADD Creative » Fri May 26, 2017 9:17 am

Sorry, I wasn't saying the two addresses were the same. I was saying that as long as the domain part of the URL you are using is in the list then it will work. The list does not list the full URLs, only the domain names of the servers.

www.add-creative.co.uk


Expert Member

Posts

Joined
Sat Jan 14, 2012 1:02 am
Location - United Kingdom
Who is online

Users browsing this forum: No registered users and 82 guests