Drupal is a registered trademark of Dries Buytaert
drupal 11.3.7 Update released for Drupal core (11.3.7)! drupal 11.2.11 Update released for Drupal core (11.2.11)! drupal 10.6.7 Update released for Drupal core (10.6.7)! drupal 10.5.9 Update released for Drupal core (10.5.9)! cms 2.1.1 Update released for Drupal core (2.1.1)! drupal 11.3.6 Update released for Drupal core (11.3.6)! drupal 10.6.6 Update released for Drupal core (10.6.6)! cms 2.1.0 Update released for Drupal core (2.1.0)! bootstrap 8.x-3.40 Minor update available for theme bootstrap (8.x-3.40). menu_link_attributes 8.x-1.7 Minor update available for module menu_link_attributes (8.x-1.7). eca 3.1.1 Minor update available for module eca (3.1.1). layout_paragraphs 2.1.3 Minor update available for module layout_paragraphs (2.1.3). ai 1.3.3 Minor update available for module ai (1.3.3). ai 1.2.14 Minor update available for module ai (1.2.14). node_revision_delete 2.0.3 Minor update available for module node_revision_delete (2.0.3). moderated_content_bulk_publish 2.0.52 Minor update available for module moderated_content_bulk_publish (2.0.52). klaro 3.0.10 Minor update available for module klaro (3.0.10). klaro 3.0.9 Minor update available for module klaro (3.0.9). layout_paragraphs 2.1.2 Minor update available for module layout_paragraphs (2.1.2). geofield_map 11.1.8 Minor update available for module geofield_map (11.1.8).

The modules provides REST endpoints for decoupled Commerce experience:

  • Remote orders creation (alongside with user / profile / order items)
  • Remote payment creation / initialization (and capturing if needed)
  • Remote payment capturing / finalization (if was not captured before)

REST API

1. Create a new order (with potential to submit payment as well)
POST /commerce/order/create
Payload documentation

2. Create a new payment for the order (with potential to capture it as well)
POST /commerce/payment/create/{order_id}
Payload documentation

3. Capture the existing payment (if it was not captured before).
POST /commerce/payment/capture/{order_id}/{payment_id}
No payload.

4. Void the existing payment (if it was not captured before).
POST /commerce/payment/void/{order_id}/{payment_id}
No payload.

Payment Gateway integrations

The module was tested / proven to be working with:

Known issues:

  • Currently frontend can override order item price. Need a better way of allowing / disallowing this override.
  • Theoretically payment endpoints can be bruteforced and payments can be initialized / completed on behalf of other people. Needs some sort of tokenization to make sure that only user who created the order can pay for it (not sure how viable this is though).

Activity

Total releases
3
First release
Dec 2024
Latest release
3 months ago
Release cadence
195 days
Stability
100% stable

Release Timeline

Releases

Version Type Release date
8.x-1.7 Stable Jan 6, 2026
8.x-1.6 Stable Jan 6, 2026
8.x-1.5 Stable Dec 13, 2024