我的贝宝 IPN 侦听器在重复订阅时不验证

My paypal IPN listener does not verify while recurring subscription

我可以使用标准的立即购买流程付款,但我无法在我的 IPN 侦听器上进行验证。我认为问题字符集。

标准流程

<form id="payPalForm" name="payPalForm" action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post">
    <input type="hidden" name="rm" value="2">
    <input type="hidden" name="return" value="http://turkishreview.dev/payment/bc1412c5e0c433837c93b2243406e74a223b92a1">
    <input type="hidden" name="notify_url" value="http://turkishreview.dev/payment/bc1412c5e0c433837c93b2243406e74a223b92a1">

    <input type="hidden" name="cmd" value="_xclick">
    <input type="hidden" name="amount" value="19.00">


    <input TYPE="hidden" name="charset" value="utf-8">
    <input type="hidden" name="business" value="facilitator@tr2w.com">
    <input type="hidden" name="currency_code" value="USD">
    <input type="hidden" name="item_number" value="digital_6">
    <input type="hidden" name="item_name"
               value="12 Months - 6 Issue (Digital)">
    <input type="submit" name="submit" id="payPalButton2" style="display: none;" value="submit"/>
</form>

我的 ipn 侦听器上的变量,字符集由 paypal 返回 utf-8 并经过验证

[cmd] => _notify-validate
[mc_gross] => 19.00
[protection_eligibility] => Eligible
[address_status] => confirmed
[payer_id] => K6YW3FZC8PHSE
[tax] => 0.00
[address_street] => 1 Main Terrace
[payment_date] => 03:38:23 Jun 10, 2016 PDT
[payment_status] => Pending
[charset] => utf-8
[address_zip] => W12 4LQ
[first_name] => buyer
[address_country_code] => GB
[address_name] => buyer buyer
[notify_version] => 3.8
[custom] => 
[payer_status] => verified
[business] => facilitator@tr2w.com
[address_country] => United Kingdom
[address_city] => Wolverhampton
[quantity] => 1
[payer_email] => buyer@tr2w.com
[verify_sign] => *****
[txn_id] => 460748311V638183B
[payment_type] => instant
[last_name] => buyer
[address_state] => West Midlands
[receiver_email] => facilitator@tr2w.com
[receiver_id] => 6PUKL55H4XAF6
[pending_reason] => multi_currency
[txn_type] => web_accept
[item_name] => 12 Months - 6 Issue (Digital)
[mc_currency] => USD
[item_number] => digital_6
[residence_country] => GB
[test_ipn] => 1
[handling_amount] => 0.00
[transaction_subject] => 
[payment_gross] => 19.00
[shipping] => 0.00
[auth] => ******

循环订阅流程

<form id="payPalForm" name="payPalForm" action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post">
  <input type="hidden" name="rm" value="2">
  <input type="hidden" name="return" value="http://turkishreview.dev/payment/f7fc9d64140453cd728c4ffd28267901bbf403e7">
  <input type="hidden" name="notify_url" value="http://turkishreview.dev/payment/f7fc9d64140453cd728c4ffd28267901bbf403e7">


  <input type="hidden" name="paymentaction" value="sale">
  <input type="hidden" name="cmd" value="_xclick-subscriptions">
  <input type="hidden" name="bn" value="Subscribe">
  <input type="hidden" name="a3" value="19.00">
  <input type="hidden" name="p3" value="1">
  <input type="hidden" name="t3" value="Y">
  <input type="hidden" name="src" value="1">

  <input TYPE="hidden" name="charset" value="utf-8">
  <input type="hidden" name="business" value="facilitator@tr2w.com">
  <input type="hidden" name="currency_code" value="USD">
  <input type="hidden" name="item_number" value="digital_6">
  <input type="hidden" name="item_name"
         value="12 Months - 6 Issue (Digital)">
  <input type="submit" name="submit" id="payPalButton2" style="display: none;" value="submit"/>
</form>

我的 ipn 侦听器上的变量,由 paypal 返回的字符集 windows-1252 并且尚未验证

[cmd] => _notify-validate
[txn_type] => subscr_signup
[subscr_id] => I-AN3DCCNUT8B4
[last_name] => buyer
[residence_country] => GB
[mc_currency] => USD
[item_name] => 12 Months - 6 Issue (Digital)
[business] => facilitator@tr2w.com
[amount3] => 19.00
[recurring] => 1
[address_street] => 1 Main Terrace
[payer_status] => verified
[payer_email] => buyer@tr2w.com
[address_status] => confirmed
[first_name] => buyer
[receiver_email] => facilitator@tr2w.com
[address_country_code] => GB
[payer_id] => K6YW3FZC8PHSE
[address_city] => Wolverhampton
[reattempt] => 1
[item_number] => digital_6
[address_state] => West Midlands
[subscr_date] => 03:48:50 Jun 10, 2016 PDT
[address_zip] => W12 4LQ
[charset] => windows-1252
[period3] => 1 Y
[address_country] => United Kingdom
[mc_amount3] => 19.00
[address_name] => buyer buyer
[auth] => *****
[form_charset] => UTF-8

我已经在沙盒和贝宝生产上设置了我的卖家账户字符集 utf-8 但发生了同样的错误

怎么了?有什么想法吗?

解决了

问题只是浏览器自动 return。 字符集已在后台进程中接收到 utf-8。

我认为这是 paypal 的 bug