Как вставить больше элементов в массив PayPal - PullRequest
0 голосов
/ 03 апреля 2019

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

Значение приходит на эту страницу через "$paymentData['itemArray'] = json_decode($_REQUEST['itemArray'], true);"

Вышеуказанные значения вводятся правильно. Тем не менее, я не могу перебрать ключ "items". В настоящее время есть два значения по умолчанию "0" и "1", что означает два продукта.

Для ясности я опустил остаток кода PayPal.

Я пока не могу придумать решение.

'class CreateOrder{
private static function buildRequestBody($paymentData){ 

for($i = 0; $i < count($paymentData['itemArray']); $i++){
    return array(
        'purchase_units' =>
            array(
                0 =>
                    array(
                        'items' =>
                           array(
                                0 =>
                                    array(
                                        'name' => $paymentData['itemArray'][0]['title'],
                                        'unit_amount' =>
                                            array(
                                                'currency_code' => 'SGD',
                                                'value' => $paymentData['itemArray'][0]['price'],
                                            ),
                                        'quantity' => $paymentData['itemArray'][0]['quantity'],
                                        'description' => 'Size: '.$paymentData['itemArray'][0]['size'],
                                        'sku' => $paymentData['itemArray'][0]['sku'],
                                        'category' => 'PHYSICAL_GOODS',
                                    ),
                               1 =>
                                    array(
                                        'name' => 'Shoes',
                                        'unit_amount' =>
                                            array(
                                                'currency_code' => 'SGD',
                                                'value' => '45.00',
                                            ),
                                        'quantity' => '1',
                                        'description' => $paymentData['itemArray'][1]['size'],
                                        'sku' => 'sku02',
                                        'category' => 'PHYSICAL_GOODS',
                                    ),
                            ),
                    ),
            ),
    );

}
}

} '

'if (!count(debug_backtrace())){    
    $paymentData['itemArray'] = json_decode($_REQUEST['itemArray'], true);

    CreateOrder::createOrder($paymentData,false);
}'

Пример значений, которые я отправил на $paymentData['itemArray']:

itemArray: [{
"title":"Pear Green Maheswari Cotton Sari",
"size":"XXL",
"price":"100.00",
"quantity":1,
"sku":"A1WHTLAR"},
{
"title":"Kanchipuram Pattu Saree",
"size":"30",
"price":"45.00",
"quantity":1,
"sku":"LONESKU"}]

Как вы можете видеть выше, два значения продукта отправляются и принимаются по сценарию PayPal. Мне нужен массив возврата PayPal ("items") для создания двух вышеупомянутых продуктов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...