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 \
'' \
-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
On success, the API responds with a 200 OK status code, returning the updated payment method object:
"data": {
"id": "hJGrTfdaEW",
"type": "payment_methods",
"links": {
"self": ""
"attributes": {
"payment_source_type": "paypal_payments",
"name": "Paypal Payment",
"currency_code": "EUR",
"moto": false,
"require_capture": true,
"auto_capture": true,
"disabled_at": null,
"price_amount_cents": 0,
"price_amount_float": 0.0,
"formatted_price_amount": "€0,00",
"auto_capture_max_amount_cents": null,
"auto_capture_max_amount_float": null,
"formatted_auto_capture_max_amount": null,
"created_at": "2018-01-01T12:00:00.000Z",
"updated_at": "2018-01-01T12:00:00.000Z",
"reference": null,
"reference_origin": null,
"metadata": {}
"relationships": {
"meta": {
"mode": "test"
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

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.