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": "[email protected]",
      "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": "[email protected]",
      "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": "[email protected]"
      }
    }
  }
}

Last updated