Установил плагин для создания кошелька и встала задача модернизировать его.
Все работает хорошо, но можно ли как то сделать добавления счета на оплату из вне?
То есть например, из 1С базы клиентов идет запрос на сайт и через файл добавляет счет на оплату, далее клиент заходит на страницу и просто жмет оплатить.
Я нашел пример того, как сделать добавление заказа, то есть счета на оплату. Выглядит он так:
$address = array(
'first_name' => 'Альберт',
'last_name' => 'Ушаков',
'company' => 'Speed Society',
'email' => 'qwerty123456789@gmail.com',
'phone' => '760-555-1212',
'address_1' => '123 Main st.',
'address_2' => '104',
'city' => 'San Diego',
'state' => 'Ca',
'postcode' => '92121',
'country' => 'RU'
);
$order_args = array(
'customer_id' => get_current_user_id(), // id пользователя который сделал заказ
);
$order = wc_create_order($order_args);
print_r(get_product('4534'));
$order->add_product( get_product('4534'), 1); // This is an existing SIMPLE product
$order->set_total( 100.00 ); //Думал так заработает, но нет, не обновляет
$order->set_address( $address, 'billing' );
$order->calculate_totals();
$order->update_status("Pending Payment", 'Imported order', TRUE);
Он добавляет заказ, но вышла проблема. На товаре по умолчанию цена 0. Как же задать ей через код другую?
Когда через плагин пополняешь счет, там вводишь сумму пополнения и оплачиваешь. Как же сделать подобное здесь?
Подскажите пожалуйста(
Есть другой пример, но в нем вылезает ошибка. То есть вот эти строки не работают:
$shipping = new stdClass();
$shipping->label = 'Code pay';
$shipping->id = 'code_pay';
$shipping->cost = 100.00;
$shipping->taxes = array();
$order->add_shipping($shipping);