2012-06-28 32 views
11

Tôi đã cố gắng đi qua rừng (thực sự, PayPal, tại sao bạn không loại bỏ nó ...) trong vài ngày để tìm giải pháp cho vấn đề khá đơn giản của tôi.Nút PayPal gửi biến tùy chỉnh thông qua IPN

Tôi có trang web có đăng ký thành viên. Khách hàng đăng ký bằng email và mật khẩu của họ trên trang web của tôi. Sau đó, họ truy cập PayPal để thanh toán đăng ký của họ.

Vấn đề của tôi là làm cách nào để chuyển mã khóa - email của họ - thông qua toàn bộ giao dịch để tôi biết ai là khoản thanh toán?

Điều này vì có khả năng xảy ra là đôi khi họ đăng ký bằng một email và thanh toán bằng một email khác. Và cách thực hiện tất cả bằng một nút được mã hóa (an toàn).

Điều tôi thấy là tôi có thể tạo nút được mã hóa trên PayPal "Tạo nút thanh toán PayPal".

Trong Bước 3, Thêm (x-ed ra url thực) tiên tiến biến:

notify_url=http://xxxxxxxxxx.com/xxxxx.php 
test_ipn=1 

Lấy mã:

<form action="https://www.paypal.com/cgi-bin/webscr" method="post"> 
<input type="hidden" name="cmd" value="_s-xclick"> 
<input type="hidden" name="hosted_button_id" value="N6UMVCMXSWMYG"> 
<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!"> 
<img alt="" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1"> 
</form> 

và dán đoạn mã được vào trang php của tôi, nhưng thêm trường ẩn có tên "tùy chỉnh" và đặt email đó trong tầm tay và thay đổi hành động biểu mẫu để đi tới hộp cát sandbox.

Sắp xếp như thế này:

<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post"> 

<input type="hidden" name="custom" value="<?=$signUpEmail ?>"> 

<input type="hidden" name="cmd" value="_s-xclick"> 
<input type="hidden" name="hosted_button_id" value="N6UMVCMXSWMYG"> 
<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!"> 
<img alt="" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1"> 
</form> 

tùy chỉnh này biến tôi sau này có thể nhặt trên trang IPN của tôi vì vậy tôi biết ai là thành viên là dành cho ..

Tôi nghĩ phải không? Hoặc tôi có nên thực hiện nút bằng mã "viết tay" không? Hoặc có cách nào tốt hơn không?

Trả lời

3

cách trên hoạt động, mặc dù tôi đã có một số vấn đề với các PayPal Sandbox không chấp nhận "Regular PayPal" hosted_button_id - một cái gì đó đã được xử lý bằng cách tái tạo một hosted_button_id trong Sandbox.

<input type="hidden" name="hosted_button_id" value="RECREATENEWINPAYPALSANDBOX"> 
12

Có trường bạn có thể sử dụng trong biểu mẫu Paypal để đặt bất kỳ thứ gì bạn muốn. Tên của hồ sơ là "tùy chỉnh". Vì vậy, bạn có thể viết một cái gì đó như:

<input name="custom" value="blablabla" type="hidden"> 

Tôi đề nghị mã hóa giá trị của giá trị tùy chỉnh. Ví dụ một số loại base64_encode có thể hữu ích để ngăn cản những người tò mò. Tuy nhiên, cũng có một lời giải thích tốt về những gì bạn có thể làm với Paypal trong hướng dẫn sử dụng. Điều này link và điều này one là một trích đoạn.

Hơn nữa, như được đề xuất trong nhận xét, không thể sử dụng biến phiên có liên quan đến giao diện người dùng của bạn trong giao tiếp liên lạc giữa trang web của bạn và paypal.

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