Как перенаправить на PayPal с помощью Soap вместо простой формы - PullRequest
1 голос
/ 28 сентября 2011

У меня есть собственная корзина покупок. Когда клиент нажимает «Отправить заказ», я перенаправляю пользователя на страницу PayPal, где клиент сможет оплатить заказ.

Вот моя форма

<form name="paypalform" action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_cart">
<input type="hidden" name="upload" value="1">
<input type="hidden" name="invoice" value="<? echo $idInvoice; ?>">
<input type="hidden" name="business" value="aa_aaa_biz@hotmail.com">
<input type="hidden" name="notify_url" value="http://domaine.com/catalog/IPNReceip">


 <? 
    $cpt = 1;
        foreach($ordering as $k => $v)
        {
        ?>
            <input type="hidden" name="item_number_<? echo $cpt?>" value="<? echo$v->Product->id; ?>">
            <input type="hidden" name="item_name_<? echo $cpt?>" value="<? echo$v->Product->ProductNumber; ?>">
            <input type="hidden" name="quantity_<? echo $cpt?>" value="<? echo $v->Qty; ?>">
            <input type="hidden" name="amount_<? echo $cpt?>" value="<? echo $v->Price ?>"> 
            <?
            $cpt++;
        }
    ?>


<input type="hidden" name="currency_code" value="CAD">
<input type="hidden" name="tax_cart" value="<? echo $taxes;?>">
<input type="image" src="http://www.paypal.com/en_US/i/btn/x-click-but01.gif" name="submit" alt="Make payments with PayPal - it's fast, free and secure!">
</form> 

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


Спасибо

Ответы [ 2 ]

1 голос
/ 29 сентября 2011

Первое, что вы захотите решить, это решить, какие продукты вам больше подходят.
То, что вы описываете, было бы проще всего осуществить с помощью Express Checkout.

Express Checkout состоит из трех вызовов API: SetExpressCheckout, GetExpressCheckoutDetails и DoExpressCheckoutPayment.

  1. SetExpressCheckout готовит транзакцию и возвращает токен. Вы должны взять этот токен из ответа API и добавить его к URL-адресу, по которому вы будете перенаправлять покупателя.
  2. Как только покупатель согласился на покупку на странице PayPal, он / она перенаправляется обратно на URL-адрес, указанный вами в параметре RETURNURL вызова API SetExpressCheckout.
  3. На этой странице возврата вам нужно вызвать GetExpressCheckoutDetails или (опционально) посмотреть 'PayerID' в массиве $ _GET для URL возврата.
  4. После получения токена и идентификатора PayerID; либо через GetExpressCheckoutDetails, либо как часть данных GET, вызовите DoExpressCheckoutPayment, чтобы завершить платеж. Это можно сделать на той же странице возврата или выполнить действие после того, как покупатель нажмет кнопку «Купить сейчас» на странице возврата.

См. Также общую страницу Express Checkout на X.com , Начало работы с Express Checkout и Руководство по интеграции Express Checkout (PDF) .

Некоторые примеры кода для SetExpressCheckout, GetExpressCheckoutDetails и DoExpressCheckoutPayment доступны также для https://www.x.com/developers/PayPal/documentation-tools/code-sample/78.

Надеюсь, это поможет! Дайте мне знать, если что-то неясно.

0 голосов
/ 29 сентября 2011

Ответ Роберта - отличный вариант - Express Checkout не может быть изменен, потому что его сервер к серверу и пользователи нуждаются в ваших учетных данных API - но если вы хотите придерживаться стандарта платежей через веб-сайт (WPS), см. Ниже:

Вы обеспокоены тем, что ваша кнопка может быть подделана. Да, это возможно, если кнопки на вашем веб-сайте являются открытыми / незашифрованными. Существуют инструменты (например, данные несанкционированного доступа), которые редактируют HTTP POST перед отправкой на получающий адрес, или пользователи могут загрузить HTML-форму и изменить ее, а затем нажать кнопку (ссылочный URL-адрес будет другим, но может быть подделан); незашифрованные кнопки являются уязвимыми.

Я бы посоветовал использовать один из вариантов ниже, чтобы предотвратить это в будущем:

  1. API диспетчера кнопок для создания динамических размещенных кнопок для платежей
  2. Создание и использование размещенных кнопок
  3. Создание и использование зашифрованных кнопок оплаты на сайте
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...