We have a paypal pro setup for a contribution page and the ipn response for a normal contribution looks like -

{"transaction_subject":"","payment_date":"16:37:45 Sep 02, 2018 PDT","txn_type":"web_accept","last_name":"xxxx","receipt_id":"2600-0803-0809-7320","residence_country":"US","item_name":"Online Contribution: Personal Membership","payment_gross":"35.00","mc_currency":"USD","business":"[email protected]","payment_type":"instant","protection_eligibility":"Ineligible","verify_sign":"xxxx","payer_status":"unverified","payer_email":"[email protected]","txn_id":"7F410221CJ172415V","quantity":"1","receiver_email":"[email protected]","first_name":"xxxx","invoice":"89272b33abe6e127f59343e2a9b44a2c","payer_id":"9X46HRFGKLWH2","receiver_id":"R6MXHRC5VK3G8","item_number":"","payment_status":"Completed","payment_fee":"1.07","mc_fee":"1.07","mc_gross":"35.00","custom":"","charset":"windows-1252","notify_version":"3.9","ipn_track_id":"xxxxx"}

https://civicrm.stackexchange.com/a/17991/245 mentions that paypal pro ipn is only handled for recurring payments and others are simply ignored.

What seems incorrect to me is when an rp_invoice_id(not set for non-recurring payment) is missing in the response parameters, the payment processor is assumed to be of Paypal Express type and further handling is done with handlePaymentExpress function.

This function throws an exception when a payment is not of recurring type and hence sends a failed delivery status to paypal.

On the other side, civi contribution is completed and all works fine in the backend. It is just that paypal isn't getting a positive response for the ipn URL and hence the Paypal system send us a warning email re failed IPN calls about 2x/day.

Is this something missing in the code which incorrectly sets payment express for not seeing rp_invoice_id in the response? Should it also check for another param before deciding it as a paypal express transaction?

Update: CiviCRM version - 5.5.


  • What version of CiviCRM are you on? We're on 5.5 and we are getting notices from Paypal about failures.
    – Zachary
    Commented Sep 21, 2018 at 6:47
  • Updated the question with the civi version. Commented Sep 21, 2018 at 7:23
  • So there have been a number of tweaks/fixes to the paypal code in core over the last few versions, resolving various issues with recurring etc. @jitendra-fuzion it sounds like that may have allowed another bug to surface - if you can create a PR I'll happily review Commented Sep 21, 2018 at 9:16


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.