Invoice Payments
The invoice payment object
Attribute | Type | Description |
---|---|---|
id |
integer | Unique ID for the payment. |
amount |
decimal | The amount of the payment. |
paid_at |
datetime | Date and time the payment was made. |
paid_date |
date | Date the payment was made. |
recorded_by |
string | The name of the person who recorded the payment. |
recorded_by_email |
string | The email of the person who recorded the payment. |
notes |
string | Any notes associated with the payment. |
transaction_id |
string | Either the card authorization or PayPal transaction ID. |
payment_gateway |
object | The payment gateway id and name used to process the payment. |
created_at |
datetime | Date and time the payment was recorded. |
updated_at |
datetime | Date and time the payment was last updated. |
Required permissions
You must be an Administrator or Manager with permission to create and edit invoices in order to interact with the /v2/invoices/{INVOICE_ID}/payments
endpoint. Insufficient permissions will result in a 403 Forbidden
status code.
List all payments for an invoice
Returns a list of payments associate with a given invoice. The payments are returned sorted by creation date, with the most recently created payments appearing first.
The response contains an object with an invoice_payments
property that contains an array of up to per_page
payments. Each entry in the array is a separate payment object. If no more payments are available, the resulting array will be empty. Several additional pagination properties are included in the response to simplify paginating your payments.
GET /v2/invoices/{INVOICE_ID}/payments
Parameter | Type | Description |
---|---|---|
updated_since |
datetime | Only return invoice payments that have been updated since the given date and time. |
page |
integer | DEPRECATED The page number to use in pagination. For instance, if you make a list request and receive 2000 records, your subsequent call can include page=2 to retrieve the next page of the list. (Default: 1) |
per_page |
integer | The number of records to return per page. Can range between 1 and 2000. (Default: 2000) |
page
parameter.
For more information, visit the pagination guide.
Example Request:
curl "https://api.harvestapp.com/v2/invoices/13150378/payments" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Harvest-Account-Id: $ACCOUNT_ID" \
-H "User-Agent: MyApp ([email protected])"
Example Response:
Create an invoice payment
Creates a new invoice payment object. Returns an invoice payment object and a 201 Created
response code if the call succeeded.
POST /v2/invoices/{INVOICE_ID}/payments
Parameter | Type | Required | Description |
---|---|---|---|
amount |
decimal | required | The amount of the payment. |
paid_at |
datetime | optional | Date and time the payment was made. Pass either paid_at or paid_date , but not both. |
paid_date |
date | optional | Date the payment was made. Pass either paid_at or paid_date , but not both. |
notes |
string | optional | Any notes to be associated with the payment. |
send_thank_you |
boolean | optional | Whether or not to send a thank you email (if enabled for your account in Invoices > Configure > Messages). Only sends an email if the invoice will be fully paid after creating this payment. Defaults to true . |
Example Request:
curl "https://api.harvestapp.com/v2/invoices/13150378/payments" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Harvest-Account-Id: $ACCOUNT_ID" \
-H "User-Agent: MyApp ([email protected])" \
-X POST \
-H "Content-Type: application/json" \
-d '{"amount":1575.86,"paid_at":"2017-07-24T13:32:18Z","notes":"Paid by phone"}'
Example Response:
Delete an invoice payment
Delete an invoice payment. Returns a 200 OK
response code if the call succeeded.
DELETE /v2/invoices/{INVOICE_ID}/payments/{PAYMENT_ID}
Example Request:
curl "https://api.harvestapp.com/v2/invoices/13150378/payments/10336386" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Harvest-Account-Id: $ACCOUNT_ID" \
-H "User-Agent: MyApp ([email protected])" \
-X DELETE