paxton-front/server/api/woo_orders_create.ts
alsaze 2e01f58e67
Some checks failed
Deploy / build (push) Has been cancelled
refactoring
2025-11-21 12:48:00 +03:00

34 lines
1.2 KiB
TypeScript

import type { WooOrderCreateRequest, WooOrderCreateResponse } from '#shared/woo_orders_create'
import axios from 'axios'
import { defineEventHandler, readBody } from 'h3'
export default defineEventHandler(async (event): Promise<WooOrderCreateResponse | { error: string }> => {
try {
const orderData = await readBody<WooOrderCreateRequest>(event)
const requestUrl = 'https://wp.koptilnya.xyz/wp-json/wc/v3/orders'
const consumerKey = 'ck_8b5477a1573ce6038ef1367f25d95cede1de4559'
const consumerSecret = 'cs_d0ccaa93e8efe4f76eef0b70c9828a58fc53459f'
const encodedAuth = Buffer.from(`${consumerKey}:${consumerSecret}`).toString('base64')
const response = await axios.post<WooOrderCreateResponse>(requestUrl, orderData, {
headers: {
'Authorization': `Basic ${encodedAuth}`,
'Content-Type': 'application/json',
},
})
return response.data
}
catch (error: any) {
console.error('Ошибка при создании заказа WooCommerce:', error)
return {
error: true,
message: error.response?.data?.message || 'Ошибка при создании заказа',
details: error.response?.data,
}
}
})