Я всегда получаю ответ «Pending» [payment_status] из песочницы paypal, поэтому мой код для вставки данных в базу данных вообще не работает. Всякий раз, когда я делаю заказ и завершаю оплату, это ответ, который я получаю из возвращенных данных
Array
(
[mc_gross] => 12.00
[protection_eligibility] => Ineligible
[address_status] => confirmed
[item_number1] => 2
[payer_id] => TRCLJTHLNCJ7Q
[tax] => 0.00
[address_street] => 1 Main St
[payment_date] => 20:15:44 Jan 01, 2012 PST
[payment_status] => Pending
[charset] => windows-1252
[address_zip] => 95131
[mc_shipping] => 10.00
[mc_handling] => 0.00
[first_name] => Test
он всегда находится на рассмотрении, когда все, что касается оплаты, завершено и сам обзор тестового счета показывает, что платеж был завершен.
, поэтому эта часть кода вообще не работает из-за "Ожидания"
if (!$fp) {
// HTTP ERROR
} else {
fputs ($fp, $header . $req);
while (!feof($fp)) {
$res = fgets ($fp, 1024);
if (strcmp ($res, "VERIFIED") == 0) {
if ($_POST['payment_status'] == 'Completed'
&& no_paypal_trans_id($_POST['txn_id'])
&& $paypal_email == $_POST['receiver_email']
&& $paypal_currency == $_POST['mc_currency']
&& payment_amount_correct($shipping, $_POST)
)
{
// process payment
create_order($_POST);
}
}
else if (strcmp ($res, "INVALID") == 0) {
// log for manual investigation
}
}
fclose ($fp);
}
есть идеи как это исправить? или почему это происходит в ответе PayPal?