Gutscheine mit WooCommerce Rest API anwenden

Lesezeit: 2 Minuten

Benutzeravatar von SatheeshCK17
SatheeshCK17

Ich entwickle eine Anwendung mit WooCommerce Rest API v3. Jetzt versuche ich, Gutscheine von meiner WooCommerce-Website in meine Anwendung zu integrieren. Ich erstelle Bestellungen und wende Coupons wie diesen an

"coupon_lines":[{
    'code'=>'coupon1',
    'amount'=>'1.00'
}]

Ich habe ein Nutzungslimit pro Benutzer auf der Woocommerce-Website festgelegt.

Wenn ich direkt auf der Website bestellt habe, werden die Nutzungsbeschränkungen korrekt angewendet. dh ein Benutzer kann einen Gutschein nicht verwenden, wenn ein Limit erreicht ist. Aber wenn ich eine Bestellung über die REST-API mache, werden die Einschränkungen nicht angewendet.

Außerdem habe ich eine Antwort von einem anderen Forum erhalten, die besagt, dass die Funktion zum Anwenden von Gutscheinen noch nicht über die Rest-API verfügbar ist. Aber beim Durchsehen des Codes von create_order API-Endpunkt habe ich festgestellt, dass dort der Webhook zum Anwenden des Gutscheins aufgerufen wird.

 do_action( 'woocommerce_order_add_coupon', $this->id, $item_id, $code, $discount_amount, $discount_amount_tax ); 

in add_coupon(). Aber die habe ich nicht gefunden add_action('woocommerce_order_add_coupon',...) . Kann mir jemand sagen, wo ich diese Aktionsdefinition schreiben soll, damit sie beim Aktualisieren von WooCommerce nicht überschrieben wird?

  • Ich habe eine Antwort von einem anderen Forum erhalten, die besagt, dass die Funktion zum Anwenden von Gutscheinen noch nicht über die Rest-API verfügbar ist. Aber als ich den Code des API-Endpunkts „create_order“ durchgesehen habe, habe ich festgestellt, dass der Webhook zum Anwenden von Gutscheinen dort aufgerufen wird. do_action( ‘woocommerce_order_add_coupon’, $this->id, $item_id, $code, $discount_amount, $discount_amount_tax ); in add_coupon(). Aber ich habe die add_action(‘woocommerce_order_add_coupon’,…) nicht gefunden. Kann mir jemand sagen, wo ich diese Aktionsdefinition schreiben soll, damit sie beim Aktualisieren von Woocommerce nicht überschrieben wird.

    – SatheeshCK17

    10. April 2016 um 4:45 Uhr


  • Schreiben Sie es in eine separate Plugin-Datei.

    – Jack Robson

    30. August 2018 um 18:42 Uhr

Sie müssen “coupon_lines” zu Ihrem Bestellobjekt hinzufügen, wie hier angegeben. Jede Bestellung sollte ein “coupon_lines”-Array haben, das “id”, “code”, “amount” für den gewünschten Gutschein enthält.

https://woocommerce.github.io/woocommerce-rest-api-docs/v3.html#view-customer-orders

'coupon_lines' => [
    [
        'id' => 55,
        'code' => free50,
        'amount' => '10.75',
    ]
]

Können Sie bitte die Coupons-ID und nach der Überprüfung hinzufügen?

"coupon_lines":[{
        'id' => '',
        'code'=>'coupon1',
        'amount'=>'1.00'
}]

1403230cookie-checkGutscheine mit WooCommerce Rest API anwenden

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy