При помощи ajax отправляете данные формы в php handler,  производите требуемые манипуляции и 
сабмитите форму с переходом куда вам необходимо. Либо всё тоже самое, но не сабмитите форму по адресу, а просто перенаправляете пользователя на нужную страницу через тот же js.
P.s Так как вы хотите (перенаправить пользователя на другую страницу вместе с POST запросом) сделать средствами только лишь PHP - невозможно. 
Приблизительно так:
function redirect_post($url, array $data, array $headers = null) {
    $params = array(
        'http' => array(
            'method' => 'POST',
            'content' => http_build_query($data)
        )
    );
    if (!is_null($headers)) {
        $params['http']['header'] = '';
        foreach ($headers as $k => $v) {
            $params['http']['header'] .= "$k: $v\n";
        }
    }
    $ctx = stream_context_create($params);
    $fp = @fopen($url, 'rb', false, $ctx);
    if ($fp) {
        echo @stream_get_contents($fp);
        die();
    } else {
        // Error
        throw new Exception("Error loading '$url', $php_errormsg");
    }
}
// redirect_post('http://example.com', array('name' => 'John', 'surname' => 'Backers', 'cardnum' => '9874982364917423'));
вы можете сформировать запрос и отобразить ответ (можно и через curl). Но это не перенаправит пользователя по другому адресу, по факту это запрос типа server-server. Где ваш сервер формирует запрос, отправляет наружу, получает ответ и что-то с ним делает.
Второй вариант, это создание скрытой формы на странице средствами javascript
function redirectPost(url, data) {
    var form = document.createElement('form');
    document.body.appendChild(form);
    form.method = 'post';
    form.action = url;
    for (var name in data) {
        var input = document.createElement('input');
        input.type = 'hidden';
        input.name = name;
        input.value = data[name];
        form.appendChild(input);
    }
    form.submit();
}
// redirectPost('http://example.com', { name: 'John',	surname: 'Backers',	cardnum: '9874982364917423' });
и ее автоматический сабмит. 
Необходимые данные из php (например хеш приватного ключа) вы можете получить при помощи того же ajax'a.