πŸ“–
Inyo Developer Portal
  • API REFERENCES
    • Payments Gateway v2
      • Getting started
      • Background
        • System architecture
        • Gateway environment settings
      • Authentication Methods
      • Environments
      • Technical Resources
      • Mitigating Fraud
      • APIs
        • Tokenizing cards
        • Payment
          • Pull Transaction
            • Handling AVS / CVC
            • Handling 3D secure
          • Push Transaction
          • Pull and push in one step
          • Capture
          • Refund
          • Void
          • Get a payment
          • Get a list
        • Webhooks
        • Domain tables
          • Response Code
          • Payment Status
        • Test data
          • Cards
    • Remittances
      • Getting Started
      • Authentication
      • Data Population
        • Country
        • State
        • Banks
        • Payers
        • Settlement Rates
      • Sender
        • Sender Object
        • Register a Sender
        • User Agreement
        • Get Sender by ID
        • Sender Verification
          • ID Documents
            • Expired ID Documents
          • KYC Status
          • KYC Using Widget
          • KYC Using API
            • Get KYC fields
            • Update KYC Information
            • Initiate KYC
            • Get KYC Information
          • Sender Tier Upgrade
        • Sender ID Information
      • Funding Account
        • Add Funding Account
          • OAuth Integration
        • Funding Account Object
        • Get Funding Account
        • Delete Funding Account
      • Recipient
        • Recipient Object
        • Add a Recipient
        • Get Recipient Details
        • Update Recipient
        • Recipient Document
      • Recipient Account
        • Recipient Account Object
        • Add a Recipient Account
        • Get Recipient Account
        • Get Account Information
      • Transaction
        • Transaction Object
        • Get Transaction Limits
        • Create a Transaction
          • 3DS Verification
          • Bonus/Discount
        • Get Transaction Details
        • Cancel Transaction
        • Delivery Request
        • Self-Payout
        • Transaction Invoice
      • Webhooks
        • Subscriptions
          • Subscribe
          • List Subscriptions
          • Pause Subscriptions
          • Remove Subscription
        • Integration
        • Events
      • Widget
        • Widget v1.0
          • Widget v1.0 Types
        • Widget v2.0
      • SANDBOX
        • Test Values
          • Geo-Fencing
          • Sender Verification
          • Funding Account
          • Transaction
  • USE CASE
    • Remittance
Powered by GitBook
On this page
  1. API REFERENCES
  2. Payments Gateway v2
  3. APIs
  4. Payment

Pull and push in one step

Inyo Gateway allows for combined pull and push transactions in a single operation.

Inyo Gateway allows for combined pull and push transactions in a single operation. This method is designed to streamline workflows where funds need to be collected from one account and subsequently transferred to another account, reducing latency and improving efficiency.

Root Object

Field
Type
Required
Description

externalPaymentId

string

βœ…

External identifier for the payment.

amount

object

βœ…

Amount sent by the sender (in USD).

recipientAmount

object

βœ…

Amount received by the recipient (in any currency).

exchangeRate

number

βœ…

Exchange rate applied between currencies.

ipAddress

string

βœ…

IPv4 or IPv6 address of the request origin.

paymentType

string

βœ…

Must be "PULLPUSH".

sender

object

βœ…

Contains sender information.

recipient

object

βœ…

Contains recipient information.


amount object

Field
Type
Required
Validation
Description

total

number

βœ…

Must be β‰₯ 1

Amount in USD.

currency

string

βœ…

Must be "USD"

Currency of the transaction.


recipientAmount object

Field
Type
Required
Validation
Description

total

number

βœ…

Must be β‰₯ 1

Amount to be received.

currency

string

βœ…

3-letter ISO code

Currency of recipient amount.


sender object

Same structure as in PULL payments:

customer

Field
Type
Required
Validation

firstName

string

βœ…

β€”

lastName

string

βœ…

β€”

phoneNumber

string

βœ…

7–15 digits

documentNumber

string

βœ…

5–20 digits

documentType

string

βœ…

NATIONAL_ID, PASSPORT, DRIVER_LICENSE

email

string

βœ…

Must be valid email

countryCodeAlpha3

string

βœ…

Must be 3 uppercase letters

customerAddress

Field
Type
Required

stateCode

string

βœ…

city

string

βœ…

line1

string

βœ…

line2

string

❌

state

string

βœ…

zipCode

string

βœ…

source

Field
Type
Required
Description

type

string

βœ…

"CARD" or "BANK_ACCOUNT"

🟒 If type = CARD

Field
Type
Required
Validation
Description

token

string

βœ…

UUID

Card token

🟒 If type = BANK_ACCOUNT

Field
Type
Required

accountType

string

βœ…

accountNumber

string

βœ…

routingNumber

string

βœ…

accountHolder

object

βœ…

accountHolder

Field
Type
Required
Description

type

string

βœ…

"personal" or "business"

firstName

string

βœ…

First name

lastName

string

βœ…

Last name


recipient object

Same structure as in PUSH payments:

customer, customerAddress: same as sender

destination

Field
Type
Required
Description

type

string

βœ…

"PIX" or "WALLET"

🟒 If type = PIX

Field
Type
Required
Description

keyType

string

βœ…

"EMAIL", "PHONE", "DOCUMENT", "EVP"

key

string

βœ…

PIX key

🟒 If type = WALLET

Field
Type
Required
Description

walletId

string

βœ…

Wallet identifier


βœ… Example Payload – PULLPUSH (CARD + WALLET)

{
  "externalPaymentId": "pullpush_001",
  "amount": {
    "total": 100.00,
    "currency": "USD"
  },
  "recipientAmount": {
    "total": 497.50,
    "currency": "BRL"
  },
  "exchangeRate": 4.975,
  "ipAddress": "2001:db8::ff00:42:8329",
  "paymentType": "PULLPUSH",
  "sender": {
    "customer": {
      "firstName": "Lucas",
      "lastName": "Silva",
      "phoneNumber": "11999999999",
      "documentNumber": "12345678900",
      "documentType": "NATIONAL_ID",
      "email": "lucas.silva@example.com",
      "countryCodeAlpha3": "USA"
    },
    "customerAddress": {
      "stateCode": "CA",
      "city": "San Francisco",
      "line1": "123 Mission St",
      "line2": "Suite 900",
      "state": "California",
      "zipCode": "94105"
    },
    "source": {
      "type": "CARD",
      "card": {
        "token": "123e4567-e89b-12d3-a456-426614174000"
      }
    }
  },
  "recipient": {
    "customer": {
      "firstName": "Ana",
      "lastName": "Souza",
      "phoneNumber": "21987654321",
      "documentNumber": "10987654321",
      "documentType": "PASSPORT",
      "email": "ana.souza@example.com",
      "countryCodeAlpha3": "BRA"
    },
    "customerAddress": {
      "stateCode": "RJ",
      "city": "Rio de Janeiro",
      "line1": "Rua da AlfΓ’ndega, 45",
      "state": "Rio de Janeiro",
      "zipCode": "20010-030"
    },
    "destination": {
      "type": "WALLET",
      "wallet": {
        "walletId": "ana.souza@wallet.com"
      }
    }
  }
}
PreviousPush TransactionNextCapture

Last updated 2 months ago