WooCommerce REST API v3 удаленный заказ и оплата и отправка всех данных в WP - PullRequest
0 голосов
/ 27 мая 2020

Я начал создавать программу, в которой мы можем просматривать товары по категориям. Добавьте товары в нашу корзину (в мессенджере) и обновите корзину и т. Д. c.

У нас уже есть Stripe / PayPal, подключенные к нашему приложению, и мы хотели бы обрабатывать все на нашей стороне в приложении. Затем, когда заказ будет выполнен, отправьте весь заказ в виде массива данных в WP.

Несколько вопросов, так как я застрял.

Я бы использовал эту часть из документации API : https://woocommerce.github.io/woocommerce-rest-api-docs/?php#create -an-order

<?php
$data = [
    'payment_method' => 'bacs',
    'payment_method_title' => 'Direct Bank Transfer',
    'set_paid' => true,
    'billing' => [
        'first_name' => 'John',
        'last_name' => 'Doe',
        'address_1' => '969 Market',
        'address_2' => '',
        'city' => 'San Francisco',
        'state' => 'CA',
        'postcode' => '94103',
        'country' => 'US',
        'email' => 'john.doe@example.com',
        'phone' => '(555) 555-5555'
    ],
    'shipping' => [
        'first_name' => 'John',
        'last_name' => 'Doe',
        'address_1' => '969 Market',
        'address_2' => '',
        'city' => 'San Francisco',
        'state' => 'CA',
        'postcode' => '94103',
        'country' => 'US'
    ],
    'line_items' => [
        [
            'product_id' => 93,
            'quantity' => 2
        ],
        [
            'product_id' => 22,
            'variation_id' => 23,
            'quantity' => 1
        ]
    ],
    'shipping_lines' => [
        [
            'method_id' => 'flat_rate',
            'method_title' => 'Flat Rate',
            'total' => 10
        ]
    ]
];

print_r($woocommerce->post('orders', $data));

Однако у меня есть некоторые проблемы с этим. Я еще не тестировал его, потому что мы используем его в реальном магазине, но я хотел бы знать кое-что, о чем нигде не упоминается. За исключением случаев использования сторонних плагинов, которые нам не нужны. Мы хотим использовать только собственный, чистый плагин WooCommerce.

• Можно ли использовать способ оплаты в качестве справочного материала, даже если он не существует в самом WP? Итак, если мы используем Stripe для создания и оплаты заказа в мессенджере, даже если сама Stripe не используется в нашем магазине, можем ли мы использовать sh это как ссылку на платеж в массиве $ data здесь:

'payment_method' => 'stripe',
'payment_method_title' => 'Offsite Payment Method',

Я читал, что вам нужно сначала создать заказ, если вы хотите получить токен платежа, а затем обновить статус после оплаты, но поскольку мы выполняем все заказы и обработку платежей вне офиса (используя только Каталог WooCommerce) и хочу снимать по порядку после успешного процесса заказа вне WP, я немного озадачен.

Можно найти много информации об отсутствующих функциях корзины, если вы не используете что-то вроде cocart , чего мы не хотим, так как мы не можем просить клиентов установить еще один, чтобы иметь возможность использовать наш инструмент.

Кто-нибудь сталкивался с подобным вариантом использования?

1 Ответ

0 голосов
/ 01 июня 2020

Можно ли использовать способ оплаты в качестве справочного, даже если он не существует в самом WP?

Да, это в основном строки, которые вы можете передавать любые данные, которые строкового типа не имеет значения, существует он в wp или нет

И, как вы сказали, «вам нужно сначала создать заказ, если вы хотите получить токен платежа, а затем обновить статус после оплаты "

Это правда, сначала вам нужно создать заказ ..

Почему?

Потому что в большинстве платежных шлюзов будет поле называется orderId, чтобы связать идентификатор заказа с этой транзакцией и чтобы все было в чистоте, оно используется ... Таким образом, вам нужно сначала создать заказ, когда вы создаете заказ, вам нужно установить статус ожидания. Затем вы получите orderId, который перенаправит пользователя на платежный шлюз. Как только пользователь вернется, обновите статус заказа до «Обработка» в случае успеха или неудачи в случае неудачи

...