Inyo

Pulling Funds

Pull (collect) transactions withdraw funds from a customer's payment method. The Inyo Gateway supports:

  • Credit/Debit Cards β€” Via tokenized card data (see Tokenizing Cards)
  • ACH Bank Transfers β€” Via bank account and routing number

All pull transactions use the same endpoint:

POST https://{FQDN}/v2/payment

Request Structure

Root Object

FieldTypeRequiredDescription
externalPaymentIdstringYesYour unique payment identifier (idempotency key)
ipAddressstringYesPayer's IPv4 or IPv6 address
paymentTypestringYes"PULL"
capturebooleanYestrue = auto-capture; false = pre-auth only (cards only)
amountobjectYesTransaction amount
senderobjectYesPayer information, address, and payment method

amount Object

FieldTypeRequiredDescription
totalnumberYesPayment amount (must be β‰₯ 1)
currencystringYesISO 4217 currency code (e.g., "USD")

sender Object

FieldTypeRequiredDescription
firstNamestringYesPayer's first name
lastNamestringYesPayer's last name
addressobjectYesBilling address
paymentMethodobjectYesCard or bank account details

sender.address Object

FieldTypeRequiredDescription
countryCodestringYesISO Alpha-2 country code (e.g., "US")
stateCodestringYesState abbreviation (e.g., "NY")
citystringYesCity name
line1stringYesStreet address line 1
line2stringNoStreet address line 2
zipCodestringYesPostal/ZIP code

sender.paymentMethod β€” Card

FieldTypeRequiredDescription
typestringYes"CARD"
cardTokenIdstringYesToken UUID from the tokenizer
previousPaymentIdstringNoFor recurring tokens: paymentId from the initial authorization

sender.paymentMethod β€” Bank Account (ACH)

FieldTypeRequiredDescription
typestringYes"BANK_DEPOSIT"
accountNumberstringYesBank account number (6–20 digits)
routingNumberstringYesABA routing number (9 digits)
accountTypestringYes"CHECKING", "SAVINGS", "BUSINESS_CHECKING", or "BUSINESS_SAVINGS"

Card Payment Lifecycle

Tokenize β†’ Authorize β†’ (3DS Challenge?) β†’ Capture β†’ (Refund?)
                                              β†˜ Void

For card payments:

  1. Authorize β€” Create the payment ("capture": false for pre-auth)
  2. Handle 3DS β€” If status = CHALLENGE, redirect to redirectAcsUrl
  3. Capture β€” Settle the authorized payment (within 7 days)
  4. Void β€” Cancel before capture
  5. Refund β€” Return funds after capture (full or partial)

ACH Payments

ACH payments are always captured immediately ("capture": true). The pre-auth/capture lifecycle does not apply.

See ACH (Bank Account) for a complete example.

What's Next

GuideDescription
Card AuthorizationFull card payment flow with examples
ACH PaymentBank account pull with example payload
3D SecureChallenge redirect handling
AVS / CVCAddress and security code verification
CaptureSettle a pre-authorized payment
VoidCancel before settlement
RefundReturn funds after capture