Making ad hoc and scheduled credit card and ACH payments
POST /billingAccounts/{systemId}/paymentRequest
- Make ad hoc credit card or ACH payment requests for existing or new payment profiles.
POST /billingAccounts/{systemId}/scheduledPaymentRequest
- Make scheduled credit card or ACH payment requests for existing or new payment profiles.
Credit card from an existing payment profile
- Issue a
GET /billingAccounts/{systemId}/paymentSources
request.You can optionally pass thesourceName
parameter to get just the payment profiles that were made from a specific source, such as Service Portal or Sales Portal.Note: Be aware thatSourceName
is a relatively new feature and therefore prior payments might not be marked with this parameter. You can use any value for thesourceName
parameter. But a best practice is to use consistent values to enable reliable filtering when performing lookups in the core InsuranceNow user interface.Select the appropriate prior payment withmethodCd=Credit Card
. The following code shows an example of a typical response: -
Use the values from the previous endpoint result in a call to the
POST /billingAccounts/{systemId}/paymentRequest
orscheduledPaymentRequest
endpoint as follows:- Copy the masked credit card number value from
creditCardNumber
field to the field of the same name. - Copy the value in the
id
field to thepaymentOnFileId
field.
Note: Certain fields are required based on the validation for the type of payment you are handling. For example,creditCardNumber
is required when dealing with a credit card payment.The following code shows an example of a typicalpaymentRequest
orscheduledPaymentRequest
POST event:Note:creditCardNumber
must be a masked value. If you are dealing with an unmasked credit card number, you must mask it before sending it to InsuranceNow. Guidewire security practices do not allow storing full credit card numbers in InsuranceNow. - Copy the masked credit card number value from
Credit card through a payment service
To make a credit card payment through an external payment service, such as Authorize.net or through One Inc via the Guidewire Payments API, requires your API caller to have a PCI-compliant integrated iFrame for secure payment processing. If properly configured, the payment service returns a transaction ID or payment profile ID that InsuranceNow uses to confirm via the payment service.
paymentRequest
or
scheduledPaymentRequest
POST
event:creditCardNumber
, customerProfileId
, and
customerPaymentProfileId
from the iFrame or from your payment
service interface. These values are required if you are making an ad hoc payment
with a new credit card.creditCardNumber
must be a masked value. If your payment service does not provide a masked value,
you must mask it before sending it to InsuranceNow. Guidewire security practices
do not allow storing full credit card numbers in InsuranceNow. The customerProfileId
and customerPaymentProfileId
values are the customer account number and customer current transaction number from
your payment service. Authorize.net provides both values. One Inc via Guidewire
Payments API uses the same value for both fields.
The paymentServiceAccountId
field is generally the carrier code for
the policy being paid. You can retrieve this value in several ways. For example:
- Get the value from the current Policy or Account resource, which you could have
retrieved prior to this call by using
GET /policies/{systemId}
orGET /billingAccounts/{systemId}
respectively. - Use the
GET /billingAccounts/{systemId}/paymentSources
endpoint as described in the previous example to determine whether there were any prior payments on the account. This endpoint returns thepaymentServiceAccountId
in any prior payments, which is the carrier code.
ACH payment on a prior payment profile
- Issue a
GET /billingAccounts/{systemId}/paymentSources
request.You can optionally pass theSourceName
parameter to get just the payment profiles that were made from a specific source, such as Service Portal or Sales Portal.Note: Be aware thatSourceName
is a relatively new feature and therefore prior payments might not be marked with this parameter. You can use any value for thesourceName
parameter. But a best practice is to use consistent values to enable reliable filtering when performing lookups in the core InsuranceNow user interface.Select the appropriate prior payment that hasmethodCd=ACH
. The following code shows an example of a typical response: - Copy the value in the
id
field to thepaymentOnFileId
field from the previous endpoint result in a call to thePOST /billingAccounts/{systemId}/paymentRequest
orscheduledPaymentRequest
endpoint.Note: Certain fields are required based on the validation for the type of payment you are handling.The following code shows an example of a typicalpaymentRequest
orscheduledPaymentRequest
POST event:
ACH payment through a payment service
To make an ACH payment request through an external payment service, such as Authorize.net or through One Inc via the Guidewire Payments API, requires your API caller to have a PCI-compliant integrated iFrame for secure payment processing. If properly configured, the payment service will return a transaction ID or payment profile ID that InsuranceNow uses to confirm via the payment service.
paymentRequest
or
scheduledPaymentRequest
POST
event:achBankAccountNumber
, customerProfileId
, and
customerPaymentProfileId
from the iFrame or from your payment
service interface. These values are required if you are making an ad hoc payment
with new ACH information.achBankAccountNumber
must be a masked value. If your
payment service does not provide a masked value, you must mask it before sending
it to InsuranceNow. Guidewire security practices do not allow storing full
account numbers in InsuranceNow.The customerProfileId
and customerPaymentProfileId
values are the customer account number and customer current transaction number from
your payment service. Authorize.net provides both values. One Inc via Guidewire
Payments API uses the same value for both fields.
paymentServiceAccountId
field is generally the carrier code for
this policy being paid. You can retrieve this value in several ways. For example:
- From the current Policy or Account resource which you could have retrieved
prior to this call by using
GET /policies/{systemId}
orGET /billingAccounts/{systemId}
respectively. - If you attempted to determine whether there were any prior payments on the
account, from the
GET /billingAccounts/{systemId}/paymentSources
endpoint as described in the previous example. This endpoint returns thepaymentServiceAccountId
in any prior payments, which is essentially the carrier code.
The achBankAccountTypeCd
field is optional. Typical values are
"Checking"
and "Savings"
. You can provide this
value if the iFrame or payment service interface provides it. If included, it
enhances the details that InsuranceNow displays from the core user
interface.
ACH payment not from a prior payment or payment service
To make an ACH payment request that does not a prior payment profile and not through an external payment service, such as Authorize.net or One Inc via the Guidewire Payments API, requires ACH details such as the bank account number, bank routing number, and other information.
paymentRequest
or
scheduledPaymentRequest
POST event that requires these manual
details:- Because this is a manual ACH payment, the following fields are required:
achName
,achBankName
,achBankAccountTypeCd
,achBankAccountNumber
,achRoutingNumber
, andachStandardEntryClassCd
(Personal, Commercial, or other valid value.) - The
achBankAccountNumber
can be in clear text (unmasked) because this is the account number on the check of the payer. When stored in InsuranceNow, this value is masked. - The
achRoutingNumber
must be a valid routing number for the bank location of the check origination.