---
title: "/contributions/payments"
method: POST
path: "/contributions/payments"
---

# /contributions/payments

`POST /contributions/payments`

Records and processes a Contribution with the payment information provided in the request body.

## Headers

- `Idempotency-Key` string, required

## Request body

- object
  - `contact` object, required — The [Person](https://docs.ngpvan.com/reference/people) who contributed.
    - `vanId` string
  - `designation` object, required — The [Designation](https://docs.ngpvan.com/reference/designations) which will receive funds associated with this Contribution.
    - `designationId` integer
  - `gatewayId` integer, required — The payment gateway which will process this Contribution.
  - `amount` number, double, required — Monetary amount of the Contribution. Non-positive values, and values that have more than 2 digits after the decimal point, will not be accepted. Must be between $0.01 and $999,999.99, inclusive.
  - `paymentMethod` object, required — Payment information that will be used to process the Contribution.
    - `paymentType` 'CreditCard' | 'ElectronicFundsTransfer' — The value of PaymentType determines the required parameters for the rest of this object. CreditCard requires creditCardNumber, expirationMonth, expirationYear, with cvv optional; ElectronicFundsTransfer requires accountType, routingNumber, accountNumber. Including CreditCard fields with paymentType EFT or vice versa will be treated as an invalid request.
    - `creditCardNumber` string — Credit card payments - credit card number
    - `cvv` string — Credit card payments - credit card cvv
    - `expirationMonth` string — Credit card payments - two-digit expiration month of card
    - `expirationYear` string — Credit card payments - four-digit expiration year
    - `accountType` 'PersonalChecking' | 'PersonalSavings' — ElectronicFundsTransfer payments - the type of account
    - `accountNumber` string — ElectronicFundsTransfer payments - account number
    - `routingNumber` string — ElectronicFundsTransfer payments - routing number
  - `codes` object[] — An array of zero or one [Codes](https://docs.ngpvan.com/reference/codes) to apply to the contribution. Contributions may not have more than one Code applied, and if a Code is applied, it must be a Source Code.
    - `codeId` integer, required
    - `codeName` string
  - `generalLedgerFund` object — The associated GeneralLedgerFund object.
    - `generalLedgerFundId` integer — ID of the general ledger fund
  - `costCenter` object — The associated CostCenter object.
    - `costCenterId` integer — ID of the CostCenter
  - `directMarketingCode` string — The direct marketing code.
  - `notes` string — A note describing the Contribution.
  - `extendedSourceCode` object — The [Extended Source Code](https://docs.ngpvan.com/reference/extended-source-codes) object to apply to the Contribution. Only the extendedSoureCodeId property is required. If this is provided and no `codes` are provided, we’ll look for and apply a matching Source Code to the contribution from a Direct Response Plan segment that the contact is in with a contact history record that has the extended source code. If no matching source code is found, then the POST will fail.
    - `extendedSourceCodeID` integer — The ID of the extended source code to associate with this commitment
  - `financialBatchId` integer — The ID of the associated [Financial Batch](https://docs.ngpvan.com/reference/financial-batches). Required if Financial Batch Manager is enabled in the committee context; not allowed if Financial Batch Manager is disabled in the committee context. If specified, the Designation of the Financial Batch must match the Designation of the contribution.

## Response `201`

201

- integer

## Other responses

- `400` — 400
- `401` — 401
- `403` — 403
- `409` — 409
- `500` — 500

---

[API](https://skmtc.net/ngpvan/apis/van-crm.md) · [All operations](https://skmtc.net/ngpvan/apis/van-crm/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/ngpvan/van-crm/revisions/f9adfdbb3c56/schema)
