我开始创建一个程序,在其中我们可以按类别浏览产品。将商品添加到我们的购物车(在Messenger中)并更新购物车等。
我们已经将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' => '[email protected]',
'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在Messenger中创建订单并为订单付款,我们仍然可以将其作为付款参考在$ data数组中推送:
'payment_method' => 'stripe',
'payment_method_title' => 'Offsite Payment Method',
我读过,如果要获取付款令牌,通常需要先创建订单,然后在付款后更新状态,但是由于我们是在场外进行整个订购和付款处理(仅利用WooCommerce目录),并且想要在WP之外成功完成订购过程后按订单进行拍摄,我有点困惑。
有很多关于缺少购物车功能的信息,除非您使用像cocart之类的东西,否则我们不希望这样做,因为我们不能要求客户都安装其他产品才能使用我们的工具。
有人遇到过类似的用例吗?
即使WP本身不存在,也可以使用付款方式作为参考吗?
是的,它们基本上是字符串,您可以传递字符串类型的任何数据,不管它是否存在于wp中
并且您说过“如果要获取付款令牌,通常需要先创建订单,然后在付款后更新状态”
这是真的,首先您需要创建订单..
为什么?
因为在大多数付款网关中,都会有一个名为orderId的字段来将订单ID与该交易绑定在一起,并保持其使用的整洁……因此,在创建需要设置的订单时,您需要先创建订单状态为待处理。然后您将获得orderId,现在将用户重定向到支付网关。一旦用户再次返回,则将订单状态更新为处理成功或失败;