totalExecutions
required |
integer (int32)
|
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
successfulExecutions
required |
integer (int32)
|
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
failedExecutions
required |
integer (int32)
|
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
amountBilled
required |
number (double)
|
min 0
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
consecutiveFailures
required |
integer (int32)
|
Consecutive failed billing attempts without an intervening success. Reset to 0 on success.
Used with `maxFailCount` to determine suspension.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
lastSuccessfulExecution
required |
string (date-time)
|
Timestamp of the last successful billing execution.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
lastExecution
required |
string (date-time)
|
Timestamp of the last billing execution (success or failure).
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
executionHistory
required |
array of ContractExecutionRecord
array of ContractExecutionRecord |
The most recent execution records for this contract (capped at 10, newest first).
May be `null` on older contracts; treat `null` the same as an empty list.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
Fields of each ContractExecutionRecord:
| Field |
Type |
Description |
executedAt
required |
string (date-time)
|
The date and time the billing execution was performed.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| success
required |
boolean
|
Whether the billing attempt was approved by the payment processor.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| amountBilled
required |
number (double)
|
The amount charged in this billing execution.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| transactionId
required |
string (uuid)
|
The transaction ID created in the payment engine, if one was created.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| failureReason
required |
string
|
An explanation of why the billing execution failed. Null for successful attempts.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| responseCode
required |
string
|
The processor response code for this execution. Used for failure classification
against `failureRetryResultCodes`.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| scheduledRunTime
required |
string (date-time)
|
The scheduled occurrence time this execution was triggered for.
Used by the Layer 2 idempotency guard to detect duplicate billing for the same
scheduled occurrence. Null for execution records created before this field was added.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| preCreditAmount
required |
number (double)
|
The contract amount this cycle was priced at before any proration credit was applied: the
inline per-bill total, or the plan revision in force. Pre-surcharge, so it is the number a
later cycle compares against to detect a mid-cycle price change (`amountBilled`
is the processor's response amount and may include a surcharge). Null on records written
before proration existed; such a record never seeds a proration credit.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| creditApplied
required |
number (double)
|
The proration credit taken off this charge, or null when none applied. Zero is never
written; a cycle with no credit leaves the field absent.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| chargedAmount
required |
number (double)
|
The contract amount actually submitted for this cycle after the credit:
`preCreditAmount` less `creditApplied`, floored at zero. Pre-surcharge,
like the two fields it derives from. Null on records written before proration existed.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| planPriceId
required |
string (uuid)
|
The plan price revision this charge was billed under, or null when the contract carries no
plan and bills its own inline amounts. Null too on records written before the field existed.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| planId
required |
string (uuid)
|
The plan the revision in `planPriceId` belongs to. Written together with it, and
null under exactly the same conditions.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
This body has no documented fields. |
pendingCredit
required |
number (double)
|
A proration credit still owed to the customer, to be taken off the next charge, or
`null` (equivalently zero) when none is owed.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
lastBillingSkip
required |
ContractBillingSkip
ContractBillingSkip |
The most recent billing run that found this contract due and did not charge it, and why, or
`null` when the last run that looked at the contract charged it (or none has
skipped it). Read-only: the billing engine is the only writer.
nullableread only
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
Fields of ContractBillingSkip:
| Field |
Type |
Description |
skippedAt
required |
string (date-time)
|
When the run decided not to charge the contract, in UTC.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| scheduledRunTime
required |
string (date-time)
|
The scheduled charge the run did not make, in UTC.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| category
required |
RecurringBillingSkipCategory
RecurringBillingSkipCategory |
Why the run did not charge the contract.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
AlreadyBilled |
The contract already has a successful charge for this scheduled run. Harmless: nothing is owed, and nothing needs attention. | MerchantIneligible |
The merchant that owns the contract is missing, deleted, or inactive. | InvalidContract |
The contract's own per-bill amount is zero or less, so there is nothing to charge. | PlanUnresolved |
The contract subscribes to a plan whose price could not be read, so the amount is unknown. | MissingConsent |
The stored payment method has no active stored-credential consent that permits a recurring charge. | ConsentLookupUnavailable |
The platform could not read the stored payment method's consent state. A platform fault rather than a configuration problem, recorded as a failed run item, and retried on the next run. |
| reason
required |
string
|
The billing engine's explanation of the skip, at most `MaxReasonLength`
characters. Never carries payment credential data.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
This body has no documented fields. |