Итак, у меня есть система экспресс-оплаты 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 может быть? Там нет контекста для того, что я должен заменить или где.
Мне нужно добавить следующий код на моем сайте:
<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? Это должен быть файл на моем сервере? Если так, что мне нужно сделать в этом файле? ЧТО ЭТО ХОЧЕТ?
Я думаю, это основные проблемы, которые у меня возникли до сих пор. Я просто поражен, что так мало информации о том, как на самом деле настроить это.
In-Context в значительной степени больше изменений «переднего конца» в конце дня (к вашему существующий «перенаправление» интеграции Express Checkout). Итак, что сказал:
«Перенаправление», на которое они ссылаются, является URL Paypal куда вы в данный момент перенаправляете после получения ЕС 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-перенаправления вы передаете его внешнему интерфейсу, чтобы он мог обрабатываться потоком In-Context.
Hth …
Попробуйте это на ваших существующих кодах Express Checkout, буквально нет ничего, что вам нужно было бы подделать или изменить, так что это чисто «Front-end» изменение
<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>
<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, поскольку это альтернативное решение, позволяющее избежать проблем, но не рекомендуется