2013-03-02 3 views
-3

Я получаю «[L_LONGMESSAGE0] => OrderTotal (Amt): Обязательный параметр отсутствует» в ответе моего кода DoDirectPayment, хотя это поле имеет значение.PayPal Pro: «OrderTotal (Amt): Отсутствует необходимый параметр»

Это так с PayPal, но он хорошо работает с использованием того же кода с Sandbox Sandbox. Вот мой класс PayPal:

PayPal class

А вот мой DoDirectPayment код:

DoDirectPayment code

+0

Можете ли вы включить результаты запроса $? – Robert

+0

Вот он: Array ([TIMESTAMP] => 2013-03-02T00: 12: 38Z [CORRELATIONID] => 34588b295e39a [ACK] => Ошибка [VERSION] => 94.0 [BUILD] => 5294323 [L_ERRORCODE0] => 81100 [L_SHORTMESSAGE0] => Отсутствует параметр [L_LONGMESSAGE0] => OrderTotal (Amt): Отсутствует необходимый параметр [L_SEVERITYCODE0] => Ошибка) – drake035

+0

Это ответ, нам нужен необработанный запрос. – Robert

ответ

2

код выглядит хорошо, если предположить $_SESSION['total_price'] установлен. Но что-то определенно препятствует достижению значения AMT в PayPal. Вместо массивов вы можете выполнить обратную распечатку строк запроса $ request и $ response? Строки 21 и 34.

+0

Вы хотите видеть результаты print_f ($ request) и print_f ($ response) правильно? Я не уверен, как это сделать, потому что ошибка возникает только с реальным PayPal, поэтому я должен был бы сделать реальный платеж. Однако может случиться так, что ошибка не происходит систематически, и мой платеж обрабатывается успешно. Что вы мне посоветуете? – drake035

+1

Сделайте «реальную» плату без песочницы с поддельным номером кредитной карты - [getcreditcardnumbers.com] (http://www.getcreditcardnumbers.com) или «Просмотреть детали» на учетной записи покупателя в песочнице. Конечно, вы можете упасть, но это покажет, что AMT проходит правильно ... –

+0

Спасибо. Я заменил $ _SESSION ['total_price'] на '3' и используя ваш метод, я вижу, что AMT проходит правильно (AMT = 3 и ITEMAMT = 3 в $ request, [AMT] => 3,00 в $ response). Это будет означать, что существует проблема с $ _SESSION ['total_price']. Но если бы это было так, платежи должны были бы одинаково терпеть неудачу с помощью Sandbox Sandbox, не так ли? Тем не менее они работают с Sandbox. – drake035

Смежные вопросы