Trình mô phỏng IPN của Paypal sẽ không hoạt động với máy chủ cục bộ. Tuy nhiên, bạn có thể mô phỏng giả lập :-). Để thực hiện việc này, bạn cần cài đặt plugin/tiện ích bổ sung cho trình duyệt như poster cho firefox hoặc Advanced Rest Client cho google chrome.
Mở ứng dụng và đưa vào url của bạn, bạn đang lắng nghe trên để được trả lời IPN:
http://localhost/ipn
Đặt sau khi dữ liệu POST của bạn và gửi yêu cầu:
residence_country=US&invoice=abc1234&address_city=San+Jose&first_name=John&payer_id=TESTBUYERID01&mc_fee=0.44&txn_id=421462822&receiver_email=seller%40paypalsandbox.com&custom=xyz123+CUSTOMHASH&payment_date=12%3A40%3A25+27+Aug+2013+PDT&address_country_code=US&address_zip=95131&item_name1=something&mc_handling=2.06&mc_handling1=1.67&tax=2.02&address_name=John+Smith&last_name=Smith&receiver_id=seller%40paypalsandbox.com&verify_sign=AFcWxV21C7fd0v3bYYYRCpSSRl31AgAAjEU7A5rthY2aP4j1jOIrjuGx&address_country=United+States&payment_status=Completed&address_status=confirmed&business=seller%40paypalsandbox.com&payer_email=buyer%40paypalsandbox.com¬ify_version=2.4&txn_type=cart&test_ipn=1&payer_status=unverified&mc_currency=USD&mc_gross=12.34&mc_shipping=3.02&mc_shipping1=1.02&item_number1=AK-1234&address_state=CA&mc_gross1=9.34&payment_type=instant&address_street=123%2C+any+street
CẬP NHẬT: Tôi vừa bắt đầu sử dụng một tùy chọn khác dễ dàng hơn, https://localtunnel.me. Để cài đặt và chạy mô-đun, hãy làm như sau. Nó sẽ hiển thị URL công khai của bạn. Tất cả các yêu cầu tới URL công khai đó sẽ được chuyển tiếp đến máy chủ cục bộ của bạn.
npm install -g localtunnel
lt --port 80
http://progrium.com/localtunnel/ –
Tốt bổ sung. Vâng, bạn có thể sử dụng localtunnel nếu bạn đang sử dụng Rails. Lưu ý rằng PayPal đề xuất cổng 80/443 (HTTP/HTTPS). 'Trình xác thực IPN' sẽ không hoạt động trên các cổng không phải HTTP (S). – Robert
Bạn cũng có thể giả mạo dữ liệu IPN để thử nghiệm trên máy chủ lưu trữ cục bộ của mình. Xem kịch bản của tôi dưới đây. Bạn sẽ cần kết nối mạng để người nghe liên hệ với hộp cát và php với cài đặt curl. – user6972