2012-01-03 3 views
0

Я пытаюсь настроить решение для PayPal, но у меня возникают проблемы с RETURNURL.PayPal SetExpressCheckout не вернется к «RETURN URL»

Моя форма выглядит так.

<form method="post" action="https://api-3t.paypal.com/nvp"> 
<input type="hidden" name="USER" value="<%=PayPal_API_Username%>"> 
<input type="hidden" name="PWD" value="<%=PayPal_API_Password%>"> 
<input type="hidden" name="SIGNATURE" value="<%=PayPal_API_Signature%>"> 
<input type="hidden" name="VERSION" value="65.0"> 
<input type="hidden" name="PAYMENTREQUEST_0_PAYMENTACTION" value="Sale"> 
<input type="hidden" name="PAYMENTREQUEST_0_CURRENCYCODE" value="DKK"> 
<input type="text" name="PAYMENTREQUEST_0_AMT" value="<%=Amount%>.00"> 
<input type="hidden" name="CUSTOM" value="<%=GUID%>"> 
<input type="hidden" name="RETURNURL" value="http://<%=c_mainDomain%>/return.html"> 
<input type="hidden" name="CANCELURL" value="http://<%=c_mainDomain%>/cancel.html"> 
<input type="hidden" name="METHOD" value="SetExpressCheckout"> 
<input type="submit" name="submit" value="Videre til betaling med Paypal"> 
</form> 

Когда я отправить форму он идет «https://api-3t.paypal.com/nvp» и показывает сообщение ниже.

ЗНАК = EC% 2d2XR31554RN094031R & TIMESTAMP = 2012% 2d01% 2d03T10% 3a23% 3a11Z & CorrelationId = a0c80a35bfde2 & ACK = Успех & VERSION = 65% 2e0 & BUILD = 2271164

Не должна ли она отправить меня обратно на мою собственную страницу, на «RETURNURL»? или что-то мне не хватает

+0

Я работал с API PayPal некоторое время назад - я не помню подробностей прямо сейчас. Но отправка пароля API по форме браузера пользователя выглядит довольно подозрительно. Я чувствую, что этот POST должен выполняться вашим веб-сервером, а не браузером клиента. Проверь это. – disorder

ответ

2

Да, я уверен, что мой комментарий был прав. Этот POST должен выполняться сервером веб-приложений - переход к клиенту. Перед тем, как пользователь нажимает кнопку «платить» (при рендеринге сайта) в своем веб-приложении - вы вызываете setExpressCheckout, тогда вы читаете токен из ответа и применяете его к кнопке. Затем после щелчка пользователя он перенаправляется на сайт paypal и возвращается на вашу страницу с помощью returnURL.

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

EDIT: Я предполагаю, что форма, которую вы создали, от PayPal's tutorial. Обратите внимание, что это только для тестирования и понимания всего процесса.

+0

Спасибо за ваш ответ. Я не знаю, что я думал, потому что я не должен отображать форму на стороне клиента. Знаете ли вы, есть ли какой-нибудь образец кода i classic ASP. Я не знаю, как вызвать «setExpressCheckout» – Chris

+0

Привет. К сожалению, я работал с PayPal API два года назад. Я не могу вам помочь. Я думаю, вы должны полагаться только на свою документацию. Это неплохо, но может быть слишком много информации в начале. Я думаю, вы должны использовать простую HTTP-клиентскую библиотеку в ASP. Может быть, это в стандарте .NET? Просто чтобы выполнить этот POST и проанализировать результат. Я использовал HttpClient Jakarta, но это было в J2EE. – disorder

+0

Хорошо, спасибо за вашу помощь :) – Chris

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