Skip to main content
POST
/
gateway
/
v4
/
notify
Submit a notification of payment intent (v4)
curl --request POST \
  --url https://payapi-sandbox.ingo.money/gateway/v4/notify \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "request": {
    "participant_id": 12345,
    "timestamp": 1745356800
  },
  "transaction": {
    "transaction_amount": {
      "amount": 250,
      "currency_code": "USD"
    },
    "participant_unique_ids": {
      "participant_unique_id1": "a4f1b2c3-d456-789e-f012-34567890abcd",
      "participant_unique_id2": "b5e2c3d4-e567-890f-a123-456789012345"
    },
    "workflow_id": 1,
    "notify_type": 0,
    "sender": {
      "name_personal": {
        "first_name": "Alex",
        "last_name": "Rivera"
      },
      "contact_address": {
        "address1": "100 Innovation Way",
        "city": "Anytown",
        "state": "GA",
        "zip": "00000"
      },
      "contact_telcom": {
        "email": "noreply@example.com"
      },
      "sender_account": "sender-acct-001"
    }
  },
  "transaction_parties": [
    {
      "settings": {
        "client_provided_id": "party-001",
        "role": 0,
        "classification": 1,
        "recipient_enabled": 1
      },
      "name_personal": {
        "first_name": "Alex",
        "last_name": "Rivera"
      },
      "contact_telcom": {
        "email": "johnny.rockets@example.com",
        "phone_mobile": "5555550100"
      },
      "contact_address": {
        "address1": "100 Innovation Way",
        "address2": "",
        "city": "Anytown",
        "state": "GA",
        "zip": "00000"
      },
      "authentication": [
        {
          "field_label": "Last 4 SSN",
          "field_order": 1,
          "validation_type": 1,
          "match_failure_type": 1,
          "value_format": "XXXX",
          "client_provided_value": "1234"
        }
      ],
      "notification": [
        {
          "field_label": "Account",
          "client_provided_value": "Checking Account ending 5678"
        }
      ]
    }
  ]
}
'
{
  "request": {
    "participant_id": 12345,
    "timestamp": 1745356800
  },
  "response": {
    "status": "100",
    "message": "Success",
    "duration": "0"
  },
  "transaction": {
    "participant_unique_ids": {
      "participant_unique_id1": "a4f1b2c3-d456-789e-f012-34567890abcd",
      "participant_unique_id2": "b5e2c3d4-e567-890f-a123-456789012345"
    },
    "notification_id": "9876543",
    "tracer_id": "trc-20260422-001",
    "parties": [
      {
        "client_provided_id": "party-001",
        "party_id": "1"
      }
    ]
  }
}

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.

Authorizations

Authorization
string
header
required

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.

Body

application/json
request
object
required

General information associated with the API request.

transaction
object
required

Transaction-level information for the disbursement notification.

transaction_parties
object[]
required

Array of transaction parties. Each party defines a recipient, approver, or interested party for the disbursement notification. At least one party with role: 0 (recipient) and recipient_enabled: 1 is required.

Minimum array length: 1

Response

Notification submitted successfully

request
object

Echo of the request envelope.

response
object
transaction
object

Transaction outcome data.