Get invoice by id
Returns a single merchant-scoped invoice by its TypeID, including invoice number, line items, and computed totals.
curl --request GET \
--url https://api-sandbox.paygood.co/invoices/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api-sandbox.paygood.co/invoices/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api-sandbox.paygood.co/invoices/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api-sandbox.paygood.co/invoices/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api-sandbox.paygood.co/invoices/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api-sandbox.paygood.co/invoices/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-sandbox.paygood.co/invoices/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"invoiceId": "<string>",
"invoiceNumber": "<string>",
"invoiceUrlSlug": "<string>",
"idempotencyKey": "<string>",
"merchantId": "<string>",
"customerId": "<string>",
"currentRevisionNumber": 4503599627370495,
"status": "draft",
"currency": "<string>",
"lineItems": [
{
"kind": "product_charge",
"productId": "<string>",
"description": "<string>",
"quantity": 4503599627370495,
"unitAmount": 4503599627370495,
"lineTotal": 0,
"priceId": "<string>"
}
],
"productTotal": {
"amount": 4503599627370495,
"currency": "<string>"
},
"total": {
"amount": 4503599627370495,
"currency": "<string>"
},
"amountPaid": {
"amount": 4503599627370495,
"currency": "<string>"
},
"amountRemaining": {
"amount": 4503599627370495,
"currency": "<string>"
},
"acceptedPaymentMethods": [
"card"
],
"additionalNotificationEmails": [
"jsmith@example.com"
],
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"dueDate": "2023-11-07T05:31:56Z",
"paidAt": "2023-11-07T05:31:56Z",
"notes": "<string>",
"metadata": {}
}Authorizations
Merchant API key bearer token.
Path Parameters
Invoice TypeID (inv_...) to fetch.
"inv_01hxy8m1nqk9g3x3y3p0azq2va"
Query Parameters
Merchant TypeID (mer_...) used for authorization scope.
"mer_01hxy8m1nqk9g3x3y3p0azq2bg"
Response
Invoice found.
1Secret pay-link token. Anyone holding this value can view and pay the invoice anonymously, so treat it like a credential: safe to send to the customer, never safe to log or expose publicly. Unguessable and unrelated to invoiceId, so it can be rotated without changing the invoice.
110 < x <= 9007199254740991draft, issued, partially_paid, paid, void Supported currency code (USD, CAD)
3- Option 1
- Option 2
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Sum of applied payment allocations, both processed and out-of-band.
Show child attributes
Show child attributes
Computed as total minus amountPaid. Zero when the invoice is fully paid.
Show child attributes
Show child attributes
Which payment method types checkout may offer for this invoice.
card, bank_account ^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$Show child attributes
Show child attributes
curl --request GET \
--url https://api-sandbox.paygood.co/invoices/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api-sandbox.paygood.co/invoices/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api-sandbox.paygood.co/invoices/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api-sandbox.paygood.co/invoices/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api-sandbox.paygood.co/invoices/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api-sandbox.paygood.co/invoices/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-sandbox.paygood.co/invoices/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"invoiceId": "<string>",
"invoiceNumber": "<string>",
"invoiceUrlSlug": "<string>",
"idempotencyKey": "<string>",
"merchantId": "<string>",
"customerId": "<string>",
"currentRevisionNumber": 4503599627370495,
"status": "draft",
"currency": "<string>",
"lineItems": [
{
"kind": "product_charge",
"productId": "<string>",
"description": "<string>",
"quantity": 4503599627370495,
"unitAmount": 4503599627370495,
"lineTotal": 0,
"priceId": "<string>"
}
],
"productTotal": {
"amount": 4503599627370495,
"currency": "<string>"
},
"total": {
"amount": 4503599627370495,
"currency": "<string>"
},
"amountPaid": {
"amount": 4503599627370495,
"currency": "<string>"
},
"amountRemaining": {
"amount": 4503599627370495,
"currency": "<string>"
},
"acceptedPaymentMethods": [
"card"
],
"additionalNotificationEmails": [
"jsmith@example.com"
],
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"dueDate": "2023-11-07T05:31:56Z",
"paidAt": "2023-11-07T05:31:56Z",
"notes": "<string>",
"metadata": {}
}