Tokenize a PayPal or Venmo account for push disbursements.
curl --request POST \
--url https://payapi-sandbox.ingo.money/gateway/verify--paypal-venmo \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"participant_id": 12345,
"account_type": "PU",
"receiver_type": 1,
"participant_unique_id1": "5ced00c4-116d-4786-b1cd-016f7f23dc54",
"timestamp": 1598505599,
"version": 11,
"account": "jane.doe@example.com",
"recipient_first_name": "Alex",
"recipient_last_name": "Rivera",
"recipient_address1": "100 Innovation Way",
"recipient_address2": "Apt 2",
"recipient_city": "Anytown",
"recipient_state": "GA",
"recipient_zip": "00000",
"recipient_phone": "5555550100",
"amount": 50.01,
"participant_unique_id2": "4259cf7e-ffd2-414a-9c82-cca8a4613e69",
"store_id": "",
"terminal_id": "",
"clerk_id": ""
}
'{
"status": 100,
"client_message": "Success",
"recipient_message": "Success",
"data": {
"customer_account_token": "a3650c4f-60e3-4f80-ba4b-b79055e20007",
"last_4": "k6Aw",
"expiration_date": "",
"request_timestamp": 1598505603,
"issuers": [
{
"payee_id": "614004",
"payee_name": "Paypal",
"payee_address": "",
"payee_city": "",
"payee_state": "",
"payee_zip": "",
"credit_info": {
"min": "0.01",
"max": "10000.00",
"card_type": "NA",
"estimated_posting_time": "Payment will post within 5 minutes.",
"estimated_posting_date": "04/21/2026"
},
"issuing_network": "NA",
"credit_enabled": 1,
"debit_enabled": 0
}
],
"participant_unique_id1": "5ced00c4-116d-4786-b1cd-016f7f23dc54",
"participant_unique_id2": "4259cf7e-ffd2-414a-9c82-cca8a4613e69",
"count": 1
},
"time": "2.4577"
}Documentation Index
Fetch the complete documentation index at: https://developers.ingopayments.com/llms.txt
Use this file to discover all available pages before exploring further.
All requests must be authenticated using an HMAC-signed Authorization header. Ingo Money requires HMAC-SHA512 for all new integrations. SHA-512 provides a significantly larger internal state and output length than SHA-256, making it substantially more resistant to length-extension attacks and brute-force preimage attempts — properties that matter for financial API traffic where each request authorizes a real money movement.
Legacy integrations using HMAC-SHA256 remain supported but are encouraged to upgrade. SHA-256 continues to meet the current minimum security bar; however, upgrading to SHA-512 eliminates an entire class of potential vulnerabilities before they become exploitable, and aligns with NIST guidance recommending SHA-2 family algorithms with 256-bit security strength or greater for long-term use. Contact your Ingo integration manager to coordinate an algorithm upgrade.
MD5 and SHA-1 are not accepted under any circumstances. Requests signed with either algorithm will be rejected.
Authorization header format:
Authorization: hmac username="YOUR_HMAC_USERNAME", algorithm="hmac-sha512", headers="request-line x-date content-type content-length content-sha512", signature="BASE64_SIGNATURE"
Credentials provisioned by your Ingo integration manager:
HMAC username — identifies your integration in the Authorization
header username field. Distinct from your participant identifier.
HMAC secret — provisioned by your Ingo integration manager. The private key used to compute the signature. Never transmit this value — store it in a secrets manager or environment variable, never in source code.
Participant identifier — a separate value used to identify your account within the API request payload. The name and placement differs by product family. Both the HMAC username and participant identifier are provisioned at onboarding — do not substitute one for the other.
API key — required for select product families as an additional per-request credential. See product-specific documentation for applicability.
See the Ingo API Authentication Guide for the complete string-to-sign construction, body hashing requirements, and timestamp validation rules.
Provide either customer_account_token or the full set of raw account fields (account, receiver_type, recipient_first_name, recipient_last_name, recipient_address1, recipient_city, recipient_state, recipient_zip) — never both.
Unique participant identifier assigned by Ingo.
12345
Indicates the type of transaction. PU = PayPal unverified account payout transaction, VE = Venmo payout transaction.
PU, VE 1"PU"
Participant assigned ID for the disbursement. Should be carried forward to the process request for tracking purposes. Must not contain NPI data.
1 - 254"5ced00c4-116d-4786-b1cd-016f7f23dc54"
Unix timestamp of the request.
1598505599
API version of the request. Current version is 11.
11
Required when customer_account_token is not provided. Determines how the account value is interpreted. 1 = EMAIL, 2 = PHONE, 3 = PAYPAL_ID (PayPal PU only), 4 = USER_HANDLE (Venmo VE only).
1, 2, 3, 4 1
Alternative to raw account data when the account was previously tokenized. If provided, receiver_type and all raw account fields (account, recipient_first_name, recipient_last_name, recipient_address1, recipient_city, recipient_state, recipient_zip) are not required and should be omitted.
1 - 254"a3650c4f-60e3-4f80-ba4b-b79055e20007"
Value used to identify the receiving account. Required unless customer_account_token is provided. Interpretation depends on receiver_type: EMAIL address, phone number, PayPal ID, or Venmo user handle.
1 - 254"jane.doe@example.com"
Recipient first name. Required unless customer_account_token is provided.
1 - 254"Jane"
Recipient last name. Required unless customer_account_token is provided.
1 - 254"Doe"
Recipient address line 1. Required unless customer_account_token is provided.
1 - 254"123 Main St"
Recipient city. Required unless customer_account_token is provided.
1 - 254"Atlanta"
Recipient state (standard US postal abbreviation). Required unless customer_account_token is provided.
2^(?:A[LKSZRAEP]|C[AOT]|D[EC]|F[LM]|G[AU]|HI|I[ADLN]|K[SY]|LA|M[ADEHINOPST]|N[CDEHJMVY]|O[HKR]|P[ARW]|RI|S[CD]|T[NX]|UT|V[AIT]|W[AIVY])$"GA"
Recipient zip code. 5-digit zip or zip+4 in xxxxx-xxxx format. Required unless customer_account_token is provided.
10^[0-9]{5}(?:-[0-9]{4})?$"30313"
Optional recipient address line 2.
254"Apt 2"
Optional recipient business name.
150"Doe Enterprises"
Optional 10-digit recipient phone number.
10"5551234567"
Optional recipient email address.
254"jane.doe@example.com"
Dollar amount of disbursement.
x >= 0.0150.01
Optional second participant assigned ID for the disbursement. This value should be the same on all activity pertaining to a disbursement attempt.
254"4259cf7e-ffd2-414a-9c82-cca8a4613e69"
Client assigned store ID. Required for Retail client participants.
254"STORE-001"
Client assigned terminal ID. Required for Retail client participants.
254"TERM-042"
Client assigned clerk ID. Required for Retail client participants.
254"CLK-007"
Verification successful — token returned
Numeric code describing the status of the API request. 100 = Success.
100
Text description associated with the status code.
"Success"
Text description associated with the status code for the recipient.
"Success"
Hide child attributes
GUID — unique value generated per API call request. Use this token in all subsequent Process requests for this account.
"a3650c4f-60e3-4f80-ba4b-b79055e20007"
The last 4 characters of the account value.
"k6Aw"
Expiration date associated with the account, if applicable. Returns empty string for PayPal and Venmo accounts.
""
Unix timestamp of the request.
1598505603
Information about the issuer of the account.
Hide child attributes
The Ingo assigned ID for the payee.
"614004"
Name of payee.
"Paypal"
Payee address.
""
Payee city.
""
Payee state.
""
Payee zip code.
""
Information regarding limits for push (credit) transactions. Returned if participant is enabled for push processing.
Hide child attributes
Minimum amount accepted for a push transaction.
"0.01"
Maximum amount accepted for a push transaction.
"10000.00"
Account type identifier. Returns NA for PayPal and Venmo accounts.
"NA"
Estimated posting time narrative.
"Payment will post within 5 minutes."
Estimated posting date.
"04/21/2026"
Issuing network identifier. Returns NA for PayPal and Venmo accounts.
"NA"
Whether the account is enabled for push (credit) transactions. 1 = Enabled, 0 = Not enabled.
0, 1 1
Whether the account is enabled for pull (debit) transactions. 1 = Enabled, 0 = Not enabled.
0, 1 0
Estimated transaction posting date-time attribute assigned by Ingo.
"2026-04-30T12:00:00Z"
Participant assigned ID for the verify request. Should be carried forward to the process request for tracking purposes.
"5ced00c4-116d-4786-b1cd-016f7f23dc54"
Optional second participant assigned ID for the verify request. Can also be carried forward to the process request for tracking purposes.
"4259cf7e-ffd2-414a-9c82-cca8a4613e69"
Always returns 1.
1
Time in seconds to complete the request.
"2.4577"
Provides additional detail on validation type errors when applicable.
null
curl --request POST \
--url https://payapi-sandbox.ingo.money/gateway/verify--paypal-venmo \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"participant_id": 12345,
"account_type": "PU",
"receiver_type": 1,
"participant_unique_id1": "5ced00c4-116d-4786-b1cd-016f7f23dc54",
"timestamp": 1598505599,
"version": 11,
"account": "jane.doe@example.com",
"recipient_first_name": "Alex",
"recipient_last_name": "Rivera",
"recipient_address1": "100 Innovation Way",
"recipient_address2": "Apt 2",
"recipient_city": "Anytown",
"recipient_state": "GA",
"recipient_zip": "00000",
"recipient_phone": "5555550100",
"amount": 50.01,
"participant_unique_id2": "4259cf7e-ffd2-414a-9c82-cca8a4613e69",
"store_id": "",
"terminal_id": "",
"clerk_id": ""
}
'{
"status": 100,
"client_message": "Success",
"recipient_message": "Success",
"data": {
"customer_account_token": "a3650c4f-60e3-4f80-ba4b-b79055e20007",
"last_4": "k6Aw",
"expiration_date": "",
"request_timestamp": 1598505603,
"issuers": [
{
"payee_id": "614004",
"payee_name": "Paypal",
"payee_address": "",
"payee_city": "",
"payee_state": "",
"payee_zip": "",
"credit_info": {
"min": "0.01",
"max": "10000.00",
"card_type": "NA",
"estimated_posting_time": "Payment will post within 5 minutes.",
"estimated_posting_date": "04/21/2026"
},
"issuing_network": "NA",
"credit_enabled": 1,
"debit_enabled": 0
}
],
"participant_unique_id1": "5ced00c4-116d-4786-b1cd-016f7f23dc54",
"participant_unique_id2": "4259cf7e-ffd2-414a-9c82-cca8a4613e69",
"count": 1
},
"time": "2.4577"
}