гравитационная форма - отправка POST-данных в размещенный платежный шлюз - PullRequest
0 голосов
/ 25 декабря 2018

Я хочу отправить гравитационную форму на размещенный платежный шлюз "https://checkout.e -xact.com / pay ", и я использую код ниже.

Я добавил ниже пример кодав функции активной темы. php.

Что я хочу:

Я хочу, когда пользователь отправляет форму гравитации, тогда форма отправляет необходимые данные через POST на этот URL-адрес "https://checkout.e -xact.com / pay", тогда на этой странице отображаются данные из формы, и пользователи могут вставить информацию о платеже и отправить платеж.

ВЫПУСК:

, когда я отправляюформа показывает страницу благодарности веб-сайтов вместо того, чтобы отправлять данные в "https://checkout.e -xact.com / pay ", чтобы пользователи могли вставить информацию об оплате и отправить форму.

add_action( 'gform_after_submission', 'post_to_third_party', 10, 2 );
function post_to_third_party( $entry, $form ) {

    $post_url = 'https://checkout.e-xact.com/pay';
    $body = array(
        'first_name' => rgar( $entry, '1.3' ),
        'last_name' => rgar( $entry, '1.6' ),
        'message' => rgar( $entry, '3' ),
        );
    GFCommon::log_debug( 'gform_after_submission: body => ' . print_r( $body, true ) );

    $request = new WP_Http();
    $response = $request->post( $post_url, array( 'body' => $body ) );
    GFCommon::log_debug( 'gform_after_submission: response => ' . print_r( 
$response, true ) );
}

Я очень ценю вашу помощь

1 Ответ

0 голосов
/ 25 декабря 2018

Существуют различные варианты достижения того, что вы ищете.В прошлый раз, когда у меня была похожая ситуация, я использовал версию пользовательского интерфейса, хотя ..

Код, который вы написали выше, абсолютно верен, но он не приведет вас к внешнему сайту, скорее он попытается отправить данныек упомянутому сервису и, наконец, отобразите страницу благодарности гравитационных форм.

В вашем случае: вы можете просто зайти в настройки формы -> Подтверждения, изменить тип подтверждения на перенаправление страницы и проверить опцию отправкиполя в строке запроса, выберите ваши поля, и все готово.

...