Direct Bank Transfer Withdrawal (IDS)
Payment Method DirectBankTransferPaymentWithdrawal (with provider IDS) is used for bank transfer withdrawals in Canada.
Also called CanadianEFTWithdrawal.
The following method IDs are covered in this section:
ID | Name | Credit/Debit State |
---|---|---|
153 | DirectBankTransferPaymentWithdrawal | WithdrawnByProvider (20) |
Payment method interaction type: Synchronous Execution with External Payment Provider (see Interaction Types).
Redirect Integration
Currently not supported.
Backend2BackendIntegration
The following table contains the fields to be sent in the initiatePaymentRequest.specificPaymentAccountData xml section:
key (value type, account type, required) | value |
---|---|
*AccountNumber (string, required) | Bank account number, maximum 12 digits |
BankCode (string, required) | Bank code, 3 digits institution number followed by 5 digits transit number |
BankCountryCode2 (string, required) | Two-letter ISO country code. Should be “CA” only |
There is no specificPaymentData.
Example initiatePaymentRequest:
<initiatePaymentRequest xmlns="http://www.cqrpayments.com/PaymentProcessing" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<merchantID>YourMerchantID</merchantID>
<shopID>YourShopID</shopID>
<merchantTransactionID>6860fe6c-68d8-4c51-9ae4-85a37808e572</merchantTransactionID>
<paymentMethodID>153</paymentMethodID>
<amount currencyCode="EUR">10</amount>
<userID>d48693ca-e96e-4ca1-9e01-035645a793991</userID>
<userData/>
<userIP>127.0.0.1</userIP>
<userSessionID>6a956eae-d903-4a01-8170-20dae92673d1</userSessionID>
<creationTypeID>1</creationTypeID>
<paymentAccountID>9e79e86e-c8bf-481a-bbfc-729358d1c7ef</paymentAccountID>
<paymentAccount>
<specificPaymentAccountData>
<data xsi:type="keyStringValuePair">
<key>AccountNumber</key>
<value>123456789123</value>
</data>
<data xsi:type="keyStringValuePair">
<key>BankCode</key>
<value>00302572</value>
</data>
<data xsi:type="keyStringValuePair">
<key>BankCountryCode2</key>
<value>CA</value>
</data>
</specificPaymentAccountData>
</paymentAccount>
</initiatePaymentRequest>
Example initiatePaymentResponse:
<initiatePaymentResponse xmlns="http://www.cqrpayments.com/PaymentProcessing">
<payment>
<merchantID>YourMerchantID</merchantID>
<shopID>YourShopID</shopID>
<paymentMethod>
<key>153</key>
<value>CanadianEFTWithdrawal</value>
</paymentMethod>
<merchantTransactionID>6860fe6c-68d8-4c51-9ae4-85a37808e572</merchantTransactionID>
<paymentID>d0faccdb-140b-4d8e-b99a-a23993f7687b</paymentID>
<userID>d48693ca-e96e-4ca1-9e01-035645a793991</userID>
<paymentProvider>
<key>109</key>
<value>InstaDebit</value>
</paymentProvider>
<amount currencyCode="EUR">10</amount>
<creationType>
<key>1</key>
<value>User</value>
</creationType>
<userIP>127.0.0.1</userIP>
<state>
<id>0f668d7c-a6ca-4c77-bb14-79ad1e058efd</id>
<definition>
<key>20</key>
<value>WithdrawnByProvider</value>
</definition>
<createdOn>2011-05-18T12:59:47.9526353Z</createdOn>
<paymentStateDetails>
<detail xsi:type="keyStringValuePair" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<key>ProviderResponseCode</key>
<value>S</value>
</detail>
</paymentStateDetails>
</state>
<isExecuted>true</isExecuted>
<baseAmount currencyCode="EUR">10</baseAmount>
<paymentDetails xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
</payment>
</initiatePaymentResponse>
The following payment states are possible:
Payment States | Description |
---|---|
WithdrawnByProvider (20) | Success state |
DuplicatePaymentValidationFailed (369) | The payment with same merchantTransactionID already exists. |
RefusedByProvider (100) | Payment not accepted. See below table for list of error codes. |
Canadian EFT transaction response codes
The following table contains the provider response codes and the appropriate transaction states:
Provider Response Code | Description | Remark |
---|---|---|
S | Approved | Indicates Success |
X | Declined | Indicates failure |
R | Rejected | Indicates failure |
I | Initiated | Indicates failure |
Provider specific error codes
ProviderErrorResponseCode ProviderErrorResponseMessage
E002 System error
E003 Invalid size of merchant account
E004 Merchant account authorization failed
E005 Invalid transaction type
E006 Invalid size of merchant transaction number
E007 Duplicate merchant transaction number
E008 Invalid transaction amount
E009 Invalid currency code
E010 Invalid size of first name
E011 Invalid size of middle name
E012 Invalid size of last name
E013 Invalid address (addr_1 or addr_2 field)
E014 Invalid size of city
E015 Invalid state
E016 Invalid country code
E017 Invalid zip/province code
E018 Invalid home phone number
E019 Invalid size of driver license number
E020 Invalid driver license state
E021 Invalid driver license expiry date
E022 Invalid social security number
E023 Invalid date of birth
E024 Invalid customer’s bank account type
E025 Invalid size of customer’s bank name
E026 Invalid customer’s bank routing/ABA number
E027 Invalid customer’s bank account number
E028 Invalid check serial number
E029 Consumer's IP validation failed
E030 Invalid HTTP request
E031 Invalid HTTP content
E032 System error
E033 No active processor account for the merchant
E034 System error
E035 System error
E036 System error
E037 System error
E038 Processing transaction failed
E039 Invalid payee information
E040 The credit transaction is declined as daily credit limit is exceeded.
E041 Error encountered while verifying the transaction
E042 Verification failed due to velocity limits or duplicate check serial number. (Deprecated. Replaced by E1xx serials below.)
E043 Verification failed due to invalid MICR or NSF/unpaid amounts reported by Financial Institutions or collection agencies. (Deprecated. Replaced by E1xx serials below.)
E044 Address information (address line/city/state/postal code/country) is missing or incomplete for ID verification.
E045 DOB (date of birth) is missing for ID verification.
E046 Error encountered while verifying the identity.
E047 ID verification failed.
E048 Insufficient funds
E151 Invalid Routing/Transit
E152 Invalid MICR (routing, account or check # is invalid)
E161 Non-existent Bank Account
E162 Closed Bank Account
E163 Frozen Bank Account
E164 Recent NSF reported for the Bank Account
E165 Non-transactional Bank Account
E171 Unpaid amount (reported by collection agencies or financial institutions)
E172 Negative information on the bank account (customer/agency stop, check stopped, ID is flagged, etc)
E181 Duplicate check serial number.
E182 Over transaction limits.
E201 Fraudulent or suspicious bank account
E202 Fraudulent or suspicious identity
E203 Fraudulent or suspicious transaction pattern
E301 Failed transaction velocity check.
E401 Transaction Type 2 is not allowed for the merchant account.
E402 Consumer’s IP from which the deposit originates is required for the merchant account.
E403 Consumer’s SSN/SIN and full address is required for any deposit for the merchant account.
Notifications
The standard notification mechanism is used for notifying the merchant in the background (asynchronously) about payment state changes. For more information see PaymentStateChangedNotification.
Example handlePaymentStateChangedNotificationRequest:
Updated about 7 years ago