Skip to main content
Drupal is a registered trademark of Dries Buytaert
Release: OpenID Connect / OAuth client 3.0.0-alpha9 New alpha version released for module openid_connect (3.0.0-alpha9). Usage Milestone: Google Analytics Module google_analytics crossed 1,000 active installs. Release: Timelinr 1.0.1 Minor update available for module timelinr (1.0.1). Release: GraphQL Compose Codegen 1.1.2 Minor update available for module graphql_compose_codegen (1.1.2). Release: Mapy.com 1.1.3 Minor update available for module mapycom (1.1.3). Release: Ckeditor5 entity browser 3.0.3 Minor update available for module ckeditor5_entity_browser (3.0.3). Release: Ckeditor5 entity browser 3.0.1 Minor update available for module ckeditor5_entity_browser (3.0.1). Release: Ckeditor5 entity browser 3.0.2 Minor update available for module ckeditor5_entity_browser (3.0.2). Release: Teamleader Integration 4.0.2 Minor update available for module teamleader (4.0.2). Module Revived: Entityqueue Buttons 1.1.2 Module entityqueue_buttons updated after 8 months of inactivity (1.1.2).

This module provides REST endpoints for decoupled Drupal Commerce checkout experiences. It allows for the creation of orders, payments, and the management of payment capturing and finalization through an API.

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).

Depends on

Dependencies of the latest stable release

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
3
Tracked since
Dec 2024
Latest release
7 months ago
Releases (12 mo)
2 ▲ from 1
Maintenance
Active

Release Timeline

Releases

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