PayPal Authorize
Overview
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
Note: Valid JWT Token is required to make the API call.
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:
{
"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.