# PayPal Authorize

Use this API to authorize a payment that you can capture later. For example, you might have a delayed shipment for which you do not want to collect funds right away.

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. You can capture less than, or the full original authorized amount. You can also capture up to 115% of, or $75 USD more than the original authorized amount, whichever is less.

## Prerequisites

* This step is required only if the transaction was created with the intent of **AUTHORIZE**
* The buyer must first approve the transaction to authorize successfully

{% hint style="info" %}
Valid JWT Token is required to make the API call.
{% endhint %}

## Required fields

There are no required fields for the Authorize API.

## Optional fields

* agreementId - Billing Agreement id. Used for reference transaction only.

### Request

To authorize, you need to make a make a POST request to */transactions/{id}/authorize* with empty body.

```
POST /transactions/:id/authorize
```

### Response

The response for the authorized transaction payment will look like this:

```json
{
  "id": "317a86c7-0fbe-43eb-aac3-dc24cb699e7c",
  "authorizationId": "DYA5B8XDVJZ12",
  "status": "AUTHORISED",
  "createdAt": "2020-07-10T21:20:49Z",
  "expiresAt": "2020-07-11T21:20:49Z",
  "payer": {
    "payerId": "QYR5Z8XDVJNXQ",
    "shippingAddress": {
      "addressLine1": "2211 N First Street",
      "addressLine2": "Building 17",
      "postalCode": "95131",
      "country": "US",
      "city": "CA"
    }
  }
}
```

* id - The transaction ID
* authorizationId - The authorization ID from PayPal
* status - The current status of the transaction
* createdAt - The date and time when the transaction authorization was created
* expiresAt - The date and time when the transaction authorization will expire
* payer - The customer object having the payerId of the customer from PayPal and the shipping address of the customer. The shipping address, if not passed in the create transaction, would be taken from the customer PayPal account.

The transaction status would be **AUTHORIZED** after this step.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.verifone.com/online-payments/advanced-payment-methods-apms/paypal/your-first-transaction-with-paypal/paypal-authorize.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
