For the complete documentation index, see llms.txt. This page is also available as Markdown.

Limiting the auto-capture amount

How to enable the auto-capture option only for orders under a certain amount

Problem

You have enabled the auto-capture option for a payment method, but you still want to require a manual capture for orders with a total amount over a specified threshold.

Solution

To add such a constraint, send a PATCH request to the /api/payment_methods/:id endpoint, using the auto_capture_max_amount_cents attribute value to set the amount over which you want the auto-capture option to be disabled.

Example

The following request updates the payment method identified by the "hJGrTfdaEW " ID to automatically disable the auto capture for orders with a total amount over €2000:

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,
      "auto_capture_max_amount_cents": 200000
    }
  }
}'

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": "https://yourdomain.commercelayer.io/api/payment_methods/hJGrTfdaEW"
    },
    "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": 200000, 
      "auto_capture_max_amount_float": 2000.0, 
      "formatted_auto_capture_max_amount": "€2000,00",
      "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",
      "organization_id": "Qw2eRtYuIo",
      "trace_id": "5b8c1d4e7f0a3b6c9d2e5f8a1b4c7d0e3f6a9b2c5d8e1f4a7b0c3d6e9f2a5b8c1"
    }
  },
  "meta": {
    "mode": "test",
    "organization_id": "Qw2eRtYuIo",
    "trace_id": "5b8c1d4e7f0a3b6c9d2e5f8a1b4c7d0e3f6a9b2c5d8e1f4a7b0c3d6e9f2a5b8c1"
  }
}

More to read

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

Last updated