Мне нужно сделать заказ, используя curl в WordPress WooCommerce. Я уже попробовал это, но это не работает. Моя ошибка
{"result":"failure","messages":" \n\t\t\t
We were unable to process your order, please try again.<\/li>\n\t<\/ul>\n","refresh":"true","reload":"false"}
Мой код указан ниже
$datas = "billing_country=IN&billing_first_name=renuka&billing_last_name=fg&billing_company=fsdfgdf&billing_address_1
=dsfdsfsd+fdfsdf&billing_address_2=fsdfsdfsdf&billing_city=madurai&billing_state=BR&billing_postcode
=6334535&billing_email=renuka%40osiztechnologies.com&billing_phone=2343546&shipping_country=IN&shipping_first_name
=renuka&shipping_last_name=fg&shipping_company=fsdfgdf&shipping_address_1=dsfdsfsd+fdfsdf&shipping_address_2
=fsdfsdfsdf&shipping_city=madurai&shipping_state=BR&shipping_postcode=6334535&order_comments=&shipping_method
%5B0%5D=free_shipping&payment_method=braintree&braintree-card-expiry-month=10&braintree-card-expiry-year
=2032&_wpnonce=a5dbf257ca&_wp_http_referer=%2Fprojects%2Ftutor%2Fwp-admin%2Fadmin-ajax.php";
$ch = curl_init('http://localhost/project/wp-admin/admin-ajax.php?action=woocommerce_checkout');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $datas);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
Взгляните на Создать заказ в WooCommerce REST API версия 2.
Для работы WEST API WooCommerce вы должны иметь Permalinks правильно включен, и вы должны генерировать ключ API с правами на запись для администратора.
Используя их пример, который я включил ниже, вы сможете создать заказ с помощью curl. Обратите внимание, что это зависит от HTTPS. Если вы используете HTTP, то вам нужно будет использовать OAuth1. Смотрите их объяснение OAuth1 Вот.
Я очень рекомендую использовать WooCommerce REST API клиент от Герхарда Потгитера, хотя вам придется немного изменить его для работы с v2 вместо v1. И вам придется изменить его, чтобы создать заказ, а не обновить.
curl -X POST https://example.com/wc-api/v2/orders \
-u consumer_key:consumer_secret \
-H "Content-Type: application/json" \
-d '{
"order": {
"payment_details": {
"method_id": "bacs",
"method_title": "Direct Bank Transfer",
"paid": true
},
"billing_address": {
"first_name": "John",
"last_name": "Doe",
"address_1": "969 Market",
"address_2": "",
"city": "San Francisco",
"state": "CA",
"postcode": "94103",
"country": "US",
"email": "[email protected]",
"phone": "(555) 555-5555"},
"shipping_address": {
"first_name": "John",
"last_name": "Doe",
"address_1": "969 Market",
"address_2": "",
"city": "San Francisco",
"state": "CA",
"postcode": "94103",
"country": "US"},
"customer_id": 2,
"line_items": [
{
"product_id": 546,
"quantity": 2
},
{
"product_id": 613,
"quantity": 1,
"variations": {
"pa_color": "Black"}
}
],
"shipping_lines": [
{
"method_id": "flat_rate",
"method_title": "Flat Rate",
"total": 10
}
]
}
}'
Других решений пока нет …