Limiting the auto-capture amount
How to enable the auto-capture option only for orders under a certain amount
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.
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.Request
Response
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"
}
}
}
Last modified 2mo ago