enum PaymentInstrument

What moved the money, as distinct from the provider that processed it. A provider offers more than one: a CLP payment is a card or an ACH debit depending on what the shopper chose.

The bank rails name their direction, because one rail both collects and pays out. A debit pulls from the customer's account, which is every payment the platform takes today; a credit pushes to it. AchCredit is an ACH credit entry and has nothing to do with a credit card — how a card is funded is PaymentMethodCard.funding. Cards carry no direction here because pushing to one is a different scheme operation, not the same charge reversed.

Distinct from Payment.paymentMethod, which is the stored instrument a payment was charged against and exists only for payments taken from a method on file. This is recorded for every payment.

  • Card — A credit or debit card.
  • AchDebit — A bank account pulled from over ACH.
  • AchCredit — A bank account pushed to over ACH — money paid out rather than collected. Reserved: no flow issues one yet.
  • PlaidDebit — A bank account pulled from through Plaid.
  • PlaidCredit — A bank account pushed to through Plaid — money paid out rather than collected.
  • FlexPay — Consumer financing through FlexPay. The charge reaches the processor as an ordinary card payment on a FlexPay-issued virtual card, so the checkout flow declares it; the card's issuer range only identifies one presented to direct card checkout.