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.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.
Decision framework
Every return code maps to one of four decisions. Use the decision to drive your workflow before reading the code-specific guidance.| Decision | When it applies | Schedule action |
|---|---|---|
| Cancel Schedule | Permanent account issue. Retrying will produce the same result. | Stop all payments to this account. |
| Contact User / New Transaction | Recoverable, temporary failure. Account is valid. | Keep schedule. Cancel the failed transaction. Create a new one once the user confirms funds are available. |
| Review Before Acting | Intent 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 / Escalate | Technical 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:| Decision | Codes |
|---|---|
| Cancel Schedule | 902, 905, 907, 909, 910, 911, 912, 915, 917, 920 |
| Contact User / New Transaction | 901, 908 |
| Review Before Acting | 903, 914, 916, 918, 919, 921 |
| Investigate / Escalate | 900, 904, 922, 990 |
| PAD Dispute (Rule H1) | 902, 905, 907, 909, 911, 912, 915, 916, 917, 918, 919, 920, 921 |
File validation
900 — File Validation Rejection
900 — File Validation Rejection
| What caused this | Invalid institution or transit numbers, incorrect account number format, or missing mandatory fields. |
| Impact | No funds were debited. Rejected at file level before reaching the receiving institution. |
| What you do next | Do 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 action | Keep schedule. Cancel the failed transaction. Create a new transaction with corrected details. |
Administrative returns
901 — Non-Sufficient Funds (NSF)
901 — Non-Sufficient Funds (NSF)
| What caused this | Insufficient cleared funds at presentation time. The account is valid and debitable. |
| Impact | No 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 next | Contact 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 action | Keep schedule. Cancel the failed transaction. Create a new transaction once the user confirms funds are available. |
902 — Account Not Found / Cannot Trace · PAD Dispute
902 — Account Not Found / Cannot Trace · PAD Dispute
| What caused this | Incorrect account number, wrong transit, or the account migrated during a bank merger. |
| Impact | No funds collected. Any future attempts to this account will fail identically. |
| What you do next | Cancel 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 action | Cancel schedule. Collect new account details and a new PAD. Create a new schedule. |
903 — Payment Stopped / Recalled
903 — Payment Stopped / Recalled
| What caused this | The user contacted their bank to place a stop payment. This may be a one-time stop rather than a full PAD revocation. |
| Impact | No funds collected this cycle. Intent is unknown until you speak with the user. |
| What you do next | Contact 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 action | Hold further action. Confirm user intent before continuing or cancelling the schedule. |
904 — Post-Dated or Stale-Dated
904 — Post-Dated or Stale-Dated
| What caused this | Transaction submitted with a date too far in the future or past. A technical submission error on your side, not a customer issue. |
| Impact | No funds collected. Transaction was not presented to the receiving institution. |
| What you do next | Cancel the failed transaction. Create a new transaction with the correct date. Do not contact the user. Do not cancel the schedule. |
| Schedule action | Keep schedule. Cancel the failed transaction and create a new one with the correct date. |
905 — Account Closed · PAD Dispute
905 — Account Closed · PAD Dispute
| What caused this | The account was closed prior to the transaction being presented. A permanent state. Any future attempts will fail. |
| Impact | No funds collected. All future attempts to this account will fail. |
| What you do next | Cancel 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 action | Cancel schedule. New account details and new PAD required. |
907 — No Debit Allowed · PAD Dispute
907 — No Debit Allowed · PAD Dispute
| What caused this | Account type does not support debits. Examples: certain savings accounts, TFSA, RRSP, or accounts with a debit block. A permanent account characteristic. |
| Impact | No funds collected. Retrying on the same account will always fail. |
| What you do next | Cancel scheduled payments. Ask the user to provide a chequing account that supports PAD. Execute a new PAD agreement on the replacement account. |
| Schedule action | Cancel schedule. User must provide an eligible chequing account. New PAD required. |
908 — Funds Not Cleared
908 — Funds Not Cleared
| What caused this | Account 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. |
| Impact | No funds collected this cycle. The account is healthy. |
| What you do next | Contact 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 action | Keep schedule. Cancel the failed transaction and create a new one once the hold clears. |
909 — Currency / Account Mismatch · PAD Dispute
909 — Currency / Account Mismatch · PAD Dispute
| What caused this | A CAD transaction was submitted against a USD-denominated account. Flinks Pay only supports CAD. Indicates incorrect account information was collected at onboarding. |
| Impact | No funds collected. This account cannot be used for CAD EFT debits. |
| What you do next | Cancel 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 action | Cancel schedule. User must provide a CAD account. New PAD required. |
910 — Account Holder Deceased
910 — Account Holder Deceased
| What caused this | The financial institution has been notified of the account holder’s death and has flagged or frozen the account. |
| Impact | No funds collected. The account is no longer operable. |
| What you do next | Cancel 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 action | Cancel schedule immediately. Escalate to ops and compliance. Do not retry. |
911 — Account Frozen · PAD Dispute
911 — Account Frozen · PAD Dispute
| What caused this | Account 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. |
| Impact | No funds collected. The account cannot be debited in its current state. |
| What you do next | Cancel 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 action | Cancel schedule. New account details and new PAD required once freeze is resolved. |
912 — Invalid / Incorrect Account Number · PAD Dispute
912 — Invalid / Incorrect Account Number · PAD Dispute
| What caused this | Account 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. |
| Impact | No funds collected. Retrying with the same details will produce the same result. |
| What you do next | Cancel 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 action | Cancel schedule. Re-collect and verify account details. New PAD required. |
914 — Incorrect Payor / Payee Name
914 — Incorrect Payor / Payee Name
| What caused this | Name 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. |
| Impact | No funds collected. May indicate a data quality issue at onboarding. |
| What you do next | Contact 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 action | Cancel 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. |
922 — Customer-Initiated Return (Credit Only)
922 — Customer-Initiated Return (Credit Only)
| What caused this | The customer is returning funds that were paid out to them via an EFT credit. |
| Impact | Funds originally credited will be returned to your account. Not applicable to debit schedules. |
| What you do next | Review the original credit transaction. Update your internal records and reconciliation. No schedule cancellation needed. Escalate if the return is unexpected. |
| Schedule action | Not 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.915 / 025 — No Agreement Existed · PAD Dispute
915 / 025 — No Agreement Existed · PAD Dispute
| What caused this | User 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. |
| Impact | Funds 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 next | Cancel 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 action | Cancel schedule immediately. PAD evidence required to challenge the recall. |
916 / 026 — Not According to Agreement (Personal) · PAD Dispute
916 / 026 — Not According to Agreement (Personal) · PAD Dispute
| What caused this | User agrees a PAD exists but claims the transaction does not match its terms: wrong amount, wrong date, or wrong frequency. |
| Impact | Funds may be recalled within the 90-day window. Recall is automatic on user request pending review. |
| What you do next | Do 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 action | Hold further action. Review against PAD terms. Cancel and recreate the schedule with corrected terms if the dispute is upheld. |
917 / 027 — Agreement Revoked (Personal) · PAD Dispute
917 / 027 — Agreement Revoked (Personal) · PAD Dispute
| What caused this | User has formally revoked their PAD agreement. Under Rule H1, revocation takes effect immediately and you lose the right to debit the account. |
| Impact | Authorization is gone. Any further debits will result in additional returns and potential regulatory exposure. |
| What you do next | Cancel 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 action | Cancel schedule. No further debits permitted. New PAD required if user wants to continue. |
918 / 028 — No Confirmation / Pre-Notification (Personal) · PAD Dispute
918 / 028 — No Confirmation / Pre-Notification (Personal) · PAD Dispute
| What caused this | Payments Canada requires pre-notification of PAD debits. The user claims notification was not received or was insufficient. |
| Impact | Funds subject to recall. Also a compliance risk: insufficient pre-notification can invalidate the PAD agreement. |
| What you do next | Do 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 action | Hold further action. Confirm notification compliance. Cancel the schedule if compliance gaps cannot be remediated before the next debit. |
919 / 026B — Not According to Agreement (Business) · PAD Dispute
919 / 026B — Not According to Agreement (Business) · PAD Dispute
| What caused this | Same as code 916 but for business (corporate) PAD agreements. The business claims the debit amount, date, or frequency does not match the signed agreement. |
| Impact | Funds subject to recall. Business PADs have different Rule H1 provisions and contestation windows than personal PADs. |
| What you do next | Do 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 action | Hold further action. Review against business PAD terms. Cancel and recreate the schedule with corrected terms if the dispute is upheld. |
920 / 027B — Agreement Revoked (Business) · PAD Dispute
920 / 027B — Agreement Revoked (Business) · PAD Dispute
| What caused this | Business has formally revoked its PAD agreement. Same principle as code 917 but for business accounts. Revocation is effective immediately under Rule H1. |
| Impact | Authorization is revoked. Further debits are not permitted and will result in returns and regulatory exposure. |
| What you do next | Cancel 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 action | Cancel schedule. No further debits permitted. New business PAD required. |
921 / 028B — No Confirmation / Pre-Notification (Business) · PAD Dispute
921 / 028B — No Confirmation / Pre-Notification (Business) · PAD Dispute
| What caused this | Same as code 918 but for business PAD agreements. The business claims pre-notification of the debit was insufficient under Payments Canada requirements. |
| Impact | Funds subject to recall. Notification compliance is required for both personal and business PADs. |
| What you do next | Do 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 action | Hold further action. Confirm business notification compliance. Cancel the schedule if compliance gaps cannot be remediated. |
Other
990 — Institution in Default
990 — Institution in Default
| What caused this | The receiving institution has been designated in default by Payments Canada. Affects the institution itself, not the individual account. |
| Impact | No funds collected. All transactions at this institution are affected. |
| What you do next | Do 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 action | Suspend 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):Contact Flinks Payments Support immediately
Locate the PAD agreement
Stop further debits
Checking return codes
Return codes for a failed transaction are available via the API. Call the Get Schedule endpoint and inspect thestatusDetails and return code fields on the relevant payment.
See Troubleshooting Payments for the broader status lifecycle.