#paypal #share
#paypal #Поделиться
Вопрос:
Мой веб-сайт позволяет пользователю покупать товары, и платежи будут распределены между несколькими людьми (обычно 1/4 человек).
Пока что я использую процесс, который заключается в получении платежа на одну учетную запись, а затем использую Paypal Adaptive Payment API для отправки этого полученного платежа всем пользователям, исходя из их процента.
Проблема с этим решением заключается в том, что на «учетной записи приема PayPal» будет много денег для ввода / вывода, и она станет «когтем Ахилла» моей электронной коммерции (если эта учетная запись заблокирована, моя коммерция остановлена).
Мой вопрос довольно прост: есть ли способ сделать это автоматически?
Я обнаружил, что если у покупателя есть учетная запись Paypal, то я мог бы напрямую использовать API Paypal для отправки платежа (на основе его электронной почты PayPal) людям, и это идеально, но проблема в следующем: что произойдет, если у покупателя нет учетной записи PayPal и он хочет оплатить, скажем, кредитной картой?
Спасибо за вашу помощь!
Ответ №1:
Хорошо, решение на самом деле довольно простое, но требует полного изменения :
Мне пришлось забыть о веб-оформлении заказа и использовать Paypal API, выполнить запрос на оплату с привязкой платежа (определение нескольких получателей, с одним (мной), установленным на primary: true
). В этом запросе настройте ipnNotificationUrl так, чтобы он получал уведомления об эволюции платежей, и все!
Ответ от PayPal, если он правильный, будет содержать ключ оплаты.
Затем вы должны перенаправить покупателя на :
https://www.paypal.com/webscr?cmd=_ap-paymentamp;paykey={PAYKEY_HERE}
or
https://www.sandbox.paypal.com/webscr?cmd=_ap-paymentamp;paykey={PAYKEY_HERE}
Затем, чтобы быть в курсе событий, все, что вам нужно сделать, это отправить запрос в Paypal, содержащий paykey
информацию о деталях платежа!
Вот и все!
Комментарии:
1. Когда клиент нажимает «Проверить» или что-то еще, чтобы отправить их в paypal, является ли процесс оформления заказа таким же, как экспресс-оформление заказа для пользователя? Я делаю то же самое, что вы делали в первом сообщении .. и уже использую запрос на оплату для второго transaction..so Я предполагаю, что мой вопрос заключается в том, как мне отправить клиента в paypal со всей информацией, которая находится в форме с экспресс-оформлением заказа, и является ли процесс оформления заказа для клиента таким же, как экспресс-оформление заказа? Мы ценим вашу помощь! Это уже очень помогает, спасибо!
2. Насколько я помню (прошло много времени ;)), экспресс-оформление отличается от процесса оформления заказа. Но вы можете управлять своей корзиной внутри, а затем, когда клиент нажимает кнопку оплатить, вы отправляете запрос на оплату в paypal, добавляя товары один за другим, Paypall сообщит вам общую сумму с помощью уникального токена, и вы направите своего клиента на платежный URL PayPal, включающий токен. (Я правильно понял?)
3. Интересно, хорошо, да, я думаю, что понимаю. Когда я изучил это подробнее, у меня возникли трудности с порядком, в котором Paypal выполняет операции. Кажется, что вы делаете запрос на оплату и идентифицируете получателя / ов, прежде чем идентифицировать плательщика, а затем они выдают вам «pay_key», и вы можете подключить его к URL-адресу платежа. Как по-вашему, это правильно звучит? Думаю, сейчас это имеет смысл, но это не самый интуитивный способ сделать это, и я думаю, вы также можете идентифицировать плательщика с самого начала. Я предполагаю, что уникальный токен, о котором вы говорите, — это pay_key? Спасибо за вашу помощь, я знаю, что это был старый пост!
4. Да, это способ PayPal, за исключением. Вы добавляете pay_key в URL-адрес для идентификации себя ( платеж) в PayPal при перенаправлении пользователя. Более того, все будущие уведомления (ipn) будут содержать этот pay_key.
Ответ №2:
Я отвечу на свой вопрос по этому поводу, заглянув в Paypal Adaptive Payment API, мы можем увидеть специальный раздел «Гостевые платежи».
Кажется, что это возможно, но для этого всем людям, которые получат деньги, необходимо иметь учетную запись Business или учетную запись Premium!
Ответ №3:
Что ж, я добавлю второй ответ, потому что он более полный и немного отличается от первого.
Лучший способ сделать это довольно просто — использовать API экспресс-оформления заказа (SetExpressCheckout, GetExpressCheckoutDetails, DoExpressCheckoutPayment).
Используя его вместо обычной процедуры «оформить заказ» с IPN позади, можно определить более одного получателя, который получит деньги: параллельный платеж.
Это так просто!
(Теперь мне нужно переписать весь мой код, чтобы реализовать это, ура!)