Direct Bank Transfer Payment Deposit (Verifi)

Payment Method DirectBankTransferPaymentDeposit is used for ACH deposit.

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)

Bank code, number must be 9 digits

BankCountryCode2 (string, required)

Bank country code, two-letter ISO country code

AccountOwner (string, required)

Bank account owner

The following parameters can be provided in initiatePaymentRequest.specificPaymentData:

key (value type, account type, required)

value

OrderId
(Int)

ID for different channels for deposit based on OrderID:
1 - Verifi - IgmPay
2 - Verifi - Echecks

PaymentDescription (string, required)

additional information

PaymentProviderID (Int)

Has to be 120

PaymentDescriptionLanguageCode (string)

The language code of the payment description

CountryCode2 (string)

The country code of the request

UserFirstname (string)

The first name of the user

UserLastname (string)

The last name of the user

UserCountryCode2 (string)

The country code of the user

Street (string, required)

The street of the user; member´s address (include house number)

City (string, required)

The user´s city

*State (string, required)

The user`s state

PostalCode (string, required)

The user´s zip code

Example initiatePaymentRequest:

<initiatePaymentRequest xmlns="http://www.cqrpayments.com/PaymentProcessing">
            <merchantID>YourMerchantID</merchantID>
            <shopID>YourShopID</shopID>
            <merchantTransactionID>2ca630e1-cb5e-41e7-98e9-a9bf0ae1f877</merchantTransactionID>
            <paymentMethodID>152</paymentMethodID>
            <amount currencyCode="USD">10</amount>
            <userID>05c3cafd-6fb7-4d0a-9868-65a652</userID>
            <userData>
                <username>05c3cafd-6fb7-4d0a-9868-65a652</username>
                <firstname>Clark</firstname>
                <lastname>Kent</lastname>
                <currencyCode xsi:nil="true"/>
                <languageCode xsi:nil="true"/>
                <email xsi:nil="true"/>
                <address>
                    <street>440, Teststreet</street>
                    <houseName xsi:nil="true"/>
                    <houseNumber xsi:nil="true"/>
                    <houseNumberExtension xsi:nil="true"/>
                    <postalCode>90210</postalCode>
                    <city>Atlantic City</city>
                    <state>NJ</state>
                    <countryCode2>US</countryCode2>
                    <telephoneNumber xsi:nil="true"/>
                </address>
            </userData>
            <userIP>10.10.10.10</userIP>
            <userSessionID>253e88e6-a7f7-4cc5-87fe-a14b5828a8ef</userSessionID>
            <creationTypeID>3</creationTypeID>
            <specificPaymentData>
                <data xsi:type="keyStringValuePair">
                    <key>PaymentDescription</key>
                    <value>Some description</value>
                </data>
                <data xsi:type="keyStringValuePair">
                    <key>UserFirstname</key>
                    <value>Clark</value>
                </data>
                <data xsi:type="keyStringValuePair">
                    <key>UserLastname</key>
                    <value>Kent</value>
                </data>
                <data xsi:type="keyStringValuePair">
                    <key>CountryCode2</key>
                    <value>US</value>
                </data>
                <data xsi:type="keyIntValuePair">
                    <key>PaymentProviderID</key>
                    <value>120</value>
                </data>
            </specificPaymentData>
            <paymentAccount>
                <specificPaymentAccountData>
                    <data xsi:type="keyStringValuePair">
                        <key>AccountNumber</key>
                        <value>234567890123</value>
                    </data>
                    <data xsi:type="keyStringValuePair">
                        <key>BankCode</key>
                        <value>121201694</value>
                    </data>
                    <data xsi:type="keyStringValuePair">
                        <key>BankCountryCode2</key>
                        <value>US</value>
                    </data>
                    <data xsi:type="keyStringValuePair">
                        <key>AccountOwner</key>
                        <value>Clark Kent</value>
                    </data>
                </specificPaymentAccountData>
            </paymentAccount>
        </initiatePaymentRequest>

Example initiatePaymentResponse:

<initiatePaymentResponse xmlns="http://www.cqrpayments.com/PaymentProcessing">
            <payment xsi:type="paymentWithPaymentAccount" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                <merchantID>YourMerchantID</merchantID>
                <shopID>YourShopID</shopID>
                <paymentMethod>
                    <key>152</key>
                    <value>DirectBankTransferPaymentDeposit</value>
                </paymentMethod>
                <merchantTransactionID>2ca630e1-cb5e-41e7-98e9-a9bf0ae1f877</merchantTransactionID>
                <paymentID>98d79a09-38af-4336-a436-5670b37b27a4</paymentID>
                <userID>05c3cafd-6fb7-4d0a-9868-65a652</userID>
                <paymentProvider>
                    <key>120</key>
                    <value>Verifi</value>
                </paymentProvider>
                <amount currencyCode="USD">10</amount>
                <creationType>
                    <key>3</key>
                    <value>Api</value>
                </creationType>
                <state>
                    <id>e79471b7-c591-47ee-bf9d-e968e24a5925</id>
                    <definition>
                        <key>29</key>
                        <value>DepositedByProvider</value>
                    </definition>
                    <createdOn>2013-09-09T10:07:49.7469218Z</createdOn>
                    <description>ResponseCode=100</description>
                    <paymentStateDetails>
                        <detail xsi:type="keyStringValuePair">
                            <key>ProviderResponseCode</key>
                            <value>100</value>
                        </detail>
                        <detail xsi:type="keyStringValuePair">
                            <key>ProviderResponseMessage</key>
                            <value>Transaction was Approved</value>
                        </detail>
                    </paymentStateDetails>
                </state>
                <isExecuted>true</isExecuted>
                <baseAmount currencyCode="EUR">6.64</baseAmount>
                <paymentDetails>
                    <detail xsi:type="keyStringValuePair">
                        <key>UserFirstname</key>
                        <value>Clark</value>
                    </detail>
                    <detail xsi:type="keyStringValuePair">
                        <key>UserLastname</key>
                        <value>Kent</value>
                    </detail>
                    <detail xsi:type="keyStringValuePair">
                        <key>ProviderExternalID</key>
                        <value>1667</value>
                    </detail>
                    <detail xsi:type="keyStringValuePair">
                        <key>ProviderTransactionID</key>
                        <value>1220a8fb-e8d4-44f8-b25e-347ff72f4df6</value>
                    </detail>
                </paymentDetails>
                <paymentAccount>
                    <paymentAccountID>561033d3-6ae2-414b-ac0f-69f3cc20f6a7</paymentAccountID>
                </paymentAccount>
            </payment>
        </initiatePaymentResponse>

Possible payment states in initiatePayment Response:

Payment States

Description

DepositedByProvider (29)

OK state

DuplicatePaymentValidationFailed (369)

A payment with same merchantTransactionID already exists.

RefusedByProvider(100)

Error state; Payment was not accepted by the provider

DepositErrorReportedByProvider(152)

Error state; Technical error during payment initialization.

ProviderCommunicationErrorOccurred (233)

Error state; Communication error occurred with the provider.

Following field is returned in paymentDetails of the initiatePaymentResponse:

key

value

ProviderTransactionID

An unique transactionID from Verifi.

Notifications

The standard notification mechanism is used for notifying the merchant in the background (asynchronously) about payment state changes. For more information see PaymentStateChangedNotification.

The final execution status of the payment will come with a state change notification.

The possible payment states are listed below:

Payment States

Description

RefusedByProvider (100)

Error state, payment was not accepted by provider; redirect user to ErrorPageUrl

DepositedByProvider (29)

Success state; Payment has been executed.

Cancelled(113)

Error state; The payment was refused by provider and automatically cancelled.