Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.flinks.com/llms.txt

Use this file to discover all available pages before exploring further.

When an EFT transaction is rejected, the receiving financial institution sends back a Payments Canada return code (CPA005 standard, plus Rule H1 codes for PAD disputes). This guide maps every return code you might see to a clear operational decision: cancel the schedule, contact the user and create a new transaction, review before acting, or escalate. Codes and procedures here follow Payments Canada Standard 007 and Rule H1.
PAD disputes are time-sensitive. Any return code flagged as a PAD Dispute triggers an automatic recall of funds while the dispute is under review. Contact Flinks Payments Support immediately when you see one — do not wait.

Decision framework

Every return code maps to one of four decisions. Use the decision to drive your workflow before reading the code-specific guidance.
DecisionWhen it appliesSchedule action
Cancel SchedulePermanent account issue. Retrying will produce the same result.Stop all payments to this account.
Contact User / New TransactionRecoverable, temporary failure. Account is valid.Keep schedule. Cancel the failed transaction. Create a new one once the user confirms funds are available.
Review Before ActingIntent is unclear. Outcome depends on what the user tells you.Hold further action. Speak to the user. Cancel the schedule or continue based on their response.
Investigate / EscalateTechnical or systemic issue. Not a customer problem.Keep the schedule. Fix the technical issue. Do not involve the user.

Decision matrix

Quick lookup by code:
DecisionCodes
Cancel Schedule902, 905, 907, 909, 910, 911, 912, 915, 917, 920
Contact User / New Transaction901, 908
Review Before Acting903, 914, 916, 918, 919, 921
Investigate / Escalate900, 904, 922, 990
PAD Dispute (Rule H1)902, 905, 907, 909, 911, 912, 915, 916, 917, 918, 919, 920, 921

File validation

Decision: Investigate / EscalateThe EFT file failed Payments Canada format validation before any transaction was processed.
What caused thisInvalid institution or transit numbers, incorrect account number format, or missing mandatory fields.
ImpactNo funds were debited. Rejected at file level before reaching the receiving institution.
What you do nextDo not contact the user. Inspect the statusDetails on the transaction for the specific validation error. Contact Flinks support with the transaction details. Cancel the failed transaction and create a new one with the corrected details. Do not modify the original transaction.
Schedule actionKeep schedule. Cancel the failed transaction. Create a new transaction with corrected details.

Administrative returns

Decision: Contact User / New TransactionThe user’s account did not have enough cleared funds at processing time. This is the most common return code.
What caused thisInsufficient cleared funds at presentation time. The account is valid and debitable.
ImpactNo funds collected this cycle. The failed transaction cannot be retried or modified in Flinks. A new transaction must be created once the user confirms funds are available.
What you do nextContact the user promptly. Explain the payment was returned due to insufficient funds. Confirm when funds will be available. Cancel the failed transaction and create a new one for the confirmed date. The existing PAD agreement covers the new transaction. Cancel the schedule only if NSF returns repeatedly.
Schedule actionKeep schedule. Cancel the failed transaction. Create a new transaction once the user confirms funds are available.
Decision: Cancel ScheduleThe account number does not exist at the named institution.
What caused thisIncorrect account number, wrong transit, or the account migrated during a bank merger.
ImpactNo funds collected. Any future attempts to this account will fail identically.
What you do nextCancel all scheduled payments immediately. Contact the user to collect correct banking details. Obtain a new PAD agreement. Create a new schedule with the verified account details.
Schedule actionCancel schedule. Collect new account details and a new PAD. Create a new schedule.
Decision: Review Before ActingThe user placed a stop payment on this specific transaction.
What caused thisThe user contacted their bank to place a stop payment. This may be a one-time stop rather than a full PAD revocation.
ImpactNo funds collected this cycle. Intent is unknown until you speak with the user.
What you do nextContact the user before taking any action. Determine if this is a one-time stop or a full cancellation. If the user wants to continue, cancel the stopped transaction and create a new one after confirming intent in writing. If cancelling, cancel the schedule. Do not create a new transaction without speaking to the user first.
Schedule actionHold further action. Confirm user intent before continuing or cancelling the schedule.
Decision: Investigate / EscalateThe transaction date is outside the allowable processing window.
What caused thisTransaction submitted with a date too far in the future or past. A technical submission error on your side, not a customer issue.
ImpactNo funds collected. Transaction was not presented to the receiving institution.
What you do nextCancel the failed transaction. Create a new transaction with the correct date. Do not contact the user. Do not cancel the schedule.
Schedule actionKeep schedule. Cancel the failed transaction and create a new one with the correct date.
Decision: Cancel ScheduleThe bank account has been closed.
What caused thisThe account was closed prior to the transaction being presented. A permanent state. Any future attempts will fail.
ImpactNo funds collected. All future attempts to this account will fail.
What you do nextCancel all scheduled payments immediately. Contact the user to collect new banking details. Execute a new PAD agreement. Create a new schedule on the replacement account. Do not attempt any transaction on the closed account.
Schedule actionCancel schedule. New account details and new PAD required.
Decision: Cancel ScheduleThe account type does not permit debit transactions.
What caused thisAccount type does not support debits. Examples: certain savings accounts, TFSA, RRSP, or accounts with a debit block. A permanent account characteristic.
ImpactNo funds collected. Retrying on the same account will always fail.
What you do nextCancel scheduled payments. Ask the user to provide a chequing account that supports PAD. Execute a new PAD agreement on the replacement account.
Schedule actionCancel schedule. User must provide an eligible chequing account. New PAD required.
Decision: Contact User / New TransactionFunds are present in the account but on hold and not yet available.
What caused thisAccount has funds on hold (e.g. recent deposit not yet cleared). A timing issue. The account is valid and the user has the money. The failed transaction cannot be modified or retried in Flinks.
ImpactNo funds collected this cycle. The account is healthy.
What you do nextContact the user to explain the payment was returned due to a temporary hold on their funds. Confirm when the hold will clear (typically 2 to 3 business days). Cancel the failed transaction and create a new one for the confirmed date. The existing PAD agreement covers the new transaction.
Schedule actionKeep schedule. Cancel the failed transaction and create a new one once the hold clears.
Decision: Cancel ScheduleThe transaction currency does not match the account currency.
What caused thisA CAD transaction was submitted against a USD-denominated account. Flinks Pay only supports CAD. Indicates incorrect account information was collected at onboarding.
ImpactNo funds collected. This account cannot be used for CAD EFT debits.
What you do nextCancel all scheduled payments. Contact the user to confirm they have a CAD chequing account. Collect the correct account details. Execute a new PAD agreement. Create a new schedule on the correct account.
Schedule actionCancel schedule. User must provide a CAD account. New PAD required.
Decision: Cancel ScheduleThe account holder is deceased.
What caused thisThe financial institution has been notified of the account holder’s death and has flagged or frozen the account.
ImpactNo funds collected. The account is no longer operable.
What you do nextCancel all scheduled payments immediately. Do not contact the account. Escalate to your internal ops team and compliance. Document the return and follow your internal procedures.
Schedule actionCancel schedule immediately. Escalate to ops and compliance. Do not retry.
Decision: Cancel ScheduleThe account has been legally restricted or frozen.
What caused thisAccount frozen by the financial institution due to a legal order, fraud investigation, or regulatory action. The account holder cannot use the account while the freeze is in place.
ImpactNo funds collected. The account cannot be debited in its current state.
What you do nextCancel all scheduled payments. Do not retry. Inform the user through your normal channels. The user must resolve the freeze with their bank and provide new account details before payments can resume.
Schedule actionCancel schedule. New account details and new PAD required once freeze is resolved.
Decision: Cancel ScheduleThe account number structure is invalid.
What caused thisAccount number fails structural validation: wrong length, invalid check digit, or a number that does not match any account. Typically a data entry error at onboarding.
ImpactNo funds collected. Retrying with the same details will produce the same result.
What you do nextCancel all scheduled payments. Contact the user to reconfirm and verify their banking details. Execute a new PAD agreement on the verified account. Create a new schedule. Consider adding bank account verification to your onboarding flow to prevent recurrence.
Schedule actionCancel schedule. Re-collect and verify account details. New PAD required.
Decision: Review Before ActingThe name on the transaction does not match the account.
What caused thisName submitted does not match the account holder name at the receiving institution. May be a nickname, maiden name, business name, or a joint account holder mismatch.
ImpactNo funds collected. May indicate a data quality issue at onboarding.
What you do nextContact the user to verify the exact name on their bank account. Cancel the failed transaction. Create a new transaction with the corrected name. If the account belongs to a different person entirely, cancel the schedule, assess PAD validity, collect a new PAD agreement, and create a new schedule.
Schedule actionCancel the failed transaction. Speak to the user before creating a new transaction with the corrected name. If account ownership differs, cancel the schedule — a new PAD and new schedule are required.
Decision: Investigate / EscalateThe customer has initiated a return of a credited amount. Applies to EFT credit transactions only.
What caused thisThe customer is returning funds that were paid out to them via an EFT credit.
ImpactFunds originally credited will be returned to your account. Not applicable to debit schedules.
What you do nextReview the original credit transaction. Update your internal records and reconciliation. No schedule cancellation needed. Escalate if the return is unexpected.
Schedule actionNot applicable to debit schedules. Review the original credit and update records.

PAD disputes (Rule H1)

These codes indicate the user has formally disputed the PAD agreement. Under Rule H1, funds are automatically recalled while the dispute is under review. Contact Flinks Payments Support immediately for every code in this section.
Decision: Cancel ScheduleThe user claims they never authorized a PAD.
What caused thisUser told their bank no PAD agreement exists. Either no PAD was obtained (compliance failure), the user has forgotten they signed it, or the PAD was not properly stored.
ImpactFunds will be recalled automatically. You must return funds while the dispute is under review. High-severity event with a 90-day contestation window.
What you do nextCancel the schedule immediately. Do not retry. Locate the PAD agreement and provide it to Flinks for the recall challenge. If no PAD exists, the recall will be upheld. Contact Flinks Payments Support.
Schedule actionCancel schedule immediately. PAD evidence required to challenge the recall.
Decision: Review Before ActingThe user claims the debit amount or date differed from PAD terms.
What caused thisUser agrees a PAD exists but claims the transaction does not match its terms: wrong amount, wrong date, or wrong frequency.
ImpactFunds may be recalled within the 90-day window. Recall is automatic on user request pending review.
What you do nextDo not create new transactions until the dispute is resolved. Review the PAD agreement terms against the transactions submitted. If correct, provide evidence to Flinks to challenge. If incorrect, return funds, cancel the schedule, and recreate it with corrected terms after reconfirming with the user. Contact Flinks Payments Support.
Schedule actionHold further action. Review against PAD terms. Cancel and recreate the schedule with corrected terms if the dispute is upheld.
Decision: Cancel ScheduleThe user has formally cancelled their PAD authorization.
What caused thisUser has formally revoked their PAD agreement. Under Rule H1, revocation takes effect immediately and you lose the right to debit the account.
ImpactAuthorization is gone. Any further debits will result in additional returns and potential regulatory exposure.
What you do nextCancel the schedule immediately. No further debits permitted. Contact the user to understand whether they want to continue with a different method. A fresh PAD agreement is required before any future debits.
Schedule actionCancel schedule. No further debits permitted. New PAD required if user wants to continue.
Decision: Review Before ActingThe user claims they did not receive required advance notice of the debit.
What caused thisPayments Canada requires pre-notification of PAD debits. The user claims notification was not received or was insufficient.
ImpactFunds subject to recall. Also a compliance risk: insufficient pre-notification can invalidate the PAD agreement.
What you do nextDo not create new transactions until notification compliance is confirmed. Review your PAD notification process. If notification was sent correctly, provide evidence to Flinks. If there is a gap in your process, address it before any further debits. Contact Flinks Payments Support.
Schedule actionHold further action. Confirm notification compliance. Cancel the schedule if compliance gaps cannot be remediated before the next debit.
Decision: Review Before ActingA business claims the debit differed from PAD terms.
What caused thisSame as code 916 but for business (corporate) PAD agreements. The business claims the debit amount, date, or frequency does not match the signed agreement.
ImpactFunds subject to recall. Business PADs have different Rule H1 provisions and contestation windows than personal PADs.
What you do nextDo not create new transactions until the dispute is resolved. Review the business PAD terms against the transaction submitted. Challenge or correct as appropriate. Note that business PAD contestation windows differ from personal PADs. Contact Flinks Payments Support.
Schedule actionHold further action. Review against business PAD terms. Cancel and recreate the schedule with corrected terms if the dispute is upheld.
Decision: Cancel ScheduleA business has formally cancelled its PAD authorization.
What caused thisBusiness has formally revoked its PAD agreement. Same principle as code 917 but for business accounts. Revocation is effective immediately under Rule H1.
ImpactAuthorization is revoked. Further debits are not permitted and will result in returns and regulatory exposure.
What you do nextCancel the schedule immediately. Contact the business to understand the reason and whether they want to continue via another method. A new business PAD is required before any further debits.
Schedule actionCancel schedule. No further debits permitted. New business PAD required.
Decision: Review Before ActingA business claims it did not receive required advance notice.
What caused thisSame as code 918 but for business PAD agreements. The business claims pre-notification of the debit was insufficient under Payments Canada requirements.
ImpactFunds subject to recall. Notification compliance is required for both personal and business PADs.
What you do nextDo not create new transactions until business notification compliance is confirmed. Review your business notification process. Provide evidence if notification was sent correctly. Address gaps before continuing any debits. Contact Flinks Payments Support.
Schedule actionHold further action. Confirm business notification compliance. Cancel the schedule if compliance gaps cannot be remediated.

Other

Decision: Investigate / EscalateThe receiving financial institution is in default. An extremely rare event.
What caused thisThe receiving institution has been designated in default by Payments Canada. Affects the institution itself, not the individual account.
ImpactNo funds collected. All transactions at this institution are affected.
What you do nextDo not retry until Payments Canada issues guidance. Contact Flinks Payments Support immediately. Keep the user informed that their payment is pending due to an issue outside your control.
Schedule actionSuspend schedule pending Payments Canada guidance. Do not retry independently.

Handling PAD disputes

When you see a PAD dispute code (902, 905, 907, 909, 911, 912, 915, 916, 917, 918, 919, 920, 921):
1

Contact Flinks Payments Support immediately

Funds are recalled automatically while the dispute is under review. Do not wait for the user to contact you. Reach out to the Flinks team with the transaction ID and return code.
2

Locate the PAD agreement

For codes 915–921, you have a 90-day contestation window (personal PADs) to provide evidence the agreement is valid and the debit was authorized.
3

Stop further debits

Follow the schedule action for the specific code. Cancel the schedule for revocation and “no agreement” codes (915, 917, 920). For the “review” codes (916, 918, 919, 921), do not create new transactions until the dispute is resolved — then either cancel the schedule or recreate it with corrected terms.
4

Document and follow up

Update your internal records. If the dispute is upheld, you cannot resume debits on that account without a fresh PAD agreement.

Checking return codes

Return codes for a failed transaction are available via the API. Call the Get Schedule endpoint and inspect the statusDetails and return code fields on the relevant payment. See Troubleshooting Payments for the broader status lifecycle.