3

Authorize.net の使用を置き換えることを検討しています。かなりの時間をかけて PayPal のドキュメントを調べましたが、私の質問に対する明確な答えが見つかりません。

何千もの異なる PayPal APIを使用することで、当社のサイトでホストされているチェックアウト プロセスを持つことができます。このプロセスでは、顧客が当社のサイトを離れることなく、顧客が見る必要もなく、顧客からクレジット カード情報を取得して処理します。 PayPal に関連するもの (したがって、PayPal は 100% 見えません)。

この PayPal ドキュメント ページに混乱しています。「ご注意ください: Direct Payment API はスタンドアロンの製品ではありません。Web Payments Pro ソリューションの一部として、Direct Payment API と Express Checkout を一緒に使用する必要があります。」エクスプレス チェックアウトでは、PayPal のロゴなどを表示する必要があります。

このページでは、Direct Payments API を使用するには、ブランドのエクスプレス チェックアウト オプションを提供する必要があることを明確に示しています。

私は、このように PayPal を使用し、顧客に PayPal を 100% 見えなくすることに問題を抱えていない人が SO にいるという確認を探しているだけだと思いますか?

4

6 に答える 6

3

PayPal のブランディングをプロセスから完全に統合して取り除く唯一の方法は、Payflow Proゲートウェイ サービスを使用することです。以前に使用したことがありますが、他の支払いゲートウェイ (Authorize.net など) を扱うのとよく似ています。

ただし、これは完全にあなた次第ですが、PayPal アカウントの使用を好む人がまだいることがわかりました。彼らは、小規模または未知の e コマース サイトでセキュリティが潜在的に欠如していることを恐れている可能性があります。または、別の国から注文している可能性があります。その場合、PayPal アカウントは豊富な資金調達オプションと自動通貨換算を提供します. そのため、少なくとも PayPal 標準チェックアウト プロセスまたは類似のオプションを提供することをお勧めします。

于 2009-12-22T22:45:28.393 に答える
1

明確なノーとは言えませんが、PayPal がそれを許可しないことは間違いありません。それらは、購入者の PayPal 残高または銀行口座を使用して何かを支払い、マーチャントにパーセンテージを請求することから得られる収益に依存しています。加盟店のパーセンテージは、クレジット カード発行会社の請求をカバーする以上のことはしません。

ユーザーの PayPal 資格情報をサイトに入力しない限り、クレジット カード以外の資金源を使用することはできません。問題は、ユーザーが PayPal 以外のサイトで PayPal のログイン情報を入力することに慣れてしまうと、フィッシング攻撃に対する大きな脆弱性が生じることです。

その時点では、基本的には標準的なクレジット カードのマーチャント アカウントについて話しているのです。

于 2009-12-22T22:47:40.497 に答える
0

かつて、まさにこの目的のために Paypal Pro を使用していました。リンクを見ると、PayPal チェックアウトと通常のチェックアウトの両方を使用する必要があるようです。
ただし、目的を達成することはできます。何が起こるかというと、彼らはチェックアウトすることができ、それがペイパルを経由することについて何も知らないか、ペイパル ボタンをクリックしてあなたのウェブサイトを離れることができます. 支払い後、「ありがとう」のリターン ページをサイトに戻すように設定できます。それ以外は、例外を承認してもらう必要があります。

于 2011-11-09T04:08:19.287 に答える
0

You can definitely use Paypal as a stand alone credit card processing. The paypal account has to be set up for paypal pro.

You can download the API DLLs from the paypal dev site.

paypal_base.dll
log4net.dll

Here is an example function on how to use it for VB.NET but you can convert to C# relatively easily:

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
于 2009-12-22T22:57:17.783 に答える
-2

I can't tell you about the API of Paypal, but I have something burning inside me, reading your topic.

For me as a user it is highly ugly to just see a form of a random site that claims for my payment data. Having a hint on where my data is actually going is by far more better, but really positive it is only, if the site sends me to paypal, where I can let my payment data, inform me about paypal, verify that I'm sending my data to paypal, etc.

It a sort of security you take from your customers if you do it all behind the scenes - even if you write to them, that their payment data is only handled by paypal, there's no transparent way for them to check that.

I'd take the chance to make a poll under your customers for that, what they would prefer, before implementing something obscure.

于 2009-12-22T22:59:32.350 に答える