2014-09-01 4 views
-1

Я являюсь продавцом и предлагаю загружать ebooks после того, как оплата будет выполнена от клиента через paypal. После завершения транзакции PayPal я получаю уникальный идентификатор транзакции из PayPal и затем сохраняюсь в моей базе данных. Затем клиент может загрузить электронную книгу, если идентификатор транзакции находится в моей БД, поэтому мне нужно проверить, что идентификатор транзакции исходит от paypal, а не от хакера или мошенничества. Любой API для этого? Мой сайт использует php.Paypal - Идентификация id транзакции

+0

Если вы говорите о СПИ, процесс верификации полностью документирован. Если вы говорите о каком-то другом API PayPal, вам нужно только убедиться, что вы действительно разговариваете с сервером PayPal. – EJP

+0

Да, я понимаю, что вы имеете в виду. Вы упомянули, что это произошло во время транзакции, но моя забота - после завершения транзакции, потому что хакер может вставить какой-либо незаконный идентификатор транзакции в мою собственную БД. Поэтому мне нужно было проверить идентификатор транзакции, прежде чем клиент получит доступ к цифровым товарам. Пожалуйста помоги. спасибо –

ответ

0

Я считаю, что вам поможет PDT (перевод платежных данных), когда клиент платит вам, PayPal отправляет вам идентификатор транзакции, добавляя идентификатор транзакции к URL-адресу, указанному в вашем аккаунте. Профиль , Эта информация отправленное через HTTP GET, как это имя/значение пары:

ТХ = TransactionID

После получения идентификатора транзакции, которые вы добавите ФОРМУ в PayPal, который включает идентификатор транзакции и токен личности, а строка, которая идентифицирует вашу учетную запись в PayPal. Ниже приведены инструкции, описывающие, как получить токен вашей идентичности. Форма выглядит следующим образом:

<form method=post action="https://www.paypal.com/cgi-bin/webscr"> 
<input type="hidden" name="cmd" value="_notify-synch"> 
<input type="hidden" name="tx" value="TransactionID"> 
<input type="hidden" name="at" value="YourIdentityToken"> 
<input type="submit" value="PDT"> 
</form> 

Теперь после того, как вы получите ответ от PayPal на этот запрос о том, что это правильная сделка в PayPal (HTTP заголовок был опущен):

SUCCESS 
first_name=Jane+Doe 
last_name=Smith 
payment_status=Completed 
payer_email=janedoesmith%40hotmail.com 
payment_gross=3.99 
mc_currency=USD 
custom=For+the+purchase+of+the+rare+book+Green+Eggs+%26+Ham 

Из конечно, все это зависит от того, что вам нужно включить PDT в вашем торговом аккаунте PayPal.

Если вам нужна дополнительная помощь, обратитесь к этой ссылке: Paypal Payment Data Transfer

+0

Я уже использую PDT. Позвольте мне попробовать этот метод, и я попрошу снова здесь, если у вас возникнут какие-либо проблемы. Благодаря! –

+0

Лучший способ проверить платежи - это использование IPN, в котором вы можете отправить данные транзакции обратно в PayPal и получить статус «Неверный» или «проверенный» из PayPal. Если вы не используете IPN, вы можете использовать API GetTransactionDetails, где вы можете получить всю информацию, связанную с транзакцией, из PayPal и подтвердить ее, просмотрев детали транзакции. Вы можете ссылаться на приведенную ниже ссылку: https: //developer.paypal.com/webapps/developer/docs/classic/api/merchant/GetTransactionDetails_API_Operation_NVP/ – Eshan

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