我在整合和查找當前文檔方面遇到一些困難 - 將PayPal PayFlow Pro整合到我的網站中。PayPal PayFlow Pro具有透明重定向 - 用戶驗證失敗問題/文檔
還有一個類似的問題,這裏的PayFlow鏈接 - https://stackoverflow.com/questions/15808604/result-1-respmsg-userauthenticationfailed-in-test-transaction-for-mastercard - 但我想進入具體細節。
我想用透明重定向特徵與SILENTTRAN選項,以便:
- 信用卡數據直接發送到網關(也就是不通過我的服務器)
- 的用戶被重定向回指定頁面以確認事務或錯誤(響應頁面)。
我目前通過這個文件閱讀: https://www.paypalobjects.com/webstatic/en_US/developer/docs/pdf/payflowgateway_guide.pdf
這被列爲Payflow網關開發人員指南(PDF)此頁面上 - https://developer.paypal.com/webapps/developer/docs/classic/products/payflow-gateway/ - 所以我假設它是當前文檔。
根據第28頁,這個過程應該是:
- 客戶點擊購買到您的網站上購買商品。 [完成]
- 您通過將安全令牌ID傳遞給網關服務器來請求安全令牌。在請求中,您傳遞名稱 - 值對,SILENTTRAN = TRUE。此名稱/值對可防止顯示託管頁面。 [完成]
- 網關服務器將安全令牌和令牌ID返回到您的網站。 [完成]
- 您可以在網站的結賬頁面上向客戶顯示信用卡欄位。 [完成]
- 客戶將其信用卡號碼,到期日期和其他敏感數據輸入信用卡字段並點擊提交。 [完成]瀏覽器將支付數據直接發佈到網關服務器,避免您的網站並緩解您的PCI合規性要求。 [此處的問題]
以下是透明重定向的安全令牌請求示例。我已經使用佔位符代替了我的實際實時PayFlow Pro帳戶詳細信息(此帳戶在manager.paypal.com服務摘要中聲明瞭「Payflow SDK/API(Full Access)Live」),但我使用了真實的PayPal憑證實際要求。同樣我用公開訪問的網頁我回來網址:
USER=MYUSER&VENDOR=MYUSER&PARTNER=VSA&PWD=MYPASSWORD&BILLTOFIRSTNAME=John&BILLTOLASTNAME=Doe&BILLTOSTREET=123 Fake Street&BILLTOSTREET2=&BILLTOCITY=Sydney&BILLTOZIP=2000&BILLTOPHONENUM=5555555555&[email protected]&BILLTOSTATE=NSW&AMT=0.05&RETURNURL=http://www.example.com&CANCELURL=http://www.example.com&ERRORURL=http://www.example.com&TRXTYPE=A&SILENTTRAN=TRUE&VERBOSITY=HIGH&CREATESECURETOKEN=Y&TENDER=C&SECURETOKENID=VDUOBDNLSXTLYAAAAAATLSEBLAAAAAAAAAA
我使用服務器端代碼執行代幣交易,我可以看到,我收到回一個響應,像這樣:
RESULT=0&SECURETOKEN=TOKENWASHEREsdsdfjkj&SECURETOKENID=VDUOBDNLSXTLYAAAAAATLSEBLAAAAAAAAAA&RESPMSG=Approved
所以看起來這個帳戶在這裏正確認證。我已在Fiddler中確認我將此請求發佈到https://payflowpro.paypal.com。
然後,我將該響應放入一個HTML表單中,該表單發送回網關,例如,:
<form id="form" action="https://payflowpro.paypal.com" method="post">
<!-- <input name="MODE" class="inpPPField" id="hdn_pp_mode" type="hidden" value="Test"> -->
<input name="SECURETOKEN" class="inpPPField" id="hdn_pp_securetoken" type="hidden" value="TOKENWASHEREsdsdfjkj">
<input name="SECURETOKENID" class="inpPPField" id="hdn_pp_securetokenid" type="hidden" value="VDUOBDNLSXTLYAAAAAATLSEBLAAAAAAAAAA">
<input name="CARDNUM" class="inpPPField" id="hdn_pp_CardNum" type="hidden" value="4111111111111111">
<input name="EXPMONTH" class="inpPPField" id="hdn_pp_expMonth" type="hidden" value="11">
<input name="EXPYEAR" class="inpPPField" id="hdn_pp_expYear" type="hidden" value="16">
<input name="CVV2" class="inpPPField" id="hdn_pp_cvv2" type="hidden" value="123">
<!--<input name="SILENTTRANS" class="inpPPField" id="hdn_pp_silenttrans" type="hidden" value="Y">-->
<input name="VERBOSITY" class="inpPPField" id="hdn_pp_verbosity" type="hidden" value="HIGH">
<input class="inpPPField" type="submit" value="Submit" />
</form>
</body>
請注意,我用同樣的ID和令牌什麼令牌效應初探回來 - 這是佔位符。我還使用了實際的信用卡號碼和其他信用卡字段值。
這是張貼我https://payflowpro.paypal.com,剛剛聲明響應(在頁面的主體):
RESULT = 1個& RESPMSG =用戶身份驗證失敗
不應該在該回到我的錯誤頁面?或者它在流程的早期失敗,以至於網關甚至不會嘗試解釋令牌並重定向?我試着將我的返回網址設置爲實時網站網址,而且它似乎沒有什麼不同。我也嘗試從可公開訪問的Web服務器而不是本地主機發布此消息,但結果相同。
我遇到的另一個問題是找到相關文檔。還有一個「Payflow服務測試」文件位置: https://ppmts.custhelp.com/app/answers/detail/a_id/456/kw/payflow%20pro%20transparent%20redirect%20error%20page%20get%20codes
本頁面日期爲2007年,並根據測試使用Payflow臨標題(即該指南可在x.com)被打破的鏈接。該指南有點含糊,我發現的代碼的唯一例子是PHP(請參閱https://go.developer.ebay.com/developers/community/blogs/pp_integrations_nate/payflow-transparent-redirect)。我已經將示例中的邏輯重寫爲ASP.Net應用程序。
總之,我的問題是:
- 我使用了正確的邏輯來處理信用卡交易?
- 如果沒有,就有人指出我要去的錯了,在哪裏可以找到最相關和最新文檔
- 的鏈接(或多個)以獲取最新的測試程序文件
我的下一個想法是嘗試使用這些指令設置使用測試帳戶: https://ppmts.custhelp.com/app/answers/detail/a_id/929/ 顯然,這是用於託管的PayFlow頁面,但我懷疑程序應該類似,只要我指定SILENTTRAN選項。我試圖讓測試賬戶在本週早些時候工作失敗,但似乎在這一點上嘗試下一個合乎邏輯的事情。
我已經打開了貝寶工程師開放的支持票,他們正在調查此問題,但知道社區中的任何人是否已設法解決類似問題將非常高興。
編輯:根據PayPal工程師,我剛纔說到SILENTTRANS值只在安全令牌請求中需要。我在上面的交易申請表中評論了這一點,但這並沒有解決問題。我們還確認,可以使用我的帳戶詳細信息對https://pilot-payflowpro.paypal.com/進行非安全令牌(即非透明重定向)請求。
編輯2:我已指示由貝寶使用https:// payflowlink .paypal.com /(沒有使用https:// payflowpro .paypal.com)的交易後URL,而是繼續使用https://payflowpro.paypal.com作爲令牌請求。這允許我使用透明重定向(這是一個很好的結果)到達我的確認頁面,但是對於我來說,使用'payflowlink'而不是'payflowpro'並沒有多大意義,網關。我也發現這個教程似乎支持這https://go.developer.ebay.com/developers/community/blogs/ppintegrationsnate/new-payflow-gateway-tutorial
任何人都可以使用PayFlow Pro透明產品,請確認這是正確的(或以其他方式)。
注意:這個問題有時候是指SILIENTTRANS,正確的參數是SILENTTRAN – nuander
Aaron,你從@ Gerzie的答案得到解決方案嗎?因爲,它不適合我。 – Ankur
是的 - 問題是我使用了不正確的URL端點。然而,考慮到這是兩年前,事情可能發生了變化。你有什麼確切的問題? –