Commit Payment

Processes and commits citizen payment information for the specified payment transaction ID. The Commit Payment API allows a third-party payment vendor to send payment information to Automation. The Commit Payment API processes the payment information, logs merchant account audit information, triggers the EMSE events ConvertToRealCAPBefore and PaymentReceiveBefore, creates a transaction record, triggers the EMSE event ConvertToRealCAPAfter, finishes the Automation payment, triggers the EMSE event PaymentReceiveAfter, and appoves the transaction.

Note: An agency Construct administrator controls which apps can call Commit Payment. By default, Commit Payment is disabled. To allow an app to call Commit Payment, an agency administrator must go to the {Agency}:Apps page on the Construct Admin Portal, and enable the Payment Enabled property for the app.

Resource Information


Deprecated scope name:   confirm_payment

App TypeCitizen
Authorization TypeAccess token
URI /V4/payments/{id}?fields={fields}&lang={lang}
Automation Version(s)

Request Information

Field or ParameterTypeRequiredValuesDescriptionAutomation Version
amountdoubleYesThe payment amount.
commentsstringNoComments related to the payment transaction.
convenienceFeedoubleYesThe payment convenience fee to be applied. Set to 0 if none.
creditCardcreditCard{}NoThe credit card information.
creditCard.billingAddresscreditCard.billingAddress{}NoThe credit card address.
creditCard.billingAddress.addressLine1stringNoThe first line of the address.
creditCard.billingAddress.addressLine2stringNoThe second line of the address.
creditCard.billingAddress.addressLine3stringNo Get All Address Unit Types The current status of the address record.
creditCard.billingAddress.citystringNoThe name of the city.
creditCard.billingAddress.countryCodestringNo Get All Address Countries The name of the country. Required if billing address is provided.
creditCard.billingAddress.postalCodestringNoThe name of the county.
creditCard.billingAddress.statestringNo Get All Address States The state corresponding to the address on record.
creditCard.businessNamestringNoA secondary business name for the applicable individual.
creditCard.cardNumberLastDigitsstringNoThe last 4 digits of the credit card number.
creditCard.cardTypestringYesThe credit card type. For example, Visa, American Express, or Discover.
creditCard.holderNamestringNoThe check holder's name.
merchantAccountIdstringNoThe account ID of the merchant receiving the payment.
payeePhonestringNoThe area code and phone number of the payee.
paymentMethodstringYesCredit Card | CheckThe method of payment, either Credit Card or Check.
paymentSystemTransactionIdstringYesThe third party payment system's payment transaction ID.
fieldsstringNoComma-delimited names of fields to be returned in the response. Note: Field names are case-sensitive and only first-level fields are supported. Invalid field names are ignored.
idstringYesThe unique identifier for the object, assigned by the Civic Platform server and provided in a response.
langStringNoIndicates the language applied.


Sample Request Head


Sample Request Body

  "amount": "100.50",
  "convenienceFee": "0",
  "payeePhone": "4067615677",
  "paymentMethod": "Credit Card",
  "paymentSystemTransactionId": "d1f63549-8fd1-4be5-abf8-e624897044be",
  "creditCard": {
    "cardType": "VISA",
    "cardNumberLastDigits": "*4219",
    "holderName": "Jane Johnston"


This example commits payment information for a third-party payment transaction id #322931.

Response Information

FieldTypeDescriptionAutomation Version
result.completePaymentsresult.completePayments{}An array containing the completed payment transaction.
result.completePayments.paymentIdstringThe payment id.
result.completePayments.paymentStatusstringThe payment status (currently, this field always returns "PAID").
result.completePayments.receiptIdstringThe payment receipt id.
result.completePayments.recordIdresult.completePayments.recordId{}The record id the payment is applied to.
result.completePayments.serviceProviderCodestringThe unique agency identifier.
result.messagestringResponse message for the payment transaction.
statusintegerThe record status.


Sample Response Body

  "result": {
    "completePayments": [
        "receiptId": "198284",
        "serviceProviderCode": "TACOMA",
        "recordId": "TACOMA-03HST-00000-002UD",
        "customId": "BLD2003-01115",
        "paymentId": 3166539,
        "paymentStatus": "Paid"
  "status": 200