Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
I've just made a number of small changes to my version of this module (and uc_free_order and uc_paypal) to allow subscriptions with a free first year.
But one thing I did notice on my travels was that the IPN txn_id in the uc_payment_paypal_ipn table was always blank for a WPP recurring payment.
Change uc_recurring_hosted.module
db_query("INSERT INTO {uc_payment_paypal_ipn} (order_id, txn_id, txn_type, mc_gross, status, receiver_email, payer_email, received) VALUES (%d, '%s', '%s', '%s', '%s', '%s', '%s', %d)",
$order->order_id, $nvp_response['TRANSACTIONID'], 'web_accept', $amount, 'Completed', '', $order->primary_email, time());
to:
db_query("INSERT INTO {uc_payment_paypal_ipn} (order_id, txn_id, txn_type, mc_gross, status, receiver_email, payer_email, received) VALUES (%d, '%s', '%s', '%s', '%s', '%s', '%s', %d)",
$order->order_id, $nvp_response['PROFILEID'], 'web_accept', $amount, 'Completed', '', $order->primary_email, time());
I think the WPS code does something similar.