POST https://api.legendonlineservices.co.uk/POS/BillingPayments

Record a payment for a member.
The payment needs to be allocated to one or more "billing items".
Note that the API can't collect the money. The expectation would be that the payment be collected through a third-party system.

Request Parameters

From Body Type Description
ContactId Guid The External ID of the contact.
PaymentDate DateTime The date/time at which the payment was collected.
TenderTypeId Int32 Tender types are customer specific and are configurable by the users.
However, there are many pre-configured values that are common to most customers. Here are the pre-configured values:
1 - Cash
2 - Cheque
3 - Card
4 - E Card
5 - Credit
6 - Credit Note
7 - Voucher
8 - EFT
28 - External Payment. This is the most useful item for integrators, as it makes it clear the payment is external.
[BillingPaymentsRequestLineItem] List of billing items and payments. Make sure there is always one BillingId per request.
Name Type Description
Amount Decimal Must be greater than zero and must not exceed the balance
AuthorizationCode String Max 100 characters
BillingId Int32 Legend BillingId
Notes String Optional. Any user friendly not to help during the reconcillation process
ThirdPartyReference String This will be used for reconcillation with external system




{
  "ContactId": "c4839c70-1e2c-4027-8fdd-00edb5e34831",
  "PaymentDate": "2026-02-05T00:15:05.8196738+00:00",
  "BillingPayments": [
    {
      "BillingId": 1,
      "Amount": 2.0,
      "ThirdPartyReference": "sample string 3",
      "Notes": "sample string 4",
      "AuthorizationCode": "sample string 5"
    },
    {
      "BillingId": 1,
      "Amount": 2.0,
      "ThirdPartyReference": "sample string 3",
      "Notes": "sample string 4",
      "AuthorizationCode": "sample string 5"
    },
    {
      "BillingId": 1,
      "Amount": 2.0,
      "ThirdPartyReference": "sample string 3",
      "Notes": "sample string 4",
      "AuthorizationCode": "sample string 5"
    }
  ],
  "TenderTypeId": 2
}

Response - (Status 200 - OK)

BillingPaymentsResponse

Name Type Description
ContactId Guid The ExternalId of the contact who the Billing items belongs to.
ErrorMessage String Error message if there is a global failure.
Success Boolean Returns true if this operation was successful.
[BillingPaymentsResponseLineItem] For each payment request one line item will be returned.
Name Type Description
Balance Decimal Balance left on the billing item
BillingId Int32 Legend BillingId
ErrorMessage String For basic validation like not enough balance etc
PaymentDate DateTime
ProcessDate DateTime




{
  "ContactId": "3c6844d1-8c63-429c-89b2-9784de32cf6e",
  "BillingPayments": [
    {
      "BillingId": 1,
      "Balance": 1.0,
      "ProcessDate": "2026-02-05T00:15:05.8257635+00:00",
      "PaymentDate": "2026-02-05T00:15:05.8257635+00:00",
      "ErrorMessage": "sample string 2"
    },
    {
      "BillingId": 1,
      "Balance": 1.0,
      "ProcessDate": "2026-02-05T00:15:05.8257635+00:00",
      "PaymentDate": "2026-02-05T00:15:05.8257635+00:00",
      "ErrorMessage": "sample string 2"
    },
    {
      "BillingId": 1,
      "Balance": 1.0,
      "ProcessDate": "2026-02-05T00:15:05.8257635+00:00",
      "PaymentDate": "2026-02-05T00:15:05.8257635+00:00",
      "ErrorMessage": "sample string 2"
    }
  ],
  "ErrorMessage": "sample string 2",
  "Success": false
}

Bundle(s)
BillingPayment