On this page
No Headings
Last updated: June 4, 2026
Capturing a payment moves funds from the buyer's account to your merchant account and completes the transaction. You can capture the full authorized amount or partial amounts based on your business needs.
Choose the capture approach that matches your fulfillment workflow:
Important: Klarna authorizations expire after 28 days. Capture payments before expiration to avoid authorization failures. Monitor expiration dates and use reauthorization if needed.
Use a valid access token and send a POST request to /v2/payments/authorizations/{authorization_id}/capture to capture the full authorized amount. You can either send an empty request body or set final_capture to true to indicate this is the final capture for the authorization.
After capture completes, you'll receive a PAYMENT.CAPTURE.COMPLETED webhook notification with capture details and transaction information.
curl -X POST https://api.sandbox.paypal.com/v2/payments/authorizations/9RN122029T021534A/capture \
-H "Content-Type: application/json" \
-H "PayPal-Request-Id: YOUR-PAYPAL-REQUEST-ID" \
-H "Authorization: Bearer ACCESS-TOKEN" \
-H "PayPal-Partner-Attribution-Id: BN-CODE" \
--d '{}'Use a valid access token and send a POST request to /v2/payments/authorizations/{authorization_id}/capture to capture a portion of the authorized amount. Set final_capture to false to allow additional captures from the same authorization.
Note: The total of all captures cannot exceed the original authorization amount. Track capture amounts to avoid exceeding authorization limits.
curl -X POST https://api.sandbox.paypal.com/v2/payments/authorizations/6A8715427W114745J/capture \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H "PayPal-Request-Id: <UNIQUE_REQUEST_ID>" \
-d '{
"amount": {
"value": "10.00",
"currency_code": "USD"
},
"invoice_id": "ARG0-1761283036",
"final_capture": false
}'