Я работаю над очень маленьким программным обеспечением для электронной коммерции, которое позволяет пользователям размещать свои продукты, чтобы клиенты могли их видеть и покупать.
Я хотел бы предложить вариант paypal и, следовательно, работать над созданием для него модуля.
Я начал с этого:
http://sanwebe.com/assets/paypal-express-checkout/
Что заставило меня начать хорошо, но моя «проблема» теперь в том, что получатель автоматически является именем пользователя API?
Это то, что я вижу в значении параметра RECEIVEREMAIL из ответа, который я получаю от PayPal после оплаты.
Я хотел бы, чтобы получатель был моим адресом электронной почты, который я получил в db. Чтобы они получали платеж прямо на свой счет.
Поэтому мне нужно указать адрес электронной почты / адрес электронной почты Paypal где-нибудь в коде?
Надеюсь, кто-нибудь может объяснить мне, как это будет сделано, я понимаю, что это может быть невозможно в режиме песочницы, но может ли кто-нибудь уточнить, что информация об API – это одно, а приемник – другой?
Обновление: я только что узнал, что могу
&PAYMENTREQUEST_0_SELLERPAYPALACCOUNTID=receiver@email.com
в моем обращении к PayPal. Хотя это все еще не работает, оно все еще показывает dev. Имя пользователя api.
Вот еще один вопрос с тем же вопросом, но остался без ответа:
Не работает SELLERPAYPALACCOUNTID в песочнице?
Вашим пользователям необходимо предоставить разрешение на использование API для вашего приложения, чтобы совершать вызовы API от их имени. Затем вы по-прежнему будете использовать свое имя пользователя, пароль и подпись API, но вы также должны включить параметр SUBJECT вместе с ними. Значением SUBJECT будет адрес электронной почты или идентификатор продавца PayPal для пользователя, предоставившего разрешения для вашего приложения.
Пользователи могут предоставлять разрешения вручную через свой профиль PayPal, или вы можете создать его в своем приложении с помощью API разрешений. Если вы идете с API разрешений, вы в конечном итоге используете токены в заголовке (OAuth), а не в параметре SUBJECT.
== EDIT ==
Кажется, что это, должно быть, было обновлено в версии версии API или что-то в этом роде. Я просто запустил следующее в песочнице без проблем.
[REQUESTDATA] => Array ( [USER] => sandbo_1215254764_biz_api1.angelleye.com [PWD] => 12xxxx74 [VERSION] => 109.0 [BUTTONSOURCE] => AngellEYE_PHPClass [SIGNATURE] => AiKZhEExxxxxxxxz2qxKx96W18v [METHOD] => DoExpressCheckoutPayment [TOKEN] => EC-9SG69555XT1155150 [PAYERID] => YW66KXBKJRRES [RETURNFMFDETAILS] => 1 [PAYMENTREQUEST_0_AMT] => 100.00 [PAYMENTREQUEST_0_CURRENCYCODE] => USD [PAYMENTREQUEST_0_ITEMAMT] => 80.00 [PAYMENTREQUEST_0_SHIPPINGAMT] => 15.00 [PAYMENTREQUEST_0_TAXAMT] => 5.00 [PAYMENTREQUEST_0_DESC] => This is a test order. [PAYMENTREQUEST_0_NOTETEXT] => This is a test note before ever having left the web site. [PAYMENTREQUEST_0_PAYMENTACTION] => Sale [PAYMENTREQUEST_0_SELLERPAYPALACCOUNTID] => sandbo_1204199080_biz@angelleye.com [L_PAYMENTREQUEST_0_NAME0] => Widget 123 [L_PAYMENTREQUEST_0_DESC0] => Widget 123 [L_PAYMENTREQUEST_0_AMT0] => 40.00 [L_PAYMENTREQUEST_0_NUMBER0] => 123 [L_PAYMENTREQUEST_0_QTY0] => 1 [L_PAYMENTREQUEST_0_ITEMURL0] => http://www.angelleye.com/products/123.php [L_PAYMENTREQUEST_0_NAME1] => Widget 456 [L_PAYMENTREQUEST_0_DESC1] => Widget 456 [L_PAYMENTREQUEST_0_AMT1] => 40.00 [L_PAYMENTREQUEST_0_NUMBER1] => 456 [L_PAYMENTREQUEST_0_QTY1] => 1 [L_PAYMENTREQUEST_0_ITEMURL1] => http://www.angelleye.com/products/456.php )
Платеж закончился в учетной записи sandbo_1204199080_biz@angelleye.com. Просто убедитесь, что у вас одинаковое значение, установленное как в SetExpressCheckout, так и в DoExpressCheckoutPayment, и все должно быть в порядке.
Вы когда-нибудь делали это?
У меня также такая же проблема, и я обнаружил, что использование SUBJECT=
работает даже в том случае, если не разрешены разрешения.