cURL
curl -X POST "$EXSITED_BASE_URL/api/v4/payments" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"payment": {
"date": "2026-10-01",
"payment_note": "October invoice",
"payment_applied": [
{
"processor": "Cash",
"amount": "10.00",
"reference": "RCPT-1001"
}
],
"invoices": [
{
"id": "INV-0001",
"applied": "10.00"
}
]
}
}'from exsited import build_client
client = build_client()
response = client.payments.create_payment(
{
"payment": {
"date": "2026-10-01",
"payment_note": "October invoice",
"payment_applied": [
{"processor": "Cash", "amount": "10.00", "reference": "RCPT-1001"}
],
"invoices": [{"id": "INV-0001", "applied": "10.00"}],
}
}
)
print(response.data)
import {buildClient} from 'exsited';
const client = await buildClient();
const response = await client.payments.createPayment({
payment: {
date: '2026-10-01',
payment_note: 'October invoice',
payment_applied: [{processor: 'Cash', amount: '10.00', reference: 'RCPT-1001'}],
invoices: [{id: 'INV-0001', applied: '10.00'}],
},
});
console.log(response.data);
use Exsited\Client\ClientRegistry;
$client = ClientRegistry::buildClient();
$response = $client->payments->createPayment([
'payment' => [
'date' => '2026-10-01',
'payment_note' => 'October invoice',
'payment_applied' => [
['processor' => 'Cash', 'amount' => '10.00', 'reference' => 'RCPT-1001'],
],
'invoices' => [['id' => 'INV-0001', 'applied' => '10.00']],
],
]);
print_r($response->data);
import com.exsited.client.ApiResponse;
import com.exsited.client.ClientRegistry;
import com.exsited.client.ExsitedClient;
import com.exsited.resources.payments.payments_dto.PaymentsDto.PaymentRead;
import java.util.List;
import java.util.Map;
ExsitedClient client = ClientRegistry.buildClient();
ApiResponse<PaymentRead> response = client.payments().createPayment(
Map.of(
"payment", Map.of(
"date", "2026-10-01",
"payment_note", "October invoice",
"payment_applied", List.of(
Map.of(
"processor", "Cash",
"amount", "10.00",
"reference", "RCPT-1001")),
"invoices", List.of(Map.of("id", "INV-0001", "applied", "10.00")))));
System.out.println(response.getMap());
using Exsited.Client;
await using var client = ExsitedClient.BuildClient();
var response = await client.Payments.CreatePaymentAsync(new Dictionary<string, object?>
{
["payment"] = new Dictionary<string, object?>
{
["date"] = "2026-10-01",
["payment_note"] = "October invoice",
["payment_applied"] = new List<object?>
{
new Dictionary<string, object?>
{
["processor"] = "Cash",
["amount"] = "10.00",
["reference"] = "RCPT-1001",
},
},
["invoices"] = new List<object?>
{
new Dictionary<string, object?>
{
["id"] = "INV-0001",
["applied"] = "10.00",
},
},
},
});
Console.WriteLine(response.Json);
import 'package:exsited/exsited.dart';
final client = buildClient();
final response = await client.payments.createPayment({
'payment': {
'date': '2026-10-01',
'payment_note': 'October invoice',
'payment_applied': [
{'processor': 'Cash', 'amount': '10.00', 'reference': 'RCPT-1001'},
],
'invoices': [
{'id': 'INV-0001', 'applied': '10.00'},
],
},
});
print(response.map);
import (
"context"
"fmt"
"log"
exsited "github.com/exsited/exsited-sdk-go/v4"
)
client, err := exsited.BuildClient(nil)
if err != nil {
log.Fatal(err)
}
defer client.Close()
response, err := client.Payments().CreatePayment(context.Background(), map[string]any{
"payment": map[string]any{
"date": "2026-10-01",
"payment_note": "October invoice",
"payment_applied": []any{
map[string]any{
"processor": "Cash",
"amount": "10.00",
"reference": "RCPT-1001",
},
},
"invoices": []any{
map[string]any{"id": "INV-0001", "applied": "10.00"},
},
},
}, nil)
if err != nil {
log.Fatal(err)
}
fmt.Println(response.Map)
{
"payment": {
"account": {
"object": "<string>",
"id": "<string>",
"name": "<string>",
"href": "<string>"
},
"activity_logs": [
"<unknown>"
],
"created_by": {
"name": "<string>",
"object": "<string>"
},
"created_on": "<string>",
"credit_applied": [
{
"amount": "<string>",
"code": "<string>"
}
],
"custom_attributes": [
{
"href": "<string>",
"id": "<string>",
"name": "<string>",
"object": "<string>",
"type": "<string>",
"value": "<string>"
}
],
"gift_certificate_applied": [
{
"amount": "<string>",
"code": "<string>"
}
],
"id": "<string>",
"invoices": [
{
"applied": "<string>",
"due_date": "<string>",
"id": "<string>",
"issue_date": "<string>",
"outstanding": "<string>",
"total": "<string>"
}
],
"last_updated_by": {
"name": "<string>",
"object": "<string>"
},
"last_updated_on": "<string>",
"object": "<string>",
"origin": "<string>",
"payment_applied": [
{
"amount": "<string>",
"gateway_response": "<unknown>",
"method": "<string>",
"processor": "<string>",
"reference": "<string>"
}
],
"payment_note": "<string>",
"reconcile_status": "<string>",
"status": "<string>",
"version": 123
}
}{
"object": "<string>",
"request_id": "<string>",
"status": 123,
"code": "<string>",
"message": "<string>",
"doc_url": "<string>",
"errors": [
{
"field": "<string>",
"code": "<string>",
"message": "<string>",
"doc_url": "<string>"
}
]
}Payments
Create a payment
Records a payment against one or more invoices and returns it.
POST
/
payments
cURL
curl -X POST "$EXSITED_BASE_URL/api/v4/payments" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"payment": {
"date": "2026-10-01",
"payment_note": "October invoice",
"payment_applied": [
{
"processor": "Cash",
"amount": "10.00",
"reference": "RCPT-1001"
}
],
"invoices": [
{
"id": "INV-0001",
"applied": "10.00"
}
]
}
}'from exsited import build_client
client = build_client()
response = client.payments.create_payment(
{
"payment": {
"date": "2026-10-01",
"payment_note": "October invoice",
"payment_applied": [
{"processor": "Cash", "amount": "10.00", "reference": "RCPT-1001"}
],
"invoices": [{"id": "INV-0001", "applied": "10.00"}],
}
}
)
print(response.data)
import {buildClient} from 'exsited';
const client = await buildClient();
const response = await client.payments.createPayment({
payment: {
date: '2026-10-01',
payment_note: 'October invoice',
payment_applied: [{processor: 'Cash', amount: '10.00', reference: 'RCPT-1001'}],
invoices: [{id: 'INV-0001', applied: '10.00'}],
},
});
console.log(response.data);
use Exsited\Client\ClientRegistry;
$client = ClientRegistry::buildClient();
$response = $client->payments->createPayment([
'payment' => [
'date' => '2026-10-01',
'payment_note' => 'October invoice',
'payment_applied' => [
['processor' => 'Cash', 'amount' => '10.00', 'reference' => 'RCPT-1001'],
],
'invoices' => [['id' => 'INV-0001', 'applied' => '10.00']],
],
]);
print_r($response->data);
import com.exsited.client.ApiResponse;
import com.exsited.client.ClientRegistry;
import com.exsited.client.ExsitedClient;
import com.exsited.resources.payments.payments_dto.PaymentsDto.PaymentRead;
import java.util.List;
import java.util.Map;
ExsitedClient client = ClientRegistry.buildClient();
ApiResponse<PaymentRead> response = client.payments().createPayment(
Map.of(
"payment", Map.of(
"date", "2026-10-01",
"payment_note", "October invoice",
"payment_applied", List.of(
Map.of(
"processor", "Cash",
"amount", "10.00",
"reference", "RCPT-1001")),
"invoices", List.of(Map.of("id", "INV-0001", "applied", "10.00")))));
System.out.println(response.getMap());
using Exsited.Client;
await using var client = ExsitedClient.BuildClient();
var response = await client.Payments.CreatePaymentAsync(new Dictionary<string, object?>
{
["payment"] = new Dictionary<string, object?>
{
["date"] = "2026-10-01",
["payment_note"] = "October invoice",
["payment_applied"] = new List<object?>
{
new Dictionary<string, object?>
{
["processor"] = "Cash",
["amount"] = "10.00",
["reference"] = "RCPT-1001",
},
},
["invoices"] = new List<object?>
{
new Dictionary<string, object?>
{
["id"] = "INV-0001",
["applied"] = "10.00",
},
},
},
});
Console.WriteLine(response.Json);
import 'package:exsited/exsited.dart';
final client = buildClient();
final response = await client.payments.createPayment({
'payment': {
'date': '2026-10-01',
'payment_note': 'October invoice',
'payment_applied': [
{'processor': 'Cash', 'amount': '10.00', 'reference': 'RCPT-1001'},
],
'invoices': [
{'id': 'INV-0001', 'applied': '10.00'},
],
},
});
print(response.map);
import (
"context"
"fmt"
"log"
exsited "github.com/exsited/exsited-sdk-go/v4"
)
client, err := exsited.BuildClient(nil)
if err != nil {
log.Fatal(err)
}
defer client.Close()
response, err := client.Payments().CreatePayment(context.Background(), map[string]any{
"payment": map[string]any{
"date": "2026-10-01",
"payment_note": "October invoice",
"payment_applied": []any{
map[string]any{
"processor": "Cash",
"amount": "10.00",
"reference": "RCPT-1001",
},
},
"invoices": []any{
map[string]any{"id": "INV-0001", "applied": "10.00"},
},
},
}, nil)
if err != nil {
log.Fatal(err)
}
fmt.Println(response.Map)
{
"payment": {
"account": {
"object": "<string>",
"id": "<string>",
"name": "<string>",
"href": "<string>"
},
"activity_logs": [
"<unknown>"
],
"created_by": {
"name": "<string>",
"object": "<string>"
},
"created_on": "<string>",
"credit_applied": [
{
"amount": "<string>",
"code": "<string>"
}
],
"custom_attributes": [
{
"href": "<string>",
"id": "<string>",
"name": "<string>",
"object": "<string>",
"type": "<string>",
"value": "<string>"
}
],
"gift_certificate_applied": [
{
"amount": "<string>",
"code": "<string>"
}
],
"id": "<string>",
"invoices": [
{
"applied": "<string>",
"due_date": "<string>",
"id": "<string>",
"issue_date": "<string>",
"outstanding": "<string>",
"total": "<string>"
}
],
"last_updated_by": {
"name": "<string>",
"object": "<string>"
},
"last_updated_on": "<string>",
"object": "<string>",
"origin": "<string>",
"payment_applied": [
{
"amount": "<string>",
"gateway_response": "<unknown>",
"method": "<string>",
"processor": "<string>",
"reference": "<string>"
}
],
"payment_note": "<string>",
"reconcile_status": "<string>",
"status": "<string>",
"version": 123
}
}{
"object": "<string>",
"request_id": "<string>",
"status": 123,
"code": "<string>",
"message": "<string>",
"doc_url": "<string>",
"errors": [
{
"field": "<string>",
"code": "<string>",
"message": "<string>",
"doc_url": "<string>"
}
]
}Records a payment from the fields under
payment. Only the keys shown are accepted; any other returns 400. A payment_applied entry whose processor holds a card token charges the card.
The SDK samples get their client from credentials your app registers once when it starts, as shown in Authentication. To try the call here, click Try it, set
host to your Exsited API host name and paste an access token from Get an access token. To send a raw JSON body instead of filling in fields, copy the cURL sample and edit its -d payload.