Контактная форма 7 и интеграция PayPal IPN - PullRequest
1 голос
/ 25 февраля 2020

Мне нужно добавить PayPal IPN на мой сайт в указанной c контактной форме. Я интегрировал функции для IPN (слушатель и другие), но я не знаю, как вызвать Paypal из CF7 "и отправить электронное письмо только ПОСЛЕ подтверждения оплаты.

Я думаю, что должен использовать Функция wpcf7_before_send_mail, но я не знаю как. Я добавляю эту простую функцию wpcf7_before_send_mail в свои функции. php


    add_action("wpcf7_before_send_mail", "wpcf7_do_something_else");  

    function wpcf7_do_something_else($cf7) {
        // get the contact form object
        $wpcf = WPCF7_ContactForm::get_current();

           $form_id = $contact_form->posted_data['_wpcf7'];
           if ($form_id == 2969) {
               if (/*Check if payment in the PayPal it's ok */) {
                  //Send mail and thank you page
               } else {
                  $wpcf->skip_mail = true;    
               }
          }
        return $wpcf;
    }

Но я не знаю, чтобы проверить IPN (я думаю, сначала у меня есть перенаправление на PayPal URL и после того, как мне нужно прослушать ответ PayPal).

Кроме того, я вставил в fuction только $ wpcf-> skip_mail = true; но письмо, но письмо отправлено однако.

Вы можете мне помочь?

С уважением, Марко

1 Ответ

0 голосов
/ 26 февраля 2020

Если это сообщение формы, которое затем перенаправляет пользователя на стандартную проверку PayPal Payments, завершенный платеж не будет выполнен позднее (и некоторая часть платежей будет go неоплаченной), поэтому вы не сможете проверить для оплаты на момент размещения формы. Это происходит позже.

Переменная notify_url, которая должна быть указана для IPN, задокументирована здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...