Прикручують Paypal для оплати
Posted on Март 30th, 2009Прикручують Paypal для оплати
Однією з найпопулярніших платіжних систем в буржунете є Paypal. Тому бажаючі прикрутити її до свого сайту для оплати товарів і послуг зустрічається дуже часто на будь-якому фрілансерском сайті, наприклад, на RentACoder. Але так, як росіянам Paypal дозволяє мати лише send only аккаунти, у нас ця платіжна система не прижилася.
Зробити кнопку «Buy now» зовсім не складно, це простейшая форма ось такого вигляду:
<form action=”https://www.paypal.com/cgi-bin/webscr” method=”post”>
<input type=”hidden” name=”cmd” value=”_xclick”>
<input type=”hidden” name=”business” value=”paypal@site.com”>
<input type=”hidden” name=”item_name” value=”Buy Online Access to BlahBlahBlah.com”>
<input type=”hidden” name=”amount” value=”10.00″>
<input type=”hidden” name=”no_note” value=”1″>
<input type=”hidden” name=”currency_code” value=”USD”>
<input type=”hidden” name=”bn” value=”PP-BuyNowBF”>
<input type=”hidden” name=”custom” value=”Some Value”>
<input type=”hidden” name=”return” value=”http://www.site.com/payments/pp_success.php”>
<input type=”hidden” name=”notify_url” value=”http://www.site.com/payments/pp_notify.php”>
<input type=”hidden” name=”rm” value=”POST”>
<input type=”submit” name=”submit” value=”Buy Now”>
</ form>
Коли користувач зробить оплату, він буде перенаправлено на URL, зазначений у параметрі return. Після цього Пейпал сам відправить повідомлення про поступившем платіж на notify_url, тільки ці дані підлягають ретельній перевірці, оскільки будь-якому зловмисникові не складе особливих труднощів сформувати POST-запит на notify_url. Тому отримані дані треба перезапросіть у paypal ще раз, додавши до запиту параметр cmd зі значенням _notify-validate. І якщо paypal підтвердить здійснений платіж, транзакцію можна вважати завершеною.
Для сторонніх розробників Paypal передбачив спеціальний сервіс Paypal Sandbox, що дозволяє тестувати весь процес прийому платежів, з одним невеликим обмеженням. У paypal sandbox не працює IPN (Instant Payment Notification), коли повідомлення про платіж відправляється на notify_url. Для налагодження скриптів по обробці IPN в пісочниці зробили окремий інструмент