2013-04-18 4 views
2

В настоящее время я пытаюсь использовать API-интерфейс PHP PayPal REST. Однако кажется, что я не могу передать список элементов через транзакцию, потому что «требуемое поле (поля) отсутствует».Обязательное поле отсутствует. PHP API-интерфейс Paypal

$item = new Item(); 
$item->setQuantity("1"); 
$item->setName("stuff"); 
$item->setPrice("305.00"); 
$item->setCurrency("USD"); 

$amount = new Amount(); 
$amount->setCurrency("USD"); 
$amount->setTotal("305.00"); 

$item_list = new ItemList(); 
$item_list->setItems(array($item)); 

$transaction = new Transaction(); 
$transaction->setAmount($amount); 
$transaction->setDescription("This is incredibly awesome."); 
$transaction->setItem_list($item_list); 

Я заполнил все поля, документация Paypal крута как «обязательный» в соответствии с «Common Objects» в документации (https://developer.paypal.com/webapps/developer/docs/api/#common-objects). Но я бросал эту ошибку, когда я пытаюсь перенаправить на Paypal, чтобы начать транзакцию:

Исключения: Got код ответа HTTP 400 при обращении к https://api.sandbox.paypal.com/v1/payments/payment. string (269) "{" name ":" VALIDATION_ERROR "," details ": [{" field ":" transaction [0] .item_list.items [0] .sku "," issue ":" Обязательный поле отсутствует "}]," сообщение ":" Неверный запрос - см детали " "information_link":" https://developer.paypal.com/docs/api/#VALIDATION_ERROR " "debug_id": "9e292fc3a312d"}"

Когда я закомментировать $ transaction-> setItem_list ($ item_list); он работает правильно. Таким образом, очевидно, что что-то отсутствует в списке элементов или в элементе. Но я не понимаю, что.

Любые идеи?

ответ

4

точка ошибки вы к этому:

transactions[0].item_list.items[0].sku 

Это подается как представляется, требует я думаю, что просто нужно положить SKU в массиве элемента, так что давайте делать это: пытаются добавить:

$item->setSKU("CODEHERE"); 

после

$item->setCurrency("USD"); 
+0

Не могу поверить, что я забыл об этом. Благодарю. – Sefam

+1

приветствую чувака – Fabio

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