PayPal Express Checkout (классический API) Информация о мошенничестве не возвращается

Я принимаю оплату на своем сайте с помощью PayPal Express Checkout с классическим API. Вот документация API:

https://developer.paypal.com/docs/classic/api/merchant/DoExpressCheckoutPayment_API_Operation_SOAP/

Для использования службы я использую следующую библиотеку:

https://www.nuget.org/packages/PayPalMerchantSDK/

Мне было поручено представить информацию о мошенничестве в отношении транзакций PayPal. Информация, которую мы хотели бы отобразить, — это проверка адреса (AVS) и проверка кода безопасности (CSC).

Чтобы проверить это, я попытался зарегистрировать информацию о мошенничестве. Вот мой код, который создает запрос Express Checkout и затем получает ответ:

var request = new DoExpressCheckoutPaymentReq() {
    DoExpressCheckoutPaymentRequest = new DoExpressCheckoutPaymentRequestType() {
        DoExpressCheckoutPaymentRequestDetails = new DoExpressCheckoutPaymentRequestDetailsType() {
            Token = details.Token,
            PaymentAction = PaymentActionCodeType.SALE,
            PayerID = details.PayerInfo.PayerID,
            PaymentDetails = details.PaymentDetails
        },
        ReturnFMFDetails = 1
    }
};

var response = DoExpressCheckoutPayment(request);

Обратите внимание, что выше я добавил следующую строку:

ReturnFMFDetails = 1

Согласно документации, это должно возвращать соответствующую информацию о мошенничестве. Наконец, я добавил следующий код внизу для регистрации информации о мошенничестве:

var sb = new StringBuilder();

try {
    var paymentInfo = response.DoExpressCheckoutPaymentResponseDetails.PaymentInfo;

    for (var i = 0; i < paymentInfo.Count; i++) {
        var fmfDetails = paymentInfo[i].FMFDetails;

        if (fmfDetails != null) {
            if (fmfDetails.AcceptFilters != null) {
                foreach (var filter in fmfDetails.AcceptFilters.Filters) {
                    sb.AppendLine("Accept Filter (" + i + "): " + filter.Id + " - " + filter.Name);
                }
            }

            if (fmfDetails.DenyFilters != null) {
                foreach (var filter in fmfDetails.DenyFilters.Filters) {
                    sb.AppendLine("Deny Filter (" + i + "): " + filter.Id + " - " + filter.Name);
                }
            }

            if (fmfDetails.PendingFilters != null) {
                foreach (var filter in fmfDetails.PendingFilters.Filters) {
                    sb.AppendLine("Pending Filter (" + i + "): " + filter.Id + " - " + filter.Name);
                }
            }

            if (fmfDetails.ReportFilters != null) {
                foreach (var filter in fmfDetails.ReportFilters.Filters) {
                    sb.AppendLine("Report Filter (" + i + "): " + filter.Id + " - " + filter.Name);
                }
            }
        }
    }
} catch (Exception ex) {
    sb.AppendLine(ex.Message);
}

Logger.Log(sb.ToString());

Однако регистрируемая информация всегда пуста. Я был бы признателен, если бы кто-нибудь мог показать мне, что я делаю неправильно. Спасибо


person nfplee    schedule 23.12.2014    source источник


Ответы (1)


Прежде чем можно будет использовать фильтры защиты от мошенничества PayPal (FMF), вам необходимо установить и настроить фильтры в Настройки фильтра. По умолчанию фильтры не настроены и не возвращают никакой информации.

Как только вы настроите и настроите его, вы должны начать получать соответствующую информацию FMF.

person Jason Z    schedule 23.12.2014