2016-06-08 3 views
1

Так что мне нужно интегрировать PAYPAL checkout на моем веб-сайте. и у меня нет большого опыта интеграции с Paypal. Если вы можете помочь, это будет действительно здорово. Итак, я следил за этим TutorialКак проверить идентификатор транзакции (TXN) во время проверки paypal

Я создал две учетные записи в виде песочницы PAYPAL. Один для покупателя и другой для продавца. Я могу делать платежи с ними. Но проблема находится на странице success.php , где мне нужно подтвердить платеж.

Что я сделал, проверено, если ИД транзакции уже существует в базе данных. но проблема заключается в том, что success.php использует метод GET, а идентификатор транзакции можно редактировать в методе GET. Таким образом, изменение идентификатора транзакции на что угодно (Random String) Будет проверять условие, что идентификатор транзакции не существует в базе данных, и вы можете выполнить платеж.

В связи с этим платеж отмечен как действительный, а баланс добавляется в базу данных пользователей. Есть ли способ проверить, что идентификатор транзакции является допустимым идентификатором TX Paypal.

Спасибо :)

+0

Э-э ... Я думаю, что этот урок не прав. Вы полагаетесь на то, что пользователь вернется на страницу успеха, чтобы сохранить информацию о транзакции. Что произойдет, если пользователь не вернется на страницу успеха после того, как совершит транзакцию? Тогда у вас возникнет проблема, потому что транзакция не будет сохранена в вашей базе данных. – Mikey

+0

, но если они играют с html-кодом и изменяют страницу успеха, то это их проблема. – shobhit99

+0

Я не говорю о том, что они возились с HTML. Я говорю о них, не нажимая на ссылку, которая возвращается на ваш сайт. Даже если вы добавите параметр, чтобы автоматически перенаправить их обратно на ваш сайт, что-то может произойти там, где они не доходят до вашего сайта. Правильный или безопасный способ обработки платежей - использовать PayPal IPN, как указано в конце учебника и изложено jsabina. – Mikey

ответ

1

Вы не должны полагаться на странице возврата для подтверждения сделки. То, что вы получаете через GET, может быть изменено, клиент может закрыть страницу раньше или для проблем подключения никогда не перенаправляться. С стандартом PayPal вы должны использовать IPN для подтверждения оплаты. https://developer.paypal.com/docs/classic/ipn/integration-guide/IPNIntro/ есть информация о их документации и примерах сценариев в Интернете. Вам необходимо настроить прослушиватель, который будет вызываться paypal после совершения транзакции

+0

Да, IPN - это рекомендуемый метод PayPal для выполнения заказов, главным образом потому, что это надежный и безопасный механизм. – Patanjali

+0

PDT - это просто подтверждение клиенту подтверждения, если они вернутся на сайт. PayPal рекомендует проверять несколько значений IPN для мошенничества, таких как receiver_email, соответствует вашей первичной электронной почте PP, а также коду товара и цене, в дополнение к тому, что отправляет только одно сообщение «Completed» txn_status IPN для txn_id. Обратите внимание, что обработка IPN не является тривиальной, но пример кода PHP, который они дают, является солидным. – Patanjali

Смежные вопросы