Вставьте в MySQL, когда форма POST для Paypal - PullRequest
0 голосов
/ 11 апреля 2011

Я боролся с этим в течение нескольких часов и не могу понять, где / как вызвать функцию php для вставки деталей заказа в MySQL после того, как пользователь нажал кнопку «Купить» (в этот момент я могу отслеживатьзаказы, которые отправляются в Paypal, а затем отклоняются).

Я подумал поместить его в тег <form action=> (например, <form action='addToMySQL.php' method='post'>), но именно здесь указывается URL Paypal, да?Функция должна быть запущена на стороне сервера, поэтому не может использовать js ... Итак ... как это сделать?

cURL был предложен, и я видел его рекомендованным ранее, но будет ли пользователь по-прежнемубыть перенаправлены на страницу оплаты Paypal, а затем возвращены на мой сайт?Кто-нибудь может предложить соответствующий веб-учебник?

Я новичок в веб-программировании, поэтому хотелось бы получить подробную информацию.

Функция, которая создает форму для отправки в PayPal:

function create_paypal_checkout {
return "
<form action='".PAYPAL_URL."' method='post'>
    <input type='hidden' name = 'business' value='".PAYPAL_ID."' />
    <input type='hidden' name = 'cmd' value='_cart' />
    <input type='hidden' name = 'upload' value='1' />
    <input type='hidden' name = 'currency_code' value='USD' />
    <input type='hidden' name = 'lc' value='US' />
    <input type='hidden' name='rm' value='2' />
    <input type='hidden' name='cancel_return' value='http://www.mydomain.com/'>
    <input type='hidden' name='notify_url' value='http://www.mydomain.com/ipn-listener.php'>
    <input type='hidden' name='return' value='http://www.mydomain.com/thankyou.php?custIP=".$custip."' />

    " . render_shopping_cart($shopping_cart) . "

<table class='formBuyButton'>
<tr id='sc_total'>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td id='ppbutt'>
        <input type='image' name='submit' src='https://www.paypalobjects.com/WEBSCR-640-20110306-1/en_US/i/btn/btn_buynowCC_LG.gif' border='0' alt='PayPal - Buy Now' />
    </td>
</form></tr></table>" ;
}

1 Ответ

1 голос
/ 11 апреля 2011

У меня была такая же проблема, и я решил ее с помощью ajax. Что я делаю, так это вызываю php-скрипт с использованием ajax перед отправкой формы в Paypal. Здесь я использую функцию post из jquery, так как это проще. Вам нужно где-то иметь jquery и указывать на него. Когда пользователь отправляет форму, сначала вызывается mycall (), а если он возвращает true, то форма, которую он отправляет в PayPal.

<script type="text/javascript" src="jquery-1.4.2.min.js"></script>
<script type="text/javascript">
    function mycall() {
        $.post('addToMySQL.php', {...}); // Replace ... with arguments
        return true;
    }
</script>

<form action='".PAYPAL_URL."' method='post' onSubmit='return mycall();'>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...