Контекстная интеграция Express Checkout для Paypal

Итак, у меня система экспресс-оплаты PayPal в основном работает, благодаря следующему руководству:

http://www.sanwebe.com/2012/07/paypal-expresscheckout-with-php

Но теперь я хотел бы интегрировать контекстный опыт, но снова документация совершенно бесполезна:

https://developer.paypal.com/docs/classic/express-checkout/in-context/integration/

Итак, я разберу вопросы, которые у меня есть, в зависимости от шагов, которые я должен предпринять:

1. Update your redirect URL to: https://www.paypal.com/checkoutnow/

Что они подразумевают под URL-адресом перенаправления? Это URL возврата или отмены? оба? ни один? Может быть, конечная точка API? Нет контекста для того, что я должен заменить или где.

  1. Мне нужно добавить на свой сайт следующий код:

    <form id="myContainer" method="post" action="/checkout"></form>

    <script> window.paypalCheckoutReady = function () { paypal.checkout.setup('<Your-Merchant-ID>', { environment: 'sandbox', container: 'myContainer' }); }; </script> <script src="//www.paypalobjects.com/api/checkout.js" async></script>

Справедливо. Но что такое action = "/ checkout"? Он не работает сам по себе, так что я ДЕЙСТВИТЕЛЬНО должен туда вставить? URL? Это должен быть файл на моем сервере? Если да, что мне нужно сделать с этим файлом? ЧТО ЭТО ХОЧЕТ?

Я думаю, это основные проблемы, с которыми я сталкиваюсь до сих пор. Я просто поражен тем, что существует так мало информации о том, как на самом деле это настроить.


person zorrotmm    schedule 30.07.2015    source источник
comment
Боже мой, это уж точно какая-то безумно плохая документация   -  person Simon_Weaver    schedule 02.08.2016


Ответы (2)


In-Context - это в значительной степени больше "внешних" изменений в конце дня (к вашей существующей "перенаправленной" интеграции Express Checkout). Итак, это сказал:

"Перенаправление", на которое они ссылаются, - это URL-адрес Paypal, на который вы в настоящее время перенаправляетесь после получения ec token

  • этот образец, вероятно, лучше, поскольку вы можете видеть, что он используется (строка 51)
    var url = paypal.checkout.urlPrefix +token;

  • как показано, полученный вами token (как и в настоящее время) добавляется к «новому URL-адресу перенаправления» - если вы проверите в консоли браузера эту paypal.checkout.urlPrefix переменную, вы увидите, что его значение - это «новый URL-адрес перенаправления» (песочница ):
    https://www.sandbox.paypal.com/checkoutnow?token=

  • поэтому /checkout - это всего лишь образец, показывающий вам, как вы, вероятно, назвали бы свою (существующую) внутреннюю реализацию EC, которая получает EC token, и в этот момент вместо того, чтобы выполнять перенаправление HTTP самостоятельно, вы передаете его интерфейс, чтобы он мог обрабатываться потоком в контексте.

Hth ...

person EdSF    schedule 31.07.2015

Попробуйте это на своих существующих кодах Express Checkout, буквально нет ничего, что вам нужно было бы подделать или изменить, так что это чисто "Front-end" изменение.

  1. Ссылка на JavaScript на странице оформления заказа

<script>
  (function(d, s, id) {
    var js, ref = d.getElementsByTagName(s)[0];
    if (!d.getElementById(id)) {
      js = d.createElement(s);
      js.id = id;
      js.async = true;
      js.src = "//www.paypalobjects.com/js/external/paypal.v1.js";
      ref.parentNode.insertBefore(js, ref);
    }
  }(document, "script", "paypal-js"));
</script>

  1. Замените тег кнопки оформления заказа PayPal этим, никаких изменений в параметре действия формы не требуется.

<input type="image" data-paypal-button="true" data-paypal-sandbox="true" src="https://www.paypalobjects.com/webstatic/en_US/i/buttons/checkout-logo-large.png" alt="Check out with PayPal" />

Это немного отличается от инструкций на сайте developer.paypal.com, поскольку это альтернативный обходной путь для экономии хлопот, но это не рекомендуется.

person pp_pduan    schedule 04.08.2015
comment
спасибо за это, потратил больше часа на настройку различного дерьма, чтобы начать интеграцию, и все, что мне нужно было сделать, это использовать это - person David Nguyen; 01.02.2017