Hi - I also am not getting a encrypted link in the Thank You page using [wp_eStore_transaction_result:end]. Auto-redirect is off; and the post-payment box is checked in the Settings page.
I spoke with PayPal thinking that I could always default to the "classic" checkout, but that is not the case.
As a workaround, they offered the following, which I don't understand...
Any merits in trying to use a band-aide (if this works) as a temporary solution?
========
Hello Nick,
Sorry for the delay in my response. In regards to our conversation I have created this service request for further inquiries. By replying to it in the spaces provided it will be directed to myself or another PayPal Merchant Technical Support member if I am unavailable. In regards to Payment Data Transfer (PDT), To enable Payment Data Transfer, please follow these steps:
Go to the PayPal website and log in to your account.
Click "Profile" at the top of the page.
Click the "Website Payment Preferences" link in the Selling Preferences column.
Click the Payment Data Transfer "On" radio button.
Click "Save."
A confirmation message will appear at the top of the page indicating that you have successfully enabled Payment Data Transfer. As part of the Payment Data Transfer process you will need to pass PayPal the identity token, along with the transaction token, in order to display the transaction details to your customers. Your identity token will appear within that message, as well as below the PDT On/Off radio buttons.
In your return page you should have some code that does something similar to the following that reads in the post and validates it:
****Begin Sample*****
// read the post from PayPal system and add 'cmd'
$req = 'cmd=_notify-validate';
foreach ($_POST as $key => $value) {
$value = urlencode(stripslashes($value));
$req .= "&$key=$value";
}
// post back to PayPal system to validate
$header .= "POST /cgi-bin/webscr HTTP/1.0\r\n";
$header .= "Host: http://www.paypal.com:443\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Content-Length: " . strlen($req) . "\r\n\r\n";
$fp = fsockopen ('ssl://www.paypal.com', 443, $errno, $errstr, 30);
..... and so on
****End Sample*****
You would need to replace this with a script that reads in the GET data and validates in a similar fashion. For example replacing it with something similar to this (entering your identity token referenced above in the space noted below):
****Begin Sample*****
// read the post from PayPal system and add 'cmd'
$req = 'cmd=_notify-synch';
$tx_token = $_GET['tx'];
$auth_token = "ENTER YOUR IDENTITY TOKEN HERE";
$req .= "&tx=$tx_token&at=$auth_token";
// post back to PayPal system to validate
$header .= "POST /cgi-bin/webscr HTTP/1.0\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Content-Length: " . strlen($req) . "\r\n\r\n";
$fp = fsockopen ('ssl://www.paypal.com', 443, $errno, $errstr, 30);
*****End Sample*****
After the information is posted the PayPal will reply to the request with either a SUCCESS plus transaction data or a FAIL with and error code. I cannot see your code so can not give you specifics as to what needs to be changed directly but you are most likely pulling data from the POST directly. You would not pull data direcrtly from the resposne or "$res" using the normal as the variable names would still be the same in the response. Many integrations at this point using PHP will explode the data to parse it using something similar tot he following
Other PDT scripts you can build from/compare to can be found here:
https://www.paypaltech.com/pdtgen/
=====================
Thanks,
Nick