Direct Bank Transfer Deposit (IDS)
Payment Method DirectBankTransferDeposit is used for bank transfer in Canada.
The following method IDs are covered in this section:
ID | Name | Credit/Debit State |
---|---|---|
152 | DirectBankTransferPaymentDeposit | DepositedByProvider (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 States | Description |
---|---|
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:
Updated almost 7 years ago