Authorize and capture a payment

Important: This integration method is deprecated as of January 1, 2017. PayPal continues to support existing merchants using this method, but please be advised new features and enhancements will not be applied to these integrations. For new integrations, see the PayPal Checkout Integration Guide.

You complete an authorization and capture payment action in two steps. First the funds are authorized from the buyer's PayPal account when a buyer places an order on your website. Later, when you are ready to ship the purchased items, you make another API call to capture the funds, or you can manually capture the payment using your PayPal account user interface.

How authorization and capture works:

  • An authorization places a hold on the funds and is valid for 29 days.
  • After a successful authorization, PayPal recommends that you capture the funds within the three-day honor period.
  • Success of the capture is subject to risk and availability of funds on the authorized funding instrument.
  • Within the 29-day authorization period, you can issue multiple re-authorizations after the honor period expires. A re-authorization generates a new Authorization ID and restarts the honor period and any subsequent capture should be performed on the new Authorization ID. If you do a re-authorization on the 27th day of the authorization, you get only two days of honor period.
  • You can capture less than the original authorization, full authorization amount or even more than the authorization amount (up to 115% of the original authorization or $75 USD more, whichever is less).
  • You can also do partial captures during a single authorization period. This feature has to be enabled on your PayPal account and is subject to approval.
  • Use the authorization and capture model for payment when you have delayed shipments and do not wish to capture the funds right away.

Required code changes for authorization and capture

To implement authorization and capture, make these changes to the basic Express Checkout integration:

  • To authorize the payment, set PAYMENTREQUEST_0_PAYMENTACTION=Authorization in the SetExpressCheckout and DoExpressCheckoutPayment calls. After a successful DoExpressCheckoutPayment request, you receive the Authorization ID in the response. Use the Authorization ID in subsequent DoCapture API calls.
  • To capture the payment, issue a DoCapture request using the returned Authorization ID. For detailed reference information, see DoCapture API Operation (NVP).

Voids and refunds for authorization and capture transactions

To void an authorization, see doVoid API Operation (NVP).

To refund a captured transaction, see RefundTransaction API Operation (NVP).

Additional information


Your Express Checkout Authorization and Capture payment is complete. Next, test your integration.