2013-07-14 21 views
7

Tôi gặp khó khăn khi tích hợp - và tìm tài liệu hiện tại để tích hợp PayPal PayFlow Pro vào trang web của tôi.PayPal PayFlow Pro với Chuyển hướng Trong suốt - Xác thực Người dùng Không thành công/Tài liệu

Có một câu hỏi tương tự ở đây cho Liên kết PayFlow - https://stackoverflow.com/questions/15808604/result-1-respmsg-userauthenticationfailed-in-test-transaction-for-mastercard - nhưng tôi muốn đi sâu vào chi tiết cụ thể.

Tôi muốn sử dụng Transparent tính năng Redirect với SILENTTRAN tùy chọn sao cho:

  1. dữ liệu thẻ tín dụng được gửi trực tiếp đến các cửa ngõ (tức là không thông qua máy chủ của tôi)
  2. sự người dùng được chuyển hướng trở lại trang được chỉ định để xác nhận giao dịch hoặc lỗi (trang phản hồi).

Tôi hiện đang đọc qua tài liệu này: https://www.paypalobjects.com/webstatic/en_US/developer/docs/pdf/payflowgateway_guide.pdf

này được liệt kê như Payflow Cổng cho nhà phát triển của Guide (PDF) trên trang này - https://developer.paypal.com/webapps/developer/docs/classic/products/payflow-gateway/ - vì vậy tôi giả sử nó là tài liệu hiện tại .

Theo trang 28, quá trình này nên là:

  1. Khách hàng nhấp chuột Mua để mua hàng trên website của bạn. [DONE]
  2. Bạn yêu cầu mã thông báo an toàn bằng cách chuyển ID mã thông báo an toàn tới máy chủ Cổng. Trong yêu cầu, bạn chuyển cặp tên-giá trị, SILENTTRAN = TRUE. Cặp tên-giá trị này ngăn các trang được lưu trữ hiển thị. [DONE]
  3. Máy chủ cổng trả về mã thông báo bảo mật và ID mã thông báo của bạn cho trang web của bạn. [DONE]
  4. Bạn hiển thị các trường thẻ tín dụng cho khách hàng trong trang thanh toán trên trang web của bạn. [DONE]
  5. Khách hàng nhập số thẻ tín dụng, ngày hết hạn và các dữ liệu nhạy cảm khác vào các trường thẻ tín dụng và nhấp vào Gửi. [DONE] Trình duyệt đăng dữ liệu thanh toán trực tiếp lên máy chủ Gateway, tránh trang web của bạn và giảm bớt các yêu cầu tuân thủ PCI của bạn. [VẤN ĐỀ Ở ĐÂY]

Dưới đây là ví dụ về yêu cầu mã thông báo bảo mật để chuyển hướng trong suốt. Tôi đã sử dụng trình giữ chỗ thay cho chi tiết tài khoản PayFlow Pro trực tiếp thực tế của tôi (tài khoản này tuyên bố 'Payflow SDK/API (Toàn quyền truy cập) Live' trong Tóm tắt dịch vụ manager.paypal.com), nhưng tôi đã sử dụng thông tin đăng nhập PayPal thực của mình trong yêu cầu thực tế. Tương tự như vậy tôi đã sử dụng các trang truy cập công khai cho URL trở lại của tôi:

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 

tôi thực hiện các giao dịch thẻ sử dụng mã server-side, và tôi có thể thấy rằng tôi nhận được một phản ứng lại như vậy:

RESULT=0&SECURETOKEN=TOKENWASHEREsdsdfjkj&SECURETOKENID=VDUOBDNLSXTLYAAAAAATLSEBLAAAAAAAAAA&RESPMSG=Approved 

Vì vậy, có vẻ như tài khoản đã xác thực chính xác ở đây. Tôi đã xác nhận trong Fiddler rằng tôi đang gửi yêu cầu này tới https://payflowpro.paypal.com.

Sau đó tôi lấy phản hồi đó và đặt phản hồi này vào biểu mẫu HTML đăng lại cổng, ví dụ::

<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> 

Xin lưu ý rằng tôi đã sử dụng cùng một ID thẻ và mã thông báo như những gì đã được trả lại trong phản ứng thẻ - đây là những placeholders. Tôi cũng đã sử dụng số thẻ tín dụng thực tế và các giá trị trường thẻ tín dụng khác.

này được đăng tôi để https://payflowpro.paypal.com, mà chỉ khẳng định phản ứng (trong cơ thể của trang):

xác thực KẾT QUẢ = 1 & RESPMSG = Người dùng thất bại

nên không này được trả lại cho tôi trang lỗi của tôi? Hoặc là nó không sớm hơn trong quá trình để các gateway thậm chí không bao giờ cố gắng để giải thích các mã thông báo và chuyển hướng? Tôi đã thử đặt URL trả lại của mình thành URL trang web trực tiếp và dường như không tạo ra sự khác biệt nào. Tôi cũng đã cố gắng đăng bài này từ một máy chủ web công cộng có thể truy cập chứ không phải là localhost, nhưng kết quả là như nhau.

Một vấn đề khác mà tôi đang gặp là tìm tài liệu liên quan. Có một 'Payflow Testing Service' tài liệu ở đây: https://ppmts.custhelp.com/app/answers/detail/a_id/456/kw/payflow%20pro%20transparent%20redirect%20error%20page%20get%20codes

Trang này được lập vào ngày năm 2007, và liên kết dưới sự kiểm tra sử dụng Payflow Pro tiêu đề (ví dụ: Hướng dẫn có sẵn tại x.com) bị hỏng. Hướng dẫn này hơi mơ hồ, và các ví dụ duy nhất của mã tôi đã tìm thấy là trong PHP (xem https://go.developer.ebay.com/developers/community/blogs/pp_integrations_nate/payflow-transparent-redirect). Tôi đã viết lại logic trong ví dụ như một ứng dụng ASP.Net.

Nói tóm lại, câu hỏi của tôi là:

  1. Am Tôi sử dụng logic đúng để xử lý một giao dịch thẻ tín dụng?
  2. Nếu không, ai đó có thể chỉ ra nơi tôi đang đi sai, và nơi tôi có thể tìm thấy những tài liệu có liên quan và cập nhật nhất
  3. Một liên kết (s) cho các tài liệu thủ tục kiểm tra mới nhất

My tiếp theo ý tưởng là thử thiết lập tài khoản thử nghiệm bằng cách sử dụng các hướng dẫn sau: https://ppmts.custhelp.com/app/answers/detail/a_id/929/ Rõ ràng đây là các trang PayFlow được lưu trữ trên máy chủ, nhưng tôi nghi ngờ quy trình phải tương tự miễn là tôi chỉ định tùy chọn SILENTTRAN. Tôi đã cố gắng không thành công để có được tài khoản thử nghiệm làm việc trước đó trong tuần, nhưng nó có vẻ như là điều hợp lý tiếp theo để thử vào thời điểm này.

Tôi đã mở một vé hỗ trợ mở với các kỹ sư PayPal và họ đang xem xét điều này, nhưng thật tuyệt khi biết liệu có ai trong cộng đồng đã quản lý để giải quyết vấn đề tương tự hay không.

CHỈNH SỬA: theo kỹ sư PayPal tôi vừa nói với giá trị SILENTTRANS chỉ bắt buộc trong yêu cầu mã thông báo bảo mật. Tôi đã nhận xét điều này trong biểu mẫu yêu cầu giao dịch ở trên, nhưng điều này không giải quyết được vấn đề. Chúng tôi cũng xác nhận rằng có thể thực hiện yêu cầu không bảo mật (ví dụ: chuyển hướng không minh bạch) đến https://pilot-payflowpro.paypal.com/ bằng chi tiết tài khoản của tôi.

EDIT 2: Tôi đã được hướng dẫn bởi PayPal để sử dụng https: // payflowlink .paypal.com/(không https: // payflowpro .paypal.com) cho bài URL giao dịch, nhưng để tiếp tục sử dụng https://payflowpro.paypal.com để yêu cầu mã thông báo. Điều này cho phép tôi truy cập vào trang xác nhận của mình bằng cách sử dụng chuyển hướng trong suốt (đó là kết quả tuyệt vời), nhưng điều đó không có ý nghĩa gì với tôi rằng tôi đang sử dụng 'payflowlink' thay vì 'payflowpro' gateway. Tôi cũng tìm thấy hướng dẫn này có vẻ như hỗ trợ này https://go.developer.ebay.com/developers/community/blogs/ppintegrationsnate/new-payflow-gateway-tutorial

Bất kỳ ai sử dụng Sản phẩm trong suốt PayFlow Pro vui lòng xác nhận rằng điều này là đúng (hoặc cách khác).

+1

LƯU Ý: câu hỏi này đôi khi đề cập đến SILIENTTRANS, tham số chính xác là SILENTTRAN – nuander

+0

Aaron, u nhận giải pháp từ câu trả lời của @ Gerzie? Nguyên nhân, nó không làm việc cho tôi. – Ankur

+0

Có - vấn đề là tôi đang sử dụng các điểm cuối URL không chính xác. Tuy nhiên, xem xét việc này đã hơn hai năm trước, có thể mọi thứ đã thay đổi. Vấn đề chính xác bạn đang gặp phải là gì? –

Trả lời

7

Nếu bạn đang sử dụng bất kỳ tính năng liên quan đến trang thanh toán lưu trữ mà bạn sẽ cần phải chuyển hướng đến - https://payflowlink.paypal.com hoặc https://pilot-payflowlink.paypal.com

Các Payflow Pro URL đặc biệt dành cho các cuộc gọi API và họ không phải là một cái gì đó bạn nên chuyển hướng người mua thông qua.

Tài khoản của bạn cũng cần phải là loại chính xác để có thể sử dụng tính năng thanh toán được lưu trữ. Bạn có thể kiểm tra những tùy chọn nào có sẵn cho tài khoản của mình bằng cách đăng nhập và kiểm tra bên phải để xem sản phẩm nào được bật trên tài khoản của bạn.

Tài liệu để chuyển hướng trong suốt rất thưa thớt. X.com đã có một vài bài đăng trên đó nhưng những bài viết đó chưa được chuyển đến một nơi nào khác.

Các vấn đề liên quan