Enabling the auto-capture

How to enable the auto-capture option for a selected payment method


You want to enable the auto capture option for a payment method, in order to automatically settle the payment upon authorization.


To enable the auto-capture option you need to send a PATCH request to the /api/payment_method/:id endpoint, setting the auto_capture attribute to true.


The following request updates the payment method identified by the "hJGrTfdaEW " ID to enable the auto-capture:

curl -g -X PATCH \
  'http://yourdomain.commercelayer.io/api/payment_methods/hJGrTfdaEW' \
  -H 'Accept: application/vnd.api+json' \
  -H 'Authorization: Bearer your-access-token' \
  -H 'Content-Type: application/vnd.api+json' \
  -d '{
  "data": {
    "type": "payment_methods",
    "id": "hJGrTfdaEW",
    "attributes": {
      "auto_capture": true

When the auto-capture is enabled, only the authorization is handled by the payment gateway's APIs. If the authorization succeeds, a successful capture is automatically generated by Commerce Layer and the order is marked as paid.

Additional notes

Gateways support

Some payment gateways (e.g. Axerve) don't automatically inherit the auto-capture option from the payment method. In such cases, you need to explicitly act on the gateway's dashboard settings if you want to enable the auto-capture option (about that, please refer to Axerve documentation).

For some payment gateways (e.g. Adyen) the settings configured on their dashboards overwrite the auto-capture option enabled by the payment method. In such cases, you need to align the gateway internal settings accordingly (about that, please refer to Adyen official documentation).

Payment instruments support

Some gateways' payment instruments (e.g. AliPay and WeChat via Adyen) don't support the separation of authorization and capture. In such cases, the capture is automatically generated upon authorization, no matter if the auto_capture attribute of the payment method is set to false.

Order cancellation

More to read

Last updated