Транзитная передача данных формы

alexvp

Новичок
Извиняюсь, если плохо искал в существующих темах.
Никак не могу понять как сделать следующее:
1. Есть форма на сайте
2. Юзер жмет кнопку и данный идут в скрипт на сервере.
3. Эти данные записываются в БД

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

Совсем башку снес себе :) Подскажите или дайте ссылку на примерчик
Спасибо!
 

alexvp

Новичок
Еще поломав башку решил сделать проще курла. На кнопку формы повесил JavaScript функцию, которая делает две вещи: через AJAX передает данные в скрипт на сохранение в БД и вызывает обработчик формы на стороннем сервере
 

С.

Продвинутый новичок
Если не боишься, что данные уйдут разные, то да, можно и так
 

Vin-Diesel

Новичок
Как вариант сохранение в базу, генерация случайного хэша и редирект на страницу с этим хэшем, где извлекаются данные из БД.
 

alexvp

Новичок
Если не боишься, что данные уйдут разные, то да, можно и так
А с чего им разными уходить? Если они формируются по строгому шаблону? (Речь идет об отправке данных в PayPal и сохранении в локальной базе копии)
 

С.

Продвинутый новичок
А с чего им разными уходить?
А вот один раз нарвешься, так на всю жизнь запомнишь "с чего". У тебя же там еще и финансы. Зарубки не на носу будут, а на заднице.
 

alexvp

Новичок
Это не ответ, а бла-бла-бла, общие слова. Конкретно, из-за чего могут появиться разные данные? Случайный сбой при записи в БД оставим в стороне :)
 

AmdY

Пью пиво
Команда форума
Еще поломав башку решил сделать проще курла. На кнопку формы повесил JavaScript функцию, которая делает две вещи: через AJAX передает данные в скрипт на сохранение в БД и вызывает обработчик формы на стороннем сервере
эти данные формы отправлялись в неизменном виде в другой скрипт на другом сервере
Вы уж определитесь, если данные на другом домене, то AJAX вам точно не поможет.
А решений валом - curl, soap, rest...
 

С.

Продвинутый новичок
Это не ответ, а бла-бла-бла, общие слова. Конкретно, из-за чего могут появиться разные данные?
Данные реплицируются в браузере(!) у пользователя(!). То есть любой пользователь, ударив двумя пальцами об асфальт, может в пейпал направить одно, а в базу совершенно другое.

Даже если он не украдет много, но бессоную ночь и прядь седых волос тебе обеспечит точно.
 

alexvp

Новичок
Нет, данные на странице юзера. AJAX будет посылать данные на мой сайт, а в paypal форма отправится примерно такой конструкцией
with(document.getElementById('form')){
action='https://www.paypal.com....'
submit()
}
 

alexvp

Новичок
Данные реплицируются в браузере(!) у пользователя(!). То есть любой пользователь, ударив двумя пальцами об асфальт, может в пейпал направить одно, а в базу совершенно другое.
Почитай как работает paypal, тогда поймешь, что твоя ситуация высосана из пальца.
Фактически paypal мне возращает мой же запрос и я его всегда смогу проконтролировать при обработке
 

С.

Продвинутый новичок
Ну и с богом. Мое дело предупредить.
 

zerkms

TDD infected
Команда форума
Почитай как работает paypal, тогда поймешь, что твоя ситуация высосана из пальца.
Фактически paypal мне возращает мой же запрос и я его всегда смогу проконтролировать при обработке
Если он тебе возвращает всё - тогда зачем тебе что-то делать дополнительно? Да и к пейпалу делать запрос с клиента вообще не обязательно.

Можно (и нужно) принять все данные от клиента, а запрос к апи пейпала делать на сервере - клиенту вообще не нужно об этом ничего знать.

На будущие вопросы о моём представлении работы апи пейпала отвечу сразу: да, я понимаю о чём я говорю. И, да, я интеграцию с апи пейпал реализовывал.
 

alexvp

Новичок
Если он тебе возвращает всё - тогда зачем тебе что-то делать дополнительно?
???
Уверены в своем ответе?

С клиента можно и не делать запроса, но у paypal много разных вариантов интеграции. Я выбрал самый простой: стандарт плюс мгновенные уведомления. Но тема уходит в сторону :) вопрос был чуть о другом. Для конкретной реализации мой вариант вполне работоспособный.
 

zerkms

TDD infected
Команда форума
???
Уверены в своем ответе?
Это не ответ, это я лишь повторил твои слова. Могу повторить ещё раз:
Фактически paypal мне возращает мой же запрос и я его всегда смогу проконтролировать при обработке
Ты выбрал самый простой и самый геморный вариант: вместо того, чтобы принять данные от пользователя и отправить их в пейпал, ты заставляешь отправкой в пейпал заниматься клиента, а сам потом вынужден перепроверять, не попытались ли тебя обмануть.
 

alexvp

Новичок
Да, возвращает. Но для проверки мне как раз и нужна запись в БД.
Не хочу спорить относительно paypal. Скажу лишь, что алгоритм сбора и отправки данных, порядок оплаты в paypal сделан в полном соответствии с рекомендациями самой paypal, в том числе и все необходимые проверки. И согласно идеологии тамошних платежей (в выбранном мною варианте интеграции) отправкой данных должен заниматься сам клиент, а я лишь его контролирую
 

zerkms

TDD infected
Команда форума
И согласно идеологии тамошних платежей (в выбранном мною варианте интеграции) отправкой данных должен заниматься сам клиент, а я лишь его контролирую
Стало быть у них и практика какая-то наработана, по поводу того, как дальше с данными поступать (чтобы не городить трёхэтажные костыли)?
 

alexvp

Новичок
Стало быть у них и практика какая-то наработана, по поводу того, как дальше с данными поступать (чтобы не городить трёхэтажные костыли)?
Если вы реализовывали интеграцию с их API, то сами сможете ответить на свой вопрос :)
Как внутри paypal проводится платеж меня не интересует, благодаря предварительно записанной инфо в базу я всегда смогу посмотреть ту ли сумму заплатил клиент за то что покупает, и прошла ли транзакция в paypal со счета клиента на мой счет. И еще кое-какие мелочи. Если сумма меньше или транзакция, например, pending, то клиент получает кукиш вместо масла. И ему предлагается обратиться в support.
 
Сверху