Create Payment Line
Creates a cash payment line or records an externally processed EFT attempt. Provide a unique GUID for paymentLineId. Returns HTTP 201 with the saleId, refreshed entities and sale totals.
For EFT, send success: true for an already authorized payment. BC records the EFT Transaction Request and creates an approved POS payment line with the supplied paymentLineId. A successful zero-amount attempt also creates a line, but has no financial impact. An EFT request using a paymentLineId already used by any active POS sale line returns HTTP 400 without adding another EFT request, payment line or receipt. This rejects the duplicate; it does not replay the original success response.
New EFT integrations must send success as a JSON boolean. For backwards compatibility, omitted success is accepted and treated as false. An explicitly supplied non-boolean value returns HTTP 400 without recording an attempt or payment. Identifier values exceeding the documented length limits also return HTTP 400 without recording an attempt or payment. If success is false or omitted, BC records the attempted amount and supplied PSP reference, card data, PAR and receipts without creating a POS payment line. The EFT output and result amounts are zero. The response has an empty refreshedPaymentLines array and an unchanged totalPaymentAmount. GET for that paymentLineId returns 404. Repeating a failed request can create additional EFT audit records; these requests are not deduplicated. Earlier behavior added the amount to the sale even when success was false or omitted. Callers must send success: true for authorized payments to count toward completing the sale; the compatibility default does not pay the sale.
EFT amounts use the G/L Setup local currency. BC uses the time it receives the request, converted to the API session’s local time zone, for the transaction and stored receipt date/time. Only LCY EFT payments are supported. Configure the EFT payment method for LCY, as for staffed POS; the API uses the same POS payment-line insertion without API-specific currency conversion. The payload does not supply the provider’s authorization timestamp or test/production mode. Negative EFT amounts return HTTP 400 with the message “refunds not implemented” and create no records. Cash amount handling is unchanged.
Authentication
Path parameters
Your Entra Tenant ID. More details.
Your Business Central Environment. More details.
Your Business Central Company. More details.
Headers
Used for API versioning. More details.
Request
Type of payment (Cash or EFT)
For EFT, the attempted amount in the G/L Setup local currency. Negative EFT amounts fail with “refunds not implemented”.
For EFT payments, the Payment Account Reference, or PAR, identifying the payment account. At most 100 characters, stored in the dedicated Payment Account Reference field; overlong values are rejected, not truncated. This is not a reusable authorization token and is not stored as an External Payment Token.
Required for new EFT integrations and must be a JSON boolean when supplied. Non-boolean values return HTTP 400. Not required for Cash. Send true only when the external provider has authorized the payment. True creates an approved POS payment line; false records the failed attempt without a POS payment line and does not increase the sale’s payment total. For backwards compatibility, omitting success is accepted and treated as false.
Response
Array of SystemIds (UUIDs) for sale lines that were deleted
Array of SystemIds (UUIDs) for payment lines that were deleted
