Захват v2 заказов PayPal - PullRequest
       38

Захват v2 заказов PayPal

1 голос
/ 13 апреля 2020

Я рефакторинг платежа PayPal на моем сайте, но что-то мне не понятно.

Я внедрил Adaptive Payments, который больше не доступен для новых интеграций .

Я хочу перейти на поддерживаемый PayPal SDK. Я думаю, что я должен использовать PayPal Checkout SDK . Но я вижу существенную разницу между моим старым решением и новым.

Вот мой старый поток:

  1. На моем сайте пользователи выбирают платеж PayPal;
  2. веб-сайт делает POST запрос к www.paypal.com/cgi-bin/webscr, передавая некоторые параметры. Я думаю, что наиболее важным является cmd=_xclick;
  3. . Пользователь перенаправлен на сайт PayPal, а пользователь совершает платеж. Платеж фиксируется немедленно
  4. Когда пользователь снова перенаправляется на мой сайт, деньги уже получены ... и поток продолжается ...

При новом потоке кажется, что платеж не захватывается сразу в PayPal. Я следую этому примеру . Даже если Intent = "CAPTURE", похоже, что деньги собираются в отдельный шаг:

  1. На моем веб-сайте пользователь выбирает платеж PayPal;
  2. Веб-сайт делает запрос POST на /v2/checkout/orders. Я думаю, что наиболее важным является Intent="CAPTURE";
  3. Если POST возвращает 200/201 (честно говоря, я сейчас не помню), пользователь перенаправляется на Approve Paypal link, и пользователь совершает платеж. Здесь, на сайте PayPal, пользователь совершает платеж. Но Оплата не взимается сразу ;
  4. Когда пользователь снова перенаправляется на мой сайт, транзакция просто была approved ...

Отсюда у меня есть некоторые сомнения:

Я думаю, мне нужно создать webhook и управлять событием CHECKOUT.ORDER.APPROVED; Здесь Я действительно фиксирую заказ .

Это правильный поток? Я не очень уверен в том, чтобы собирать деньги в два этапа. Я хотел бы немедленно получить деньги. Есть ли альтернатива?

Я не могу использовать Умная кнопка , потому что мне нужна пользовательская кнопка, которая переключается между различными типами платежей.

1 Ответ

0 голосов
/ 13 апреля 2020

Я бы все же рекомендовал использовать умную кнопку. Вы можете настроить его так, чтобы отображался только желтый способ оплаты PayPal, если вы хотите, чтобы он отображался только так. Преимущество использования умной кнопки в том, что перенаправления нет; Ваш сайт остается загруженным в фоновом режиме. Это намного лучший способ оплаты, чем перенаправление на сайт PayPal.

Независимо от того, используете ли вы умную кнопку или нет, вам нужно захватить заказ после того, как покупатель одобрит его. Это обязательный шаг. Вам не нужен веб-крючок для этого. Событие утверждения будет инициировано с помощью «умной» кнопки или по возвращении на ваш сайт, после чего вы сможете выполнить захват v2 / order.

Если вы решите использовать умную кнопку (рекомендуется), здесь демонстрационный шаблон внешнего интерфейса: https://developer.paypal.com/demo/checkout/# / pattern / server

Вот несколько вариантов настройки внешнего вида, чтобы он соответствовал другим вашим способам оплаты: https://developer.paypal.com/docs/checkout/integration-features/customize-button/

...