Подтвердить что ты не робот

Инструмент тестирования Sandbox Test Tool IPN Simulator в локальном хосте

Как использовать Instant Motion Notification Simulator на локальном компьютере? Что будет указано в URL-адресе обработчика IPN? У меня нет доступа к нашему маршрутизатору.

Спасибо

4b9b3361

Ответ 1

Вы не можете протестировать IPN на своем локальном хосте, поскольку IPN - это все о сервере PayPal, который инициирует POST на стороне сервера на указанный вами URL.
В результате ваш IPN script должен быть доступен внешнему миру (или вы можете использовать туннель, такой как ngrok.me/localtunnel.me).

Ответ 2

Вы можете протестировать на localhost с помощью ngrok.

Просто запустите ngrok локально, затем вставьте тестовый URL-адрес, который вам предлагает ngrok (что-то вроде http://1bc7d09d.ngrok.com/)

Он предоставляет туннель для вашего локального хоста.

Ответ 3

Симулятор Paypal IPN не будет работать с localhost. Однако вы можете имитировать симулятор:-). Для этого вам необходимо установить плагин/расширение для браузера, например poster для firefox или Advanced Rest Client для google chrome.

Откройте приложение и введите свой URL-адрес для прослушивания IPN-ответов:

http://localhost/ipn

Поместите следующие данные POST и отправьте запрос:

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

UPDATE. Я просто начал использовать другой вариант, который проще, https://localtunnel.me. Для установки и запуска модуля выполните следующие действия. Он покажет ваш общедоступный URL. Все запросы к этому общедоступному URL-адресу будут перенаправлены на ваш локальный хост.

npm install -g localtunnel
lt --port 80

Ответ 4

Вы можете имитировать сообщение IPN PayPal, запустив script ниже, который я сделал на вашем локальном хосте (вам понадобится завиток). Пока ваш слушатель указывает на песочницу, он должен быть проверен. Измените слушателя на live-paypal, и он не должен проверять.

<?php
// SIMULATE PAYPAL IPN LOCALLY
//
// Sometimes you need to test on your local host and this can be difficult due
// to IP routing issues.  Use this code on your local machine to simulate the
// same process that the sandbox IPN simulator does when posting to your URL.
//
// Run this code in command line or via the browser.  It will post IPN data just
// like Paypal would.  If the code you've written to process your IPN data
// posts back to the sandbox, it should come back as valid.

// Put the full url to test in $paypal_url, include file extensions if necessary
$paypal_url = 'http://localhost/paypal_ipn/process';   // IPN listener to test

//example posted data from paypal IPN
$test = '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&notify_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';
/*
 * More detailed breakout of the raw data
  _POST EXAMPLE ARRAY FROM PAYPAL:
  Array
  (
  [residence_country] => US
  [invoice] => abc1234
  [address_city] => San Jose
  [first_name] => John
  [payer_id] => TESTBUYERID01
  [mc_fee] => 0.44
  [txn_id] => 421462822
  [receiver_email] => [email protected]
  [custom] => xyz123 CUSTOMHASH
  [payment_date] => 12:40:25 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] => [email protected]
  [verify_sign] => AFcWxV21C7fd0v3bYYYRCpSSRl31AgAAjEU7A5rthY2aP4j1jOIrjuGx
  [address_country] => United States
  [payment_status] => Completed
  [address_status] => confirmed
  [business] => [email protected]
  [payer_email] => [email protected]
  [notify_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, any street
  )
 */

//#
// PayPal IPN processor in PHP
// fake paypal post to test scripts
//#
//----------------------------------------------------------
// Create FAKE post from PayPal.
//----------------------------------------------------------

$req = $test; // use test data

//open connection
$ch = curl_init();

//set the url, number of POST vars, POST data
curl_setopt($ch,CURLOPT_URL, $paypal_url);
curl_setopt($ch,CURLOPT_POST, substr_count($req,'&')+1);
curl_setopt($ch,CURLOPT_POSTFIELDS, $req);

//execute post
$result = curl_exec($ch);

//close connection
curl_close($ch);
?>

Ответ 5

Я тестирую на localhost. Вы можете использовать службу, например dyn.com или noip.com, или указать субдомен на ваш локальный адрес, если он статичен.

Ответ 6

/ngrok http -host-header=yourwebsite.com 80

будет туннелировать в localhost с правильным заголовком хоста