簡體   English   中英

Paypal加密網站付款

[英]Paypal Encrypted Website payments

我正在嘗試將PayPal網站付款標准>購物車上傳付款類型集成到我的購物車中。 我在一段時間內整合了Google Checkout,但我並沒有發現它過於混亂,因為我支付寶貝。

我從這里獲得有關如何加密它的信息: https//cms.paypal.com/us/cgi-bin/?&cmd = __render-content&content_ID = developers / e_howto_html_encryptedwebpayments#id08A3I0P017Q

Paypal說我需要使用OpenSSL生成私鑰和公共證書。 我去了OpenSSL並下載了最新版本,它只是一個包含各種文件的文件夾,但我看不到我可以使用的應用程序,不知道該怎么做。

即使我要讓OpenSSL為我生成私鑰和公共證書,下一步是下載MS或Java命令行工具,以提前創建加載購物車,包括購物車總額,稅金等。對我來說聽起來很瘋狂,就像我應該在每個訂單之前手動執行此操作?

顯然我不知道客戶手中購買的商品中的商品所以我需要在我的網站上使用PHP即時完成。 但我完全迷失了。 必須有一種方法來設置動態安全購物車上傳到paypal。 有人可以指點我正確的方向嗎?

首先,您的OpenSSL問題。 如果您使用Linux或Mac,它很容易(一如既往)。 像往常一樣安裝軟件包,並使用paypal說明頁面上的命令。 在Windows上,請確保從此頁面下載的二進制文件不是 文件

您不需要使用它們提供的Java程序來生成鏈接。 說明書的那一部分是針對制作靜態頁面的人,而不是使用PHP。 PayPal是一個很大的解決方案,可以為您提供極大的靈活性,但他們通過為您提供許多不同的API和處理付款的方式來實現這一目標。 您發布的鏈接中的EWP(加密網站付款)並非您所需要的。

自從我在為客戶提供解決方案時使用PayPal已經有幾年了。 上一次,有一個單獨的API來執行您所謂的PDT(支付數據傳輸) 自從我上次使用API​​以來,API已經發生了一些變化,自上次下載以來,文檔似乎已經移動了,但仍然有“網站支付標准集成指南”和“訂單管理集成指南”。 那些仍然有你想要的指示我想。

簡短的回答是,使用PayPal可以自己生成加密鏈接以構建自定義解決方案,但您必須做一些工作才能實現。 在網站上很難找到文檔

雖然Nicholas已經回答了如何生成您需要的私鑰和證書,並建議使用PDT來滿足您的需求,但我還想了解實際使用PHP中的加密付款,因為我確信有些粘合劑會想做這個。

您運行的服務器需要安裝openssl(它安裝在大多數Linux服務器上),您需要能夠從php(即通過exec命令)執行此操作。

執行此操作的代碼可在此處獲得:

http://www.stellarwebsolutions.com/en/articles/paypal_button_encryption_php.php

我成功地使用了這個(在調整文件變量之后,因為它們沒有在函數中被正確地拾取)。

我猜這篇文章看起來有點老了。

不過,我想我可能會投入2美分

Paypal現在可以選擇只需點擊“賣家”標簽的復選框,其中說明:“不接受來自未加密網站的付款”......或類似的東西。

此外,還有選項(也由Paypal推薦),下載自己的證書,生成您自己的(或公鑰),並使用BOTH驗證並檢查付款是否是欺詐性的。

我目前正在這樣做的過程中。 我在我的網站上創建了paypal按鈕,然后單擊選項以拒絕來自未加密網站的付款。

問題是:這種所謂的“安全措施”阻止了我網站上大約50%的客戶,並且沒有明顯的原因。

這就是為什么我正在認真考慮從我的paypal按鈕中刪除這個所謂的安全功能! 這很麻煩。 所有PayPal付款都是安全的,因為它們通過SSL。 我的網站同樣受SSL加密保護。

而且,從在線的廣泛研究來看,大多數人都和我一樣:“加密”按鈕不值得花時間和麻煩,特別是如果它只會讓50%的潛在客戶生氣!

對於Python用戶, python-ewp包負責簽名和加密。 *假設您有可用的OpenSSL標頭和庫,安裝就像下面這樣簡單:

pip install ewp

一旦你有一個包含key=value行的字符串,就可以將它傳遞給ewp.sign()以生成簽名,並使用ewp.encrypt()進行加密:

signature = ewp.sign('test.key', 'test.crt', data)
ciphertext = ewp.encrypt('paypal.crt', signature)

請注意,提供了三個文件名:

  • test.key - 私有RSA密鑰
  • test.crt - 由密鑰簽名的X509證書
  • paypal.crt - PayPal的公共證書

您可以使用以下命令生成RSA密鑰:

openssl genrsa -out test.key 2048

...並創建一個有效期為一年的自簽名證書:

openssl req -new -key test.key -x509 -days 3650 -out test.crt

可以按照這些說明獲得PayPal證書。


* 免責聲明:我是該套餐的作者。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM