Это связано с тем, что Express Checkout и Standard Payments Standard - это принципиально разные продукты.
Чтобы использовать Express Checkout, вы должны вызвать SetExpressCheckout API.В вызове API вы указываете данные о продуктах, суммах и RETURNURL.
После публикации этих данных в конечной точке API PayPal вы получаете взамен токен.Затем вы перенаправите покупателя и добавите токен по следующему URL: https://www.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=EC-XXXXXXX
Как только покупатель согласится на вашу покупку, он будет перенаправлен обратно на URL, указанный вами в RETURNURL.
Теперь вы должны показать подтверждение заказа и вызвать API-интерфейс GetExpressCheckoutDetails **.
При вызове GetExpressCheckoutDetails укажите токен.В ответе API GetExpressCheckoutDetails вы найдете PayerID.
Теперь вы готовы позвонить в DoExpressCheckoutPayment и списать средства с покупателя.Не забудьте указать токен и идентификатор PayerID при вызове DoExpressCheckoutPayment.
Примечание: Если вы хотите немедленно списать средства с покупателя, вызвав GetExpressCheckoutDetails и DoExpressCheckoutPayment, перенаправьте покупателя на https://www.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=EC-XXXXXXX&useraction=commit. useraction=commit
изменит кнопку «Продолжить»на странице PayPal «Просмотр вашего платежа» нажмите кнопку «Оплатить сейчас».
-
Причиной столь значительной разницы между Express Checkout и Standard Payments Standard является то, что платежи через веб-сайтСтандарт предназначен для использования в качестве рабочего решения, в котором PayPal обрабатывает весь поток транзакций.Express Checkout - это более гибкое решение, которое позволяет вам глубоко интегрировать его с существующим потоком оформления заказа на сайте / в корзине.
Для вашего случая использования;Посмотрите с помощью кнопок PayPal «Корзина».Для примера см. https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_html_cart_upload
<form action="https://www.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="business" value="seller@designerfotos.com">
<input type="hidden" name="item_name_1" value="Item Name 1">
<input type="hidden" name="amount_1" value="1.00">
<input type="hidden" name="item_name_2" value="Item Name 2">
<input type="hidden" name="amount_2" value="2.00">
<input type="submit" value="PayPal">
</form>
Обратите внимание, что по умолчанию это небезопасно, поскольку суммы, которые вы собираетесь взимать, будут четко видны в HTML.
** Идентификатор PayerID также добавляется в GET вашего RETURNURL.Так что вы можете пропустить вызов GetExpressCheckoutDetails, если хотите.