Managing Billpay Transactions
This guide contains instructions for managing billpay transactions that have been initiated as well as how to manage billers. This guide also contains information about the External Trans API.
Along with this guide you may want to read these other guides:
- About Bill Pay — General information about bill pay at Galileo
- Creating a Billpay Transaction — Instructions for creating billpay transactions, including adding billers and creating scheduled transactions
Displaying billpay transactions
- Call Get Scheduled Bill Payments to retrieve transactions with process dates that are equal to or later than the current date.
- Call Get Bill Payment History to retrieve all billpay transactions between the start and end dates, both past and future.
- Call any transaction-retrieval endpoint that returns posted transactions to display billpay transactions in a full transaction list:
Canceling billpay transactions
To cancel a billpay transaction, follow one of these procedures:
- Cancel an electronic transaction
- Cancel a paper check transaction
- Cancel one scheduled billpay transaction
- Cancel a scheduled billpay series
Cancel an electronic transaction
You can cancel an electronic transaction using the Program API or CST when it is in status: N (not processed).
- Call Get Bill Payment History. The endpoint returns a
billpay_transaction_id
underbill_payments
. - Call Cancel Bill Payment and populate the
billpayTransactionId
with the ID that you retrieved in the previous step.
If the transaction can be canceled, the endpoint returns success.
If the transaction cannot be canceled, the endpoint returns status_code: 435-02.
Cancel a paper check transaction
You can cancel a paper check transaction using the Program API or CST when it is in status: N
(not processed), status: W
(waiting to be processed) or status: P
(processed). In status: Q
(printed) you might be able to cancel it through the CST. (Sometimes, it's too late to cancel a check after it's been printed.) You can also cancel paper transactions that are scheduled for the future.
- The account holder launches a "cancel transaction" control on your interface for a paper biller.
- Do one of the following:
- Recommended. Check the status of the payment first. Call Get Bill Payment History and get the
status
on the transaction:N
,W
orP
— The transaction can be canceled with the CST or the Program API. Call Cancel Bill Payment.Q
— The transaction must be cancelled in the CST.- Other — The transaction cannot be canceled.
- Call Cancel Bill Payment.
- If the transaction can be canceled, the endpoint returns success.
- If the transaction cannot be canceled, the endpoint returns
status_code: 435-02
. The endpoint does not return the status, so if the transaction is instatus: Q
, when it can be cancelled in the CST, you will not know.
- Recommended. Check the status of the payment first. Call Get Bill Payment History and get the
- The transaction is changed to
status: K
(check cancellation requested) and the current datetime is set as the return date. - Galileo confirms with the bank that the check has been cancelled. This process takes approximately two days.
- If the amount had already been adjusted out of the account, Galileo returns the amount to the account, sends the
BADJ: adj
event message, and includes the adjustment in the Posted Transactions RDF. - If the CHC (check cancellation) fee has been set up, Galileo assesses the fee, sends the
BFEE: fee
event message, and includes the fee in the Posted Transactions RDF. - The transaction is changed to
status: X
.
Cancel a future billpay transaction
To cancel a non-recurring payment that is scheduled for the future, follow these steps:
- Call Get Scheduled Bill Payments. The endpoint returns a
billpay_transaction_id
underfuture_scheduled_payments
. - Call Cancel Bill Payment and populate the
billpayTransactionId
with the ID that you retrieved in the previous step.
Note
You cannot cancel one particular payment of a recurring payment series, because its
billpay_transaction_id
is not created until the day the payment is scheduled to take place.
Cancel a scheduled billpay series
If an account holder has set up recurring billpay transactions and wants to cancel the whole series, follow these steps:
- Call Get Billers to retrieve the
biller_id
andtype
:type: E
— Call Modify RPPS Biller.type: P
— Call Modify Paper Biller.
- Do one of these things:
- Set the
endDate
to today's date. - Pass
Null
for these parameters:frequencyType
,nextDate
,endDate
.
- Set the
Note
You cannot cancel future or scheduled transactions by removing the biller.
Deleting a biller
Note
When you delete a biller, any scheduled or future transactions for that biller are not deleted. If you also want to deactivate the scheduled transactions, first follow the procedure in Cancel a scheduled billpay series and then afterwards remove the biller using the steps below. You might also need to manually delete any future non-recurring transactions.
To remove a biller, follow these steps:
- Call Get Billers to retrieve the
biller_id
of the biller to delete. - Call Remove Biller and populate
billerId
with the ID you retrieved in the previous step.
Closing an account with billpay
When you close an account in the CST that uses billpay, and there are pending billpay transactions at the time of account closing, Galileo sends the BPCL: billpay_cancelled
event message. This message is not generated if you close the account using the Program API.
Follow the steps in Cancel a scheduled billpay series to cancel the remaining transactions. As necessary, follow the steps in Cancel a future billpay transaction to cancel non-recurring transactions.
If you do not cancel the remaining transactions, on the day the next transaction is scheduled, Galileo checks for an active account, and because the account is closed, the process stops, and Galileo sends BSPF: sched_billpay_fail
.
Fees
You can configure these fees for your product, as desired:
Fee code | Description | Transaction code |
---|---|---|
BPY | Billpay fee (electronic) | FE0301 |
CHK | Billpay fee (paper check) | FE0302 |
CHC | Billpay fee (check cancelation) | FE0303 |
The fee is assessed at the time that the billpay amount is adjusted out of the account. If there are insufficient funds for the billpay amount plus the fee, Galileo denies the transaction.
However, you can choose to defer the fee if there are insufficient funds for it by setting the BPPPF parameter. With that parameter set, the transaction is approved if there are sufficient funds for the billpay amount but not the fee. The fee remains in a pending state until sufficient funds are deposited in the account, at which time the fee is assessed.
In the Posted Transactions RDF, the fee is a separate transaction from the billpay adjustment, with the transaction code as shown in the table above.
See About Fees for additional information about fees for Billpay. See Processing fees for the workflow.
External Trans API
If you are the system of record for your accounts, you can implement the Billpay Webhook of the External Trans API. Galileo sends you a webhook message for each scheduled billpay transaction before it is adjusted out of the account, which you approve or deny for insufficient funds. Set the BPOTB parameter so that Galileo does not check for limit violations or for sufficient funds before sending you the webhook message.
When using the Billpay Webhook, you can also determine whether transactions that you approve can drive the account negative, by setting the AAIGB parameter.
If you are the system of record for your program, perform your own balance check before calling the Create Bill Payment endpoint.
External Trans API workflow
-
The transaction is created by the scheduler, and Galileo runs through the same series of checks as in the Scheduled transaction workflow.
-
Galileo creates the transaction in
status: N
and sends theBPCQ: billpay_request_made
event message. -
Galileo sends you a billpay webhook message for the transaction.
-
You check the account balance and send back a response code:
99
(error; retry) or no response — If retry is set up for your program, Galileo sends theBPAR: billpay_retry
event message, waits for a configured interval, and then resends the webhook message.01
(insufficient funds) or98
(error; no retry) — Transaction is changed tostatus: E
and Galileo sends theBRRJ: billpay_rejected
event message for electronic transactions only.00
— The adjustment is posted to the account. Galileo sends theBPAY: billpay
event message.
-
The billpay process checks for a fee.
- If there is a fee, the Processing fees process is followed.
- If there is no fee, the process continues.
-
Galileo changes the transaction to one of these statuses:
status: O
— Electronic transaction. See Processing an electronic transaction for next steps.status: W
— Paper check transaction. See Processing a paper billpay transaction for next steps.
Billpay transaction codes
These are some of the transaction codes that are associated with bill pay. To see exactly which transaction codes your program uses, consult the Funds Flow document that you received from Galileo.
Transaction type | act_type | otype |
---|---|---|
Electronic posted | AD | R |
Electronic reversal | AD | r |
Paper check posted or reversed | AD | Z |
Electronic fee | FE | 0301 |
Paper check fee | FE | 0302 |
Check cancellation fee | FE | 0303 |
Events API
Arrange with Galileo to have some or all of these events sent to you to alert you of billpay-related events in real time.
Message | Description |
---|---|
BPCQ: billpay_request_made | A billpay request was initiated. The billpay transaction has been created and is in status: N . |
BPAY: billpay | A billpay transaction was adjusted out of the account. This event is sent instead of BADJ: adj . |
BPCL: billpay_cancelled | An account that uses billpay was cancelled in the CST, and it had one or more pending billpay transactions when closed |
BPCM: billpay_check_mailed | A billpay check order was created. |
BPCC: billpay_check_cleared | A billpay check was cashed and the payment has cleared. |
BPAR: billpay_retry | The billpay process must retry a transaction that was sent to the External Trans API. Either a timeout occurred, or you indicated that Galileo should try again later. |
BRRJ: billpay_rejected | An electronic transaction has been returned by Mastercard. |
BSPF: sched_billpay_fail | A scheduled bill payment has failed because of insufficient funds or some other problem in the process. |
BPCR: billpay_request_returned | A billpay check was returned to Galileo in the mail. |
BPEX: billpay_expired | A billpay check did not clear six months after the check's date, and the check is no longer valid. |
BLVF: billpay_limit_violation | A billpay transaction violated the limit in LIMBP. |
Galileo setup
Galileo will configure these product parameters according to your use case.
Parameter | Description | Values |
---|---|---|
AAIGB | Controls whether to allow a billpay transaction to drive the account negative when using the External Trans API. | |
BPLBL | Contains a string to add to the adjustment description as a prefix for the biller name. | - ) — Do not prepend anything to bill pay descriptions.Billpay . |
BPOTB | Provider parameter. Controls whether to check the maximum limit and balance before creating a billpay transaction. Set this parameter only if you maintain the ledger for your accounts instead of Galileo and you are using the External Trans API. | |
BPPPF | Controls whether a billpay transaction fails if the available balance is insufficient to cover fees. When this parameter is set, the fee is deferred until later when the current balance is sufficient for the billpay transaction but not the fee. | |
LIMBP | Specifies the maximum amount of an individual billpay transaction. When this parameter is not set, the maximum is 25000.00. | |
RPPSC | Contains the RPPS payment ID and check digit. | 9-digit number |
Updated 1 day ago