Передача переменной от начала до конца - Paypal - PullRequest
6 голосов
/ 13 января 2010

Я был в этом в течение нескольких дней, и я не могу понять это. Все, что я хочу сделать, это когда нажата кнопка подписки, отправляется переменная (post get, мне все равно), оплата завершается и попадает на страницу успеха с моей переменной!

Из того, что я могу собрать, это должно быть в состоянии сделать это:

<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="0000000">
<Input type="hidden" name="custom" value="<?php md5($code.microtime()); ?>"/>
<input type="image" src="https://www.sandbox.paypal.com/en_US/i/btn/btn_subscribeCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
<img alt="" border="0" src="https://www.sandbox.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1">
</form>

Любая помощь высоко ценится (и да, я читал документацию по PayPal и песочнице, но не очень хорошо читаю).

Ответы [ 5 ]

9 голосов
/ 30 июля 2012

Переменные «custom» и «invoice» - это то, что PayPal называет «сквозными» переменными. PayPal ничего с ними не делает, он просто передает их вам в любых IPN-уведомлениях, которые вы получаете относительно этой транзакции (кто-то делает платеж, возвратный платеж и т. Д.).

Я могу лично подтвердить, что на данный момент это работает правильно, используя переменную «custom». В настоящее время я использую стандартное (бесплатное) решение для оплаты ...

Как вы контролируете уведомление IPN, чтобы увидеть, какие переменные отправляются вам обратно?

Изменить - дополнительная информация добавлена ​​ниже:

Я хотел бы немного подробнее остановиться на этом, поскольку совсем недавно меня охватила проблема, связанная с переменными сквозного доступа!

Переменная 'invoice' должна быть уникальной для каждой транзакции ; PayPal допускает только 1 завершенный платеж для каждой уникальной строки счета. Любые последующие попытки оформления заказа (которые приходят с уже оплаченной переменной 'invoice') будут немедленно отображены как "Этот счет уже оплачен". сообщение.

С другой стороны, переменная 'custom' НЕ обязательно должна быть уникальной и предназначена для строгого использования в качестве сквозной переменной - в большинстве случаев это то, что вы хотите использовать, когда вы просто ищете «сквозной» функционал.

Надеюсь, это поможет - проблема уникальности недавно обошлась мне почти в целый день из-за прерванного процесса проверки моего личного проекта!

0 голосов
/ 19 марта 2013

Попробуйте это:

<input type="hidden" name="custom" value=<?php echo "\"".md5($code.microtime())."\""; ?>/>

Было пропущено эхо, а также кавычки вокруг значения, а не php

0 голосов
/ 25 сентября 2012

Кажется, что проблема не в том, что CUSTOM проходит в Песочнице

Позор PayPal не так хорош, как мы все думали

0 голосов
/ 13 марта 2010

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

На вашей целевой странице вы можете получить invoice от транзакции PayPal. Затем вы можете получить данные из вашей собственной базы данных, которые ссылаются на этот invoice идентификатор.

0 голосов
/ 13 января 2010

Отсутствует echo. Вместо этого:

<?php md5($code.microtime()); ?>

Попробуйте это:

<?php echo md5($code.microtime()); ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...