PayPal, PHP - интегрировать платеж PayPal в веб-сайт - PullRequest
5 голосов
/ 25 августа 2011

Добрый день всем.

У меня есть сайт бронирования.Здесь мне нужно интегрировать платеж PayPal.

Сценарий примерно такой: X входит на сайт, заполняет форму с большим количеством деталей (имя, период, тип комнаты, что угодно ... около 20 полей)).Детали отправляются в скрипт, который рассчитывает цену.

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

Первая попытка состояла в том, чтобы создать кнопку оплаты сейчас.Но этот вид запроса фиксированной цены (и моя генерируется).

Второй была кнопка добавления в корзину.То же самое.

После некоторых исследований я обнаружил, что экспресс-оплата - это то, что мне нужно (я думаю ... не уверен).Я использовал генератор кода из https://www.paypal -labs.com / integrawizard / ecpaypal / code.php .

Проблема в том, что для этого требуются некоторые детали доставки и другие бесполезные вещи.Также я не вижу, где я заполняю имя посетителя / кредит / что угодно ...

Я просто хочу простой платеж.В любом случае я могу использовать форму и отправить значения по указанному адресу?Или что-то типа того?Как вы знаете ... любой нормальный API.

Ответы [ 3 ]

16 голосов
/ 25 августа 2011

Я недавно сделал это. Вы можете использовать кнопку PayPal xclick для отправки пользовательских данных (то есть цены и доставки) в PayPal. Затем клиент оплатит через PayPal и отправит мгновенное уведомление о платеже в файл на вашем сервере по вашему выбору, затем проверит данные с помощью IPN и обработает заказ так, как вам нравится.

<form action="https://secure.paypal.com/uk/cgi-bin/webscr" method="post" name="paypal" id="paypal">
    <!-- Prepopulate the PayPal checkout page with customer details, -->
    <input type="hidden" name="first_name" value="<?php echo Firstname?>">
    <input type="hidden" name="last_name" value="<?php echo Lastname?>">
    <input type="hidden" name="email" value="<?php echo Email?>">
    <input type="hidden" name="address1" value="<?php echo Address?>">
    <input type="hidden" name="address2" value="<?php echo Address2?>">
    <input type="hidden" name="city" value="<?php echo City?>">
    <input type="hidden" name="zip" value="<?php echo Postcode?>">
    <input type="hidden" name="day_phone_a" value="">
    <input type="hidden" name="day_phone_b" value="<?php echo Mobile?>">

    <!-- We don't need to use _ext-enter anymore to prepopulate pages -->
    <!-- cmd = _xclick will automatically pre populate pages -->
    <!-- More information: https://www.x.com/docs/DOC-1332 -->
    <input type="hidden" name="cmd" value="_xclick" />
    <input type="hidden" name="business" value="paypal@email.com" />
    <input type="hidden" name="cbt" value="Return to Your Business Name" />
    <input type="hidden" name="currency_code" value="GBP" />

    <!-- Allow the customer to enter the desired quantity -->
    <input type="hidden" name="quantity" value="1" />
    <input type="hidden" name="item_name" value="Name of Item" />

    <!-- Custom value you want to send and process back in the IPN -->
    <input type="hidden" name="custom" value="<?php echo session_id().?>" />

    <input type="hidden" name="shipping" value="<?php echo $shipping_price; ?>" />
    <input type="hidden" name="invoice" value="<?php echo $invoice_id ?>" />
    <input type="hidden" name="amount" value="<?php echo $total_order_price; ?>" />
    <input type="hidden" name="return" value="http://<?php echo $_SERVER['SERVER_NAME']?>/shop/paypal/thankyou"/>
    <input type="hidden" name="cancel_return" value="http://<?php echo $_SERVER['SERVER_NAME']?>/shop/paypal/cancelled" />

    <!-- Where to send the PayPal IPN to. -->
    <input type="hidden" name="notify_url" value="http://<?php echo $_SERVER['SERVER_NAME']?>/shop/paypal/process" />
</form>

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

Чтобы обработать платеж в вашем PHP-файле: Ссылка для разработчиков Paypal

Проверка

* NEVER TRUST ANY USER SUBMITTED DATA *

Со всеми транзакциями PayPal пользователи могут редактировать данные в форме и отправлять нежелательные или неверные данные. Вы должны сохранить все свои переменные (например, идентификатор, сумму, доставку и т. Д.) В базе данных и проверить, когда запрос IPN получен обратно от PayPal (чтобы убедиться, что они совпадают).

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

1 голос
/ 25 августа 2011

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

https://cms.paypal.com/cms_content/en_US/files/developer/PP_WPP_IntegrationGuide.pdf

https://cms.paypal.com/cms_content/US/en_US/files/developer/PP_ExpressCheckout_IntegrationGuide.pdf

Надеюсь, это поможет.

1 голос
/ 25 августа 2011

Вы имеете в виду, что-то вроде этого?

http://net.tutsplus.com/tutorials/html-css-techniques/creating-a-paypal-payment-form/

...