Direct Bank Transfer Deposit (IDS)

Payment Method DirectBankTransferDeposit is used for bank transfer in Canada.

The following method IDs are covered in this section:

IDNameCredit/Debit State
152DirectBankTransferPaymentDepositDepositedByProvider (29)

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)3 digits institution number followed by 5 digits transit number
BankCountryCode2 (string, required)Two-letter ISO country code. Should be "CA" only.

The following parameters can be provided in initiatePaymentRequest.specificPaymentData:

key (value type, account type, required)value
UseEFTRiskCheck
(bool)
Indicates whether the provider should perform verification or not.

In case UseEFTRiskCheck is to be used you have to send the following fields in the userData address xml section:

key (value type, account type, required)value
identificationNumber (string, required)The social security number (SSN) or the last 4 digits
street (string, required)The street address of the user
houseNumber (string, required)The houseNumber
state (string)The customer´s address state.
postalCode (string, required)The customer´s address zip code
countrycode2 (string, required)The home country of the customer
dateofBirth (DateTime, required)The date of birth of the customer

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>152</paymentMethodID>
	<amount currencyCode="EUR">10</amount>
	<userID>d48693ca-e96e-4ca1-9e01-035645a793991</userID>
	<userData>
		<username>democustomer</username>
		<firstname>demo</firstname>
		<lastname>customer</lastname>
		<currencyCode>cad</currencyCode>
		<languageCode>en</languageCode>
		<email>[email protected]</email>               
		<address>
			<postalCode>e3n2g3</postalCode>
			<city>campbellton</city>
			<state>nb</state>
			<countryCode2>ca</countryCode2>
			<telephoneNumber>5067778888</telephoneNumber>
		</address>
		<identificationNumber>1234567</identificationNumber>
	</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>152</key>
			<value>CanadianEFTDeposit</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>29</key>
				<value>DepositedByProvider</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>

Possible payment states:

Payment StatesDescription
DepositedByProvider (29)Success state
DuplicatePaymentValidationFailed (369)The payment with same merchantTransactionID already exists.
RefusedByProvider (100)Payment not accepted

In case of refusal the payment state will contain provider error code and provider error message with the keys ProviderErrorResponseCode and ProviderErrorResponseMessage.

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: