Как мне реализовать «вывод средств» на мой сайт с помощью PayPal? - PullRequest
4 голосов
/ 11 марта 2010

На моем сайте настроена кредитная система, где пользователь A может приобрести документ у пользователя B, скажем, за 1 кредит, а на счет пользователя B начисляется кредит, скажем, за 1 доллар. Затем пользователь B может «обналичить» и получить деньги, которые он заработал с моей (на сайте) учетной записи PayPal, на свою учетную запись PayPal (предположим, что его адрес электронной почты действителен пока). Когда пользователь А приобретает кредит, он попадает в PayPal, где он может войти в систему и совершить покупку, для этого на моем сайте настроен прослушиватель IPN, который сохраняет информацию о кредите в базе данных моего сайта. Тем не менее, я не могу найти механизм для отправки информации об обналичивании (например, адрес электронной почты пользователя и сумма, подлежащая оплате) в PayPal. Чтобы уточнить: я понимаю, что PayPal отправляет IPN, когда кто-то покупает у меня, но как я могу публиковать сообщения со своего сайта в PayPal, когда пользователь нажимает кнопку «обналичить»? Я видел упоминание о Mass Pay, но не могу найти примеры кода, из которого можно было бы пойти. Я что-то упустил, или, может быть, есть другой (и лучший) способ сделать это? Спасибо!

1 Ответ

3 голосов
/ 11 марта 2010

Вы правы, что вам нужно использовать массовую оплату , и есть документация для NVP и SOAP . Страница кода Paypal также содержит примеры PHP NVP и SOAP .

Как лучше? Я не думаю, что есть с PayPal. Вы будете платить еще 2% комиссии за каждый платеж (не более 1 доллара США) сверх суммы, которую вы заплатили, чтобы принять средства.

Из примера кода NVP, грубая идея простой записи в кодировке URL:

foreach($receiversArray as $i => $receiverData) {
  $receiverEmail = urlencode($receiverData['receiverEmail']);
  $amount = urlencode($receiverData['amount']);
  $uniqueID = urlencode($receiverData['uniqueID']);
  $note = urlencode($receiverData['note']);
  $nvpStr .= "&L_EMAIL$i=$receiverEmail&L_Amt$i=$amount&L_UNIQUEID$i=$uniqueID&L_NOTE$i=$note";
}

Поскольку вы уже используете IPN, из MassPay API Doc :

Если для вашей учетной записи включено мгновенное уведомление о платеже (IPN), PayPal будет отправлять два IPN для каждого платежа, произведенного во время обработки транзакции массового платежа. IPN публикуются на URL-адрес уведомления, указанный в профиле вашей учетной записи.

...