Enabling the auto-capture

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

Problem

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

Solution

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.

Example

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
    }
  }
}'
circle-info

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 documentationarrow-up-right).

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 documentationarrow-up-right).

Payment instruments support

Some gateways' payment instruments (e.g. AliPay and WeChat via Adyenarrow-up-right) 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

If auto-capture is enabled, it's not possible to void the created authorization, you need to refund the auto-generated capture. When you cancel an order, Commerce Layer will take care to create the appropriate transaction (void or refund, based on the auto-capture settings) for you.

More to read

See our documentation if you need more information on how to update a payment method.

Last updated