Тестирование подписки PayPal IPN

Я предполагаю, что эта проблема хорошо понята, но что происходит со мной на первом чтении:

  • сравнивают поля индивидуально
  • количество те, которые соответствуют (для возможно свободного определения соответствия и возможно взвешивания полей по-другому)
  • существующий для человеческого вмешательства любые случаи, которые передают некоторый порог

Использование Ваша существующая база данных для получения хорошего первого предположения для порога, и корректный, поскольку Вы накапливаете опыт.

можно предпочесть довольно сильную предвзятость к ложным положительным сторонам по крайней мере сначала.

37
задан Click Upvote 1 September 2009 в 20:26
поделиться

2 ответа

Раньше период, указанный в днях, обрабатывался тестовым сервером как минуты, поэтому при указании 'd3' вы вызывались каждые 3 минуты. Я думаю, что они удалили это, и я не знаю какой-либо функции замены для тестовых подписок.

7
ответ дан 27 November 2019 в 04:32
поделиться

Перерыв, как перейти, вероятно, ответ, но я выдвину еще одну идею.

Возможно, он хотел иметь локально определенные переменные и использовал эту конструкцию для получения новой области действия.

Помните, что, хотя последние версии C++ позволяют использовать {...} в любом месте, это не всегда так.

-121--687439-

Предыдущие ответы хорошие. Кроме того, на сайте Intel есть чему поучиться, и если у вас есть бюджет, то на инструменты Intel стоит обратить внимание.
Статьи Intel по оптимизации

-121--3286538-

Поддержка и документация PayPal для разработчиков является для них неудобством. Но это особое ограничение не так изнурительно, как кажется поначалу румянцем.

Для тестирования определите регулярный платеж для не иметь бесплатную пробную версию. При создании новой подписки сервер будет получать два IPN-сообщения последовательно: одно для создания подписки и второе для применения платежа. Это всё, что нужно проверить.

Если у вас есть бесплатная пробная версия, вы получите в основном одну и ту же пару сообщений, только с пробным периодом между ними.:)

Первое сообщение («создать подписку») будет выглядеть примерно так. Обратите внимание на «txn _ type» - это ключевой бит информации для устранения неоднозначности двух сообщений:

{
  "txn_type"=>"subscr_signup",
  "subscr_id"=>"unique_id",
  "verify_sign"=>"random_gibberish",

  "item_number"=>"your_subscription_name"
  "subscr_date"=>"14:32:23 Feb 15, 2010 PST",
  "btn_id"=>"1111111",
  "item_name"=>"Your Subscription Description",
  "recurring"=>"1",
  "period1"=>"1 M",

  # This example is from a "free trial" IPN notification-- if you don't have a 
  # free trial defined, there will only be 'period1' fields, and they'll
  # have the data that appears here in the 'period3' fields.
  "amount1"=>"0.00",
  "mc_amount1"=>"0.00",
  "period3"=>"1 M",
  "amount3"=>"34.95",
  "mc_amount3"=>"34.95",
  "mc_currency"=>"USD",

  "payer_status"=>"verified",
  "payer_id"=>"payer_unique_id",
  "first_name"=>"Test",
  "last_name"=>"User",
  "payer_email"=>"test_xxxx@example.com",
  "residence_country"=>"US",

  "business"=>"seller_xxxxxxx@example.com",
  "receiver_email"=>"seller_xxxxxxx@example.com",

  "reattempt"=>"1",

  "charset"=>"windows-1252","notify_version"=>"2.9","test_ipn"=>"1",
}

Второе сообщение является более интересным в данном случае. Это будет то же самое сообщение, которое вы получите позже, когда будет применен регулярный платеж. Это выглядит примерно так:

{
  "txn_type"=>"subscr_payment",
  "subscr_id"=>"unique_id",
  "verify_sign"=>"random_gibberish",

  "txn_id"=>"payment_unique_id",
  "payment_status"=>"Completed",
  "payment_date"=>"12:45:33 Feb 16, 2010 PST",

  "item_number"=>"your_subscription_name"
  "subscr_date"=>"14:32:23 Feb 15, 2010 PST",
  "custom"=>"data-you-sent-in-a-custom-field",

  "id"=>"1",
  "payment_gross"=>"34.95",
  "mc_currency"=>"USD",
  "payment_type"=>"instant",
  "payment_fee"=>"1.31",
  "payer_status"=>"verified",
  "mc_fee"=>"1.31",
  "mc_gross"=>"34.95",
  "btn_id"=>"1111111",

  "payer_id"=>"payer_unique_id",
  "first_name"=>"Test",
  "last_name"=>"User",
  "payer_email"=>"test_xxxx@example.com",
  "residence_country"=>"US",

  "receiver_id"=>"your_merchant_id",
  "business"=>"seller_xxxxxxx@example.com",
  "receiver_email"=>"seller_xxxxxxx@example.com",

  "protection_eligibility"=>"Ineligible",
  "transaction_subject"=>"",
  "charset"=>"windows-1252","notify_version"=>"2.9","test_ipn"=>"1",
}

Так что вы можете сделать почти все свое тестирование, не дожидаясь дня. К тому времени, когда вы думаете, что вы прибили его, вы будете получать много сообщений IPN подписки на следующий день.

Кроме того, здесь - ссылка на документацию PayPal для получения дополнительной информации.

56
ответ дан 27 November 2019 в 04:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: