type Payment
A single payment processed through a payment provider, taken through checkout, a payment session or a payment plan. Its id is named in every payment webhook, and for a checkout payment it is also the id handed out at checkout, so it is the key to reconcile a payment against. Status follows the provider's authorization, capture and settlement, and payment.status.changed.v1 announces each change. Refunds do not change the status: they raise refundAmount. A refund of a CLP payment is announced by payment.refund.status.changed.v1; a refund of an NMI payment completes in the paymentRefund response and sends no event.
| Field | Type | Description |
|---|---|---|
id | ID! | Unique id of the payment. |
orgId | ID | The platform organization that facilitated this payment. |
provider | PaymentProvider | Payment provider that was used to process this payment |
instrument | PaymentInstrument | What moved the money — a card, an ACH or Plaid debit or credit, or FlexPay financing. Null means not reported: payments taken before this was recorded carry none, and so does one whose provider notification did not name a method. Null is never a claim that no instrument was used. |
configurationId | ID | ID of the payment provider configuration that facilitated this payment |
originalAmount | Amount! | Original amount for the payment. If this payment has only been authorized and is in a pending state this will be the amount authorized for the payment. |
amount | Amount! | Amount of the payment. This may differ from the orginal amount if the captured payment amount is different than the authorized amount. |
netAmount | Amount | Amount of the payment less the processing fees taken on it. Null means not reported — the fees are not known until the provider reports them, which for a captured payment is at settlement. Null is never a confirmed zero. |
feeAmount | Amount | Fees taken on the payment, summed across every fee the provider books against it. Wherever netAmount is reported this is amount less netAmount, so netAmount + feeAmount is always the amount charged; refunds are not netted into either. Null means not reported — the fees are not known until the provider reports them. Null is never a confirmed zero. |
refundAmount | Amount | Total refunded against this payment so far. Null means not reported — not a confirmed zero, so do not read it as "never refunded". A refund the provider has accepted but not yet settled is already counted once reporting begins, so this can exceed what has actually moved back. |
currency | Currency! | Currency of the payment |
status | PaymentStatus! | Status of the payment |
date | DateTime! | The date the payment was created. If payments are pre-created pending, this date will be updated when the payment is actually completed. |
expectedSettlementDate | String | The estimates date funds will be settled. |
expectedFundsAvailableDate | String | The estimated date funds will be available to the merchant. |
source | PaymentSource | Integration source details for this payment. |
contactId | ID | Optional ID of the platform contact associated with this payment. |
paymentSessionId | ID | ID of the payment session that facilitated this payment |
paymentPlanId | ID | ID of the payment plan that generated this payment |
paymentMethodId | ID | ID of the stored payment method that was charged to create this payment. Null when the payment did not come from a stored method. |
paymentMethod | PaymentMethod | Stored payment method that was charged to create this payment. Null when the payment did not come from a stored method. |
recurringProcessingModel | RecurringProcessingModel | How this payment was declared to the card networks. Set on a payment made from a stored method and on the payment that stored one; null otherwise. Kept on the record so a disputed charge, or an audit of how a series was declared, can be answered from the payment itself. |
paymentSession | PaymentSession | Payment session that facilitated this payment |