A>1. При оплате пользователем подписки "URL мгновенного оповещения — Instant Notification URL" A>приходит через некоторое время например если пользователь платит карточкой то через A>час (возможно дольше будет обрабатываться) если PayPal то через 2-3 дня. Возможно ли как то проверять транзакцию A>сразу и знать будет ли этот ордер оплачен или нет?
До тех пор, пока не пришел вызов "Instant Notification URL" с параметром transactionType=CHARGE — деньги реально не перечислены, транзакция не завершена.
Когда прикручивал оплату через плимус — проверял оплату на пейпале. Пейпаловского счета тогда у меня небыло, попросил товарища. Он зашел на плимус, заплатил пейпалом. У меня на сайте дернули скрипт "Custom HTTP request", который отдал ключик лицензии. Товарищу этот ключик на его мейл не приходит. Вместо него приходит письмо с просьбой переходом на какую-то ссылку подтвердить оплату. Он подтвердил. Снова тишина. Через полчаса ему на мобилу звонит чувак, на английском говорит: мол я сотрудник плимуса, подтверждаете платеж такого числа времени на такую-то сумму? Товарищ: "йес-йес, подтверждаю". Минуты через две у меня на сайте дернули скрипт "Instant Notification URL" с параметром transactionType=CHARGE, а товарищу на мейл свалилось письмо с ключиком. Между вызовами "Custom HTTP request" и "Instant Notification URL" прошло минут 40 где-то.
В скрипте "Instant Notification URL" не забывайте проверять параметр "transactionType". В случае успешного завершения транзакции оплаты он должен иметь значение "CHARGE". Потому что вызов "Instant Notification URL" делают и по всяким другим поводом:
# transactionType String AUTH_ONLY — orders that were authorized for a future charge
# CHARGE — orders that were successfully charged
# REFUND — orders that were refunded
# CHARGEBACK — ordered that were charged back by the customer
# CANCELLATION — orders that were cancelled (for unapproved orders and cancelled subscriptions)
# RECURRING — subscription orders that were successfully charged
# CANCELLATION_REFUND — orders that were refunded and cancelled (for cancelled subscriptions)
# CONTRACT_CHANGE — subscription orders that had their contract switched