Ответ 1
Вы можете установить URL-адрес IPN в своей учетной записи PayPal в своем профиле.
В соответствии с документацией PayPal невозможно получить оповещения о мгновенных платежах (IPN
) для повторных платежей при использовании ExpressCheckout.
Вот как я пришел к такому выводу:
В SetExpressCheckout
documenation для NOTIFYURL
они говорят:
Указанный URL-адрес относится только к
DoExpressCheckoutPayment
. Это значение игнорируется при установке вSetExpressCheckout
илиGetExpressCheckoutDetails
.
У меня нет единовременного платежа с помощью ExpressCheckout. Я просто создаю повторяющийся профиль. Поэтому я пропускаю вызов DoExpressCheckoutPayment
, как это указано в Recurring Payments integration guide
. На самом деле, если я, однако, вызов DoExpressCheckoutPayment
, это будет недействительно, потому что я установил сумму 0
.
В соответствии с 1.
NOTIFYURL
(если быть точным PAYMENTREQUEST_0_NOTIFYURL
) будет проигнорирован, если не будет вызван a DoExpressCheckoutPayment
. Однако я попытался установить его в вызове SetExpressCheckoutPayment
.
Используя симулятор IPN, я успешно получаю уведомления IPN.
При успешном создании нового профиля Recurring Payments с помощью CreateRecurringPaymentsProfile
я не получаю уведомление IPN.
Я не нашел вызов API, связанный с повторяющимися платежами, которые я могу использовать для установки NOTIFYURL
.
Как настроить URL-адрес IPN для повторных платежей с помощью ExpressCheckout без первоначального платежа, INITAMT
или другого, требующего DoExpressCheckoutPayment
?
Вы можете установить URL-адрес IPN в своей учетной записи PayPal в своем профиле.
Просто добавьте "& NOTIFYURL = yoursite.com/ipnhandle" к вашей строке NVP, если вы хотите установить разные URL-адреса IPN для каждой транзакции.