Постоянные значения Paypal ExpressCheckout для проверки успешной транзакции

В SetExpressCheckout у меня установлены следующие значения

'PAYMENTREQUEST_0_ALLOWEDPAYMENTMETHOD' => 'InstantPaymentOnly',
'PAYMENTREQUEST_0_PAYMENTACTION'=> 'Sale'

После успешного DoExpressCheckout это часть того, что возвращается

ACK => Success
PAYMENTINFO_0_TRANSACTIONTYPE => expresscheckout
PAYMENTINFO_0_PAYMENTTYPE => instant
PAYMENTINFO_0_PAYMENTSTATUS => Completed
PAYMENTINFO_0_ERRORCODE => 0
PAYMENTINFO_0_ACK => Success

PAYMENTINFO_0_PAYMENTSTATUS -- При установленном InstantPaymentOnly будет ли когда-либо DoExpressCheckout возвращать PAYMENTINFO_0_PAYMENTSTATUS из In-Progress, Pending, Processed или что-то иное, чем однозначное "да" или "нет" в отношении успеха?

По сути, поскольку разрешены только мгновенные платежи, единственные платежи, которые будут когда-либо завершены, будут иметь PAYMENTINFO_0_PAYMENTSTATUS из Completed в первый раз?

ACK и PAYMENTINFO_0_ACK — связаны ли они? Paypal заявляет, что ACK «указывает на успешное или неудачное состояние транзакции, а также на то, были ли возвращены какие-либо предупреждения».

Оба значения ACK будут либо Success, либо Failure? Относится ли это явно к тому, была или не будет завершена транзакция?

Очень признателен,


person John Smith    schedule 04.03.2015    source источник


Ответы (1)


InstantPaymentOnly блокирует немгновенные источники финансирования в аккаунтах покупателей (например, платежи через электронные чеки). Это означает, что вы не получите транзакции, ожидающие завершения движения средств покупателя. Но есть и другие факторы, которые могут привести к тому, что платеж будет отложен, а не завершен. Эти другие факторы могут или не могут относиться к вашему конкретному варианту использования, но примеры включают платежи, сделанные вам в новой валюте, которые будут удерживаться до тех пор, пока вы не решите, открывать баланс в этой валюте или автоматически конвертировать их в вашу основную валюту, или определенные сценарии фильтрации/обнаружения мошенничества.

Что касается ACK/ACK_PAYMENTINFO_0_ACK, для случаев, когда вы запрашиваете только один платеж (и никаких дополнительных вещей, таких как подписание соглашения о выставлении счетов), я предполагаю, что два статуса всегда будут равными, но я бы посоветовал вам свериться с официальной документацией.

person geewiz    schedule 04.03.2015