I'm trying to track down how this extension is supposed to work, and what I'm seeing in the paypal response causes the response to fail.
Line 133 of controllers/buypointswithpaypal.php - $app->input->getString('tx' ) references a POST variable that doesn't exist.
I dumped the keys of $_POST, and these are the variables PP is sending:
"mc_gross",
"protection_eligibility",
"address_status",
"payer_id",
"tax",
"address_street",
"payment_date",
"payment_status",
"charset",
"address_zip",
"first_name",
"mc_fee",
"address_country_code",
"address_name",
"notify_version",
"custom",
"payer_status",
"business",
"address_country",
"address_city",
"quantity",
"verify_sign",
"payer_email",
"txn_id",
"payment_type",
"last_name",
"address_state",
"receiver_email",
"payment_fee",
"shipping_discount",
"insurance_amount",
"receiver_id",
"txn_type",
"item_name",
"discount",
"mc_currency",
"item_number",
"residence_country",
"test_ipn",
"shipping_method",
"transaction_subject",
"payment_gross",
"ipn_track_id"
So $tx_token is never populated, which causes $modelVal->validatePDT to fail, which leaves $view->assign('transaction', $transaction ) empty.
I can see the data arrive - it's there, but this extension doesn't do anything with it.