Make a payment

Consumers can make payments on policies in the Consumer Service Portal (Service Portal) using the following steps:
  1. Select Make a Payment.
  2. Enter payment details.
  3. Select a payment method. The Service Portal lists existing payment methods on file and the option to add a new payment method.
  4. Review payment details and click Make Payment.
The API calls required to complete the payment request vary based on the payment account and the payment date.


  1. To get a list of existing payment sources, the portal calls the following API:
    GET /billingAccounts/{systemId}/paymentSource
    Java
  2. The consumer selects a payment type and enters payment details.
  3. If the consumer enters details for a new credit card, see the Process to contact payment processor for new credit card account.
  4. The portal calls one of the following APIs to process the payment request:.
    • To processes the payment on the current date, it calls the following API:
      POST /billingAccounts/systemId/paymentRequest 
      Java
    • To processes the payment on a scheduled date that is no more than 14 days in the future, it calls the followings API:
      POST /billingAccounts​/systemId​/scheduledPaymentRequest
      Java

    The body of the API request varies based on the payment method and payment details. The following examples provide guidance regarding the fields to include in the body of the request. However, the requirements and content might differ for your implementation.

    Credit Card example
    Credit card payment requests generally include the following fields:
    {
      "scheduledDate": "YYYY-MM-DD",
      "paymentMethod": "Credit Card",
      "payments": [
        {
          "sourceRef": "BillingAccountSystemId",
          "sourceCd": "SourceCd",
          "receiptAmt": "PaymentAmount",
          "checkAmt": "PaymentAmount",
          "electronicPaymentSource": {
            "creditCardNumber": "CreditCardNumber",
            "customerProfileId": "CustomerProfileId",
            "customerPaymentProfileId": "CustomerPaymentProfileId",
            "methodCd": "Credit Card",
            "sourceName": "Mobile",
            "paymentServiceAccountId": "AccountID"
          }
        }
      ]
    }
    Java
    ACH payment example
    ACH payment requests generally include the following fields:
    {
      "scheduledDate": "YYYY-MM-DD",
      "paymentMethod": "ACH",
      "payments": [
        {
          "sourceRef": "BillingAccountSystemId",
          "sourceCd": "SourceCd",
          "receiptAmt": "PaymentAmount",
          "checkAmt": "PaymentAmount",
          "electronicPaymentSource": {
            "achName": "CardHolderName",
            "achBankAccountTypeCd": "Checking",
            "achBankAccountNumber": "AccountNumber",
            "achRoutingNumber": "RountingNumber",
            "achStandardEntryClassCd": "WEB"
          }
        }
      ]
    }
    Java
    Payment on file example
    Credit card and ACH payment request that use saved account information generally include the following fields:
    {
      "scheduledDate": "YYYY-MM-DD",
      "paymentMethod": "PaymentMethod",
      "payments": [
        {
          "sourceCd": "SourceCd",
          "receiptAmt": "PaymentAmount",
          "checkAmt": "PaymentAmount",
          "paymentOnFileId": "PaymentOnFileId"
        }
      ]
    }
    Java

Process to contact payment processor for new credit card account

Based on the payment processor, new credit card payments require some additional steps to obtain account details before the Service Portal can submit a payment request.

Using Payment Service
Before submitting a payment to a new credit card that uses the Payment Service, the Service Portal completes the following steps:
  1. The Service Portal uses the Guidewire Payments API to display an iframe that gathers the credit card information from the consumer.
  2. The Guidewire Payments API returns an ID to the Service Portal. The Service Portal uses this ID as the customerPaymentProfileId.
  3. The Service portal generates the customerProfileId.