• Resolved berry2710

    (@berry2710)


    Hi, I have used this Payment with contact form plugin. I’ve tried this plugin and the payment was successful. But still, it is showing payment failed when I checked my payment status on the “PayPal & Stripe Payments” option. Please tell me how can I resolve the issue?

Viewing 7 replies - 1 through 7 (of 7 total)
  • Plugin Support Collin Sasse

    (@collinsasse)

    Typically, this issue is caused by your PayPal account not having the IPN URL setup. Without the IPN, PayPal will not know to notify your website on transaction status: https://wpplugin.org/documentation/setting-up-ipn-notifications-on-paypal/

    Thread Starter berry2710

    (@berry2710)

    Ok, let me try this. There is another query, I want to know the complete details of those with successful payments. Is that possible?

    Plugin Support Collin Sasse

    (@collinsasse)

    What are you referring to by “Complete Details” exactly? Our plugin only handles the payment processing. For all of the other details the user submitted on the contact form, you’ll want to use Contact Form 7 for that: https://contactform7.com/faq/can-i-see-the-messages-submitted-through-the-contact-form/

    mikeknappe

    (@mikeknappe)

    Same problem here.
    I figured out, that the function cf7pp_get_paypal_notify_url will generate the IPN notification url. For me it’s:
    https://my-domain.de?rest_route=/paypalipn/v1/cf7pp_production

    The interface within Paypal only accepts this URL, when you modify it to this one:
    https://my-domain.de / ?rest_route=/paypalipn/v1/cf7pp_production
    (Slash after the URI)

    I modified the code itself, to see, if that is the problem with the notify_url parameter given by calling PayPal.

    But nope. Then I added a simple file write method within cf7pp_paypal_ipn_handler, but as I guessed: The functions is never called after a completed transaction.

    So, what is the problem here?
    Should the IPN URL in Paypal only have the main URI like https://my-domain.de or should it be the complete rest route?

    What else could prevent the IPN callback?

    • This reply was modified 3 years ago by mikeknappe.
    mikeknappe

    (@mikeknappe)

    Well I tried the main URI in PayPal as IPN URL. No success.

    I also tried not to use the success URL (PayPal Return URL), which didn’t lead to any changes.

    Maybe the posted URL format can not be interpreted by PayPal:
    &notify_url=https%3A%2F%2my-domain.de%3Frest_route%3D%2Fpaypalipn%2Fv1%2Fcf7pp_production

    mikeknappe

    (@mikeknappe)

    Everytime the register hook is called I write a dump file to see, if it’s called. Yes, this one worked.

    I switched the rest method from POST to GET, to see, if the route was registered properly. And TADA, now the cf7pp_paypal_ipn_handler function is called, when I call the IPN URL directly.

    I tried the GET method for PayPal too, to see, if they are using GET instead of POST, but nope. There were no dummy file written, so they are using POST I guess.

    The strange thing is: You can see all IPNs in the history of PayPal. PayPal says to all created IPNs:
    HTTP-Returncode: 200
    It was the original IPN, so no retries.
    IPN-Type: Transaction fullfilled

    mikeknappe

    (@mikeknappe)

    @berry2710
    It was a security setting in the interface of my webhoster, which prevented the IPNs.
    DANG!
    See: https://www.webdecker.de/artikel/items/strato-paypal-ipn-http-error-503.html
    So, if you have the same behaviour search in Google for: PayPal IPN 503
    Maybe your hoster has a security switch, too.

Viewing 7 replies - 1 through 7 (of 7 total)
  • The topic ‘Payment status not working’ is closed to new replies.