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
amountdoubleYes The payment amount.
commentsstringNo Comments related to the payment transaction.
convenienceFeedoubleYes The payment convenience fee to be applied. Set to 0 if none.
creditCardcreditCard{}No The credit card information.
creditCard.billingAddresscreditCard.billingAddress{}No The credit card address.
creditCard.billingAddress.addressLine1stringNo The first line of the address.
creditCard.billingAddress.addressLine2stringNo The second line of the address.
creditCard.billingAddress.addressLine3stringNo Get All Address Unit Types The current status of the address record.
creditCard.billingAddress.citystringNo The name of the city.
creditCard.billingAddress.countryCodestringNo Get All Address Countries The name of the country. Required if billing address is provided.
creditCard.billingAddress.postalCodestringNo The name of the county.
creditCard.billingAddress.statestringNo Get All Address States The state corresponding to the address on record.
creditCard.businessNamestringNo A secondary business name for the applicable individual.
creditCard.cardNumberLastDigitsstringNo The last 4 digits of the credit card number.
creditCard.cardTypestringYes The credit card type. For example, Visa, American Express, or Discover.
creditCard.holderNamestringNo The check holder's name.
merchantAccountIdstringNo The account ID of the merchant receiving the payment.
payeePhonestringNo The area code and phone number of the payee.
paymentMethodstringYesCredit Card | CheckThe method of payment, either Credit Card or Check.
paymentSystemTransactionIdstringYes The third party payment system's payment transaction ID.
fieldsstringNo Comma-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.
idstringYes The unique identifier for the object, assigned by the Civic Platform server and provided in a response.
langStringNo Indicates 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