2009-12-22 4 views
3

Мы ищем, чтобы заменить наше использование Authorize.net. Я потратил много времени на изучение документации PayPal, но не могу найти ясный ответ на свой вопрос:Включает ли PayPal параметры интеграции платежей, которые не требуют отображения PayPal пользователю?

Использование тысяч десятков различных API-интерфейсов PayPal - это возможность иметь процесс оформления заказа, который является размещенный на нашем сайте, где мы собираем и обрабатываем информацию о кредитной карте от клиента без того, чтобы клиент покидал наш сайт, и без того, чтобы клиент не видел ничего связанного с PayPal (так что PayPal на 100% невидим).

Я запутался this PayPal documentation page: «Пожалуйста, обратите внимание: Прямая API Оплата не является отдельным продуктом Вы должны использовать API Direct Payment и Экспресс Checkout вместе как часть платежей веб-сайта Pro решения.». так как Express Checkout требует, чтобы вы показывали логотипы PayPal и т. д.

И this page делает довольно понятным, что вы должны предлагать опцию branded Express checkout для использования API прямых платежей.

Я предполагаю, что я просто ищу подтверждение, что есть люди, которые используют ТАК, используя PayPal таким образом, и у них не было проблем с тем, чтобы клиент PayPal был невидимым на 100%?

ответ

5

Да, вы можете .. Мы используем PayPal на нашем сайте, PerqWorks и разрешаем оплату кредитной картой. Продукт PayPal - это веб-сайт Payments Pro. Я сделал интеграцию, это было довольно легко, и стоимость была низкой, если ваши продажи составляют менее 10 тыс. Долларов в месяц.

EDIT :: Мне нужно уточнить это - мы получили исключение из PayPal, чтобы разрешить нам не иметь кнопку PayPal на нашем сайте. Я пропустил эту информацию, потому что кто-то еще в моем офисе действительно сделал это соглашение. Мой совет заключается в том, что вы запрашиваете у своего Пользователя учетной записи PayPal Integration, то есть кто сделал для нас исключение.

+0

Эта страница читает мне, что вы должны показать брендинг PayPal с помощью средств экспресс-оплаты: https://www.paypal.com/us/cgi-bin/webscr?cmd=_wp-pro-feature-list - ? – Justin

+0

Я согласен, но мы попросили назначенного представителя PayPal, и он уточнил, что это не так. Если вы перейдете на сайт Perq, вы увидите, как у нас есть форма оплаты, которая не имеет маркировки PayPal. –

+0

Да, хорошо. Отлично. Благодарю. – Justin

3

Единственный способ, которым я знаю, полностью интегрировать и использовать брендинг PayPal в этом процессе, - использовать их шлюз Payflow Pro. Я использовал его раньше, и он очень похож на любой другой платежный шлюз (например, Authorize.net).

Однако это зависит только от вас, но я обнаружил, что есть еще люди, которые предпочитают использовать свою учетную запись PayPal. Они могут опасаться потенциального отсутствия безопасности на небольших или неизвестных сайтах электронной коммерции. Или, возможно, они заказывают из другой страны, и в этом случае счет PayPal предлагает множество вариантов финансирования и автоматическую конвертацию валют. Поэтому приятно по крайней мере предложить вариант процесса PayPal Standard Checkout или что-то подобное.

1

Я не могу дать вам определенного ответа, но я уверен, что PayPal не допустит этого. Они зависят от дохода, который исходит от использования баланса PayPal покупателя или банковского счета, чтобы заплатить за что-то и поручить продавцу процент. Процент купечества не намного больше, чем покрывает обвинение эмитента кредитной карты.

Если вы не указали учетные данные пользователей PayPal на своем сайте, им не удастся использовать источник финансирования, отличный от кредитных карт. Проблема в том, что это создаст огромную уязвимость для фишинговых атак, чтобы пользователи привыкли вводить свою регистрационную информацию в PayPal на сайте, отличном от PayPal.

Вы в основном говорите о стандартной учетной записи продавца кредитных карт в этот момент.

0

Вы можете определенно использовать Paypal как самостоятельную обработку кредитных карт. Счет PayPal должен быть настроен для paypal pro.

Вы можете загрузить DLL-файлы API с сайта-разработчика PayPal.

paypal_base.dll 
log4net.dll 

Вот пример функции, как использовать его для VB.NET, но вы можете преобразовать в C# относительно легко:

Imports com.paypal.sdk.services 
Imports com.paypal.soap.api 
Imports com.paypal.sdk.profiles 

    Private Function processCC() As Boolean 


    Dim caller As New CallerServices 
    Dim profile As IAPIProfile = ProfileFactory.createSignatureAPIProfile 

    profile.APIUsername = AppSettings("APIUsername") 
    profile.APIPassword = AppSettings("APIPassword") 
    profile.APISignature = AppSettings("APISignature") 
    profile.Environment = AppSettings("Environment") 

    caller.APIProfile = profile 

    Dim pp_Request As New DoDirectPaymentRequestType 
    pp_Request.Version = "51.0" 

    pp_Request.DoDirectPaymentRequestDetails = New DoDirectPaymentRequestDetailsType 

    pp_Request.DoDirectPaymentRequestDetails.IPAddress = Request.ServerVariables("REMOTE_ADDR") 
    pp_Request.DoDirectPaymentRequestDetails.MerchantSessionId = Session.SessionID 
    pp_Request.DoDirectPaymentRequestDetails.PaymentAction = PaymentActionCodeType.Sale 

    pp_Request.DoDirectPaymentRequestDetails.CreditCard = New CreditCardDetailsType 

    pp_Request.DoDirectPaymentRequestDetails.CreditCard.CreditCardNumber = Request("ccNumber") 

    Select Case Request("ccType") 
     Case "visa" 
      pp_Request.DoDirectPaymentRequestDetails.CreditCard.CreditCardType = CreditCardTypeType.Visa 
     Case "mastercard" 
      pp_Request.DoDirectPaymentRequestDetails.CreditCard.CreditCardType = CreditCardTypeType.MasterCard 
     Case "amex" 
      pp_Request.DoDirectPaymentRequestDetails.CreditCard.CreditCardType = CreditCardTypeType.Amex 
     Case "discover" 
      pp_Request.DoDirectPaymentRequestDetails.CreditCard.CreditCardType = CreditCardTypeType.Discover 
    End Select 



    pp_Request.DoDirectPaymentRequestDetails.CreditCard.CVV2 = Request("CVV2") 
    pp_Request.DoDirectPaymentRequestDetails.CreditCard.ExpMonth = Request("expMonth") 
    pp_Request.DoDirectPaymentRequestDetails.CreditCard.ExpMonthSpecified = True 
    pp_Request.DoDirectPaymentRequestDetails.CreditCard.ExpYear = Request("expYear") 
    pp_Request.DoDirectPaymentRequestDetails.CreditCard.ExpYearSpecified = True 



    pp_Request.DoDirectPaymentRequestDetails.CreditCard.CardOwner = New PayerInfoType 
    pp_Request.DoDirectPaymentRequestDetails.CreditCard.CardOwner.Payer = Request("email") 
    pp_Request.DoDirectPaymentRequestDetails.CreditCard.CardOwner.PayerID = "" 
    pp_Request.DoDirectPaymentRequestDetails.CreditCard.CardOwner.PayerStatus = PayPalUserStatusCodeType.unverified 
    pp_Request.DoDirectPaymentRequestDetails.CreditCard.CardOwner.PayerCountry = CountryCodeType.US 

    pp_Request.DoDirectPaymentRequestDetails.CreditCard.CardOwner.Address = New AddressType() 
    pp_Request.DoDirectPaymentRequestDetails.CreditCard.CardOwner.Address.Street1 = Request("address1") 
    pp_Request.DoDirectPaymentRequestDetails.CreditCard.CardOwner.Address.Street2 = Request("address2") 
    pp_Request.DoDirectPaymentRequestDetails.CreditCard.CardOwner.Address.CityName = Request("city") 
    pp_Request.DoDirectPaymentRequestDetails.CreditCard.CardOwner.Address.StateOrProvince = Request("state") 
    pp_Request.DoDirectPaymentRequestDetails.CreditCard.CardOwner.Address.PostalCode = Request("zipcode") 
    pp_Request.DoDirectPaymentRequestDetails.CreditCard.CardOwner.Address.CountryName = "USA" 
    pp_Request.DoDirectPaymentRequestDetails.CreditCard.CardOwner.Address.Country = CountryCodeType.US 
    pp_Request.DoDirectPaymentRequestDetails.CreditCard.CardOwner.Address.CountrySpecified = True 

    pp_Request.DoDirectPaymentRequestDetails.CreditCard.CardOwner.PayerName = New PersonNameType() 
    pp_Request.DoDirectPaymentRequestDetails.CreditCard.CardOwner.PayerName.FirstName = Request("firstname") 
    pp_Request.DoDirectPaymentRequestDetails.CreditCard.CardOwner.PayerName.LastName = Request("lastname") 
    pp_Request.DoDirectPaymentRequestDetails.PaymentDetails = New PaymentDetailsType() 
    pp_Request.DoDirectPaymentRequestDetails.PaymentDetails.OrderTotal = New BasicAmountType() 


    pp_Request.DoDirectPaymentRequestDetails.PaymentDetails.OrderTotal.currencyID = CurrencyCodeType.USD 

    Dim myOrder As Order = CType(Session("currentOrder"), Order) 
    pp_Request.DoDirectPaymentRequestDetails.PaymentDetails.OrderTotal.Value = FormatNumber(myOrder.grandTotal, 2) 

    'pp_Request.DoDirectPaymentRequestDetails.PaymentDetails.ShippingTotal = New BasicAmountType() 
    'pp_Request.DoDirectPaymentRequestDetails.PaymentDetails.ShippingTotal.currencyID = CurrencyCodeType.USD 
    'pp_Request.DoDirectPaymentRequestDetails.PaymentDetails.ShippingTotal.Value = FormatNumber(myOrder.orderShippingTotal, 2) 

    pp_Request.DoDirectPaymentRequestDetails.PaymentDetails.ItemTotal = New BasicAmountType() 
    pp_Request.DoDirectPaymentRequestDetails.PaymentDetails.ItemTotal.currencyID = CurrencyCodeType.USD 
    pp_Request.DoDirectPaymentRequestDetails.PaymentDetails.ItemTotal.Value = FormatNumber(myOrder.orderSubTotal, 2) 


    '// Execute the API operation and obtain the response. 
    Dim pp_response As New DoDirectPaymentResponseType() 
    pp_response = CType(caller.Call("DoDirectPayment", pp_Request), DoDirectPaymentResponseType) 

    Session("myResponse") = pp_response 

    Dim rtn As Boolean = False 

    Select Case pp_response.Ack 
     Case AckCodeType.Failure 
      rtn = False 
     Case AckCodeType.FailureWithWarning 
      rtn = False 
     Case AckCodeType.Success 
      Return True 
     Case AckCodeType.SuccessWithWarning 
      rtn = True 
     Case AckCodeType.Warning 
      rtn = False 

    End Select 

    Return rtn 

End Function 
+0

Эта страница читает мне, что вы должны показать брендинг PayPal с помощью Express Checkout: https://www.paypal.com/us/cgi-bin/webscr?cmd=_wp-pro-feature-list -? – Justin

-2

Я не могу сказать вам о API из Paypal, но У меня во мне что-то горит, читая вашу тему.

Для меня как пользователя очень уродливо просто увидеть форму случайного сайта, который претендует на мои платежные данные. Если намек на то, где мои данные действительно идут, намного лучше, но на самом деле положительно, только если сайт отправит меня на paypal, где я могу сообщить свои платежные данные, сообщите мне о paypal, убедитесь, что я отправляю мои данные в paypal и т. д.

Это своего рода безопасность, которую вы берете у своих клиентов, если вы делаете все это за кулисами - даже если вы пишете им, что их платежные данные обрабатываются только paypal, нет прозрачных чтобы проверить их.

Я бы воспользовался возможностью сделать опрос среди ваших клиентов за то, что они предпочли бы, прежде чем внедрять что-то неясное.

+0

Хотя я вижу вашу точку зрения, разный брендинг можно воспринимать как непрофессиональный, результат реализации бюджета, а не решение совесть информировать пользователей. –

+0

Существуют некоторые API-интерфейсы платежей, для которых не требуется размещенная страница, но позволит клиенту проверить их передачу платежных данных. Прозрачный API переадресации Braintree является одним из них: http://bit.ly/braintree-api. Торговцы создают форму, которая отправляется непосредственно в Braintree, поэтому, если бы их клиенты были обеспокоены, они могли убедиться, что форма отправлена ​​на URL-адрес Braintree. Braintree просто перенаправляет обратно на сайт продавца, поэтому Braintree не очень заметен, если вы его не ищете. Раскрытие информации: Я работаю в Braintree. –

0

В свое время я использовал Paypal Pro для этой самой цели. При взгляде на вашу ссылку, похоже, они требуют, чтобы вы использовали как paypal checkout, так и регулярную проверку.
Однако вы все равно можете достичь своей цели. Что происходит, так это то, что они могут проверять и ничего не знать об этом через paypal. Или они могут нажать кнопку Paypal и покинуть ваш веб-сайт. После оплаты вы можете настроить обратную страницу «спасибо» на ваш сайт. Кроме этого, вы должны заставить их одобрить исключение.