Я рефакторинг платежа PayPal на моем сайте, но что-то мне не понятно.
Я внедрил Adaptive Payments, который больше не доступен для новых интеграций .
Я хочу перейти на поддерживаемый PayPal SDK. Я думаю, что я должен использовать PayPal Checkout SDK . Но я вижу существенную разницу между моим старым решением и новым.
Вот мой старый поток:
- На моем сайте пользователи выбирают платеж PayPal;
- веб-сайт делает
POST
запрос к www.paypal.com/cgi-bin/webscr
, передавая некоторые параметры. Я думаю, что наиболее важным является cmd=_xclick
; - . Пользователь перенаправлен на сайт PayPal, а пользователь совершает платеж. Платеж фиксируется немедленно
- Когда пользователь снова перенаправляется на мой сайт, деньги уже получены ... и поток продолжается ...
При новом потоке кажется, что платеж не захватывается сразу в PayPal. Я следую этому примеру . Даже если Intent = "CAPTURE"
, похоже, что деньги собираются в отдельный шаг:
- На моем веб-сайте пользователь выбирает платеж PayPal;
- Веб-сайт делает запрос
POST
на /v2/checkout/orders
. Я думаю, что наиболее важным является Intent="CAPTURE"
; - Если
POST
возвращает 200/201
(честно говоря, я сейчас не помню), пользователь перенаправляется на Approve Paypal link
, и пользователь совершает платеж. Здесь, на сайте PayPal, пользователь совершает платеж. Но Оплата не взимается сразу ; - Когда пользователь снова перенаправляется на мой сайт, транзакция просто была
approved
...
Отсюда у меня есть некоторые сомнения:
Я думаю, мне нужно создать
webhook и управлять событием
CHECKOUT.ORDER.APPROVED
; Здесь
Я действительно фиксирую заказ .
Это правильный поток? Я не очень уверен в том, чтобы собирать деньги в два этапа. Я хотел бы немедленно получить деньги. Есть ли альтернатива?
Я не могу использовать Умная кнопка , потому что мне нужна пользовательская кнопка, которая переключается между различными типами платежей.