#php #laravel #paypal #namecheap
#php #laravel #paypal #namecheap
Вопрос:
Я создаю Saas-приложение с использованием Laravel, и я беспокоился об этом случае.
Я интегрирую API для покупки домена Namecheap и API платежного шлюза Paypal.
Моя логика такова
-Show Available Domains:
-Customer picks one:
-Customer pays with paypal (redirect to paypal page):
-If payment is success, I will call domain register API.
-If success, then I will show success message.
Выше приведен идеальный случай, когда все работает так, как я ожидал.
Но вот что меня беспокоит.
...
-Customer pays with paypal (redirect to paypal page):
-Payment was success, I will call domain register API.
-Domain register API is not success: (maybe i need to refund?)
Другой вариант:
-Customer pays with paypal (redirect to paypal page):
-Before do actual payment on my side, I will call domain register API.
-If domain register AIP is success, I will do actual payment process.
И в этом случае, если фактический процесс оплаты не удался, клиенты смогут получить домен бесплатно.
Кто-нибудь может дать мне несколько советов по решению этих случаев?
Спасибо
Ответ №1:
Я уверен, что вы заранее проверяете доступность, но вы всегда должны обрабатывать платеж перед регистрацией домена. Если регистрация не удалась, вы можете немедленно вернуть деньги или предложить выбор другого домена или того, что работает.
Для подтверждения платежа лучшим способом подтверждения PayPal является: https://developer.paypal.com/demo/checkout/#/pattern/server
Это вызывает два маршрута на вашем сервере, один для «Настройки транзакции» и один для «Захвата транзакции», описанный здесь:https://developer.paypal.com/docs/checkout/reference/server-integration /
-
Если захват завершится успешно на сервере, именно там вы затем зарегистрируете домен и успешно ответите. Если регистрация завершится неудачно, вы можете вернуть деньги или предложить другие варианты.
-
Если захват не удался, именно здесь вы должны распространить сообщение об ошибке, которое будет обработано соответствующим образом.
Комментарии:
1. Спасибо за ваш совет. Что мне следует делать на стороне моего сервера при настройке транзакции?
2. Возвращает идентификатор заказа, developer.paypal.com/docs/checkout/reference/server-integration /…