Discover Deposit via Vantiv

The following method IDs are covered in this section:

ID

Name

Credit/Debit State

189

DiscoverDeposit

AuthorisedByProvider (13)
CapturedByProvider (27)

Payment method interaction type: Synchronous Execution (see Interaction Types)

PXP Checkout

There are no specific steps for initiating Card Deposits with Redirect Integration. Refer to Initiate New Payment (Redirect) for the standard steps.

Backend2Backend Integration

🚧

Card registration via Frontend2Backend

Merchant can reduce their PCI scope by registering the card PAN through API version 4 (Frontend2Backend approach).

To initiate a card deposit the initiatePayment web method should be invoked. The following table contains the fields to be sent in the specificPaymentAccountData xml section for card deposits:

key (value type, account type, required)

value

CardNumber
(string, required)

PAN, e.g. 6011000000000012

CardVerificationCode
(string, required)

CVC, 3 or 4-digit number, e.g. 333

HolderName
(string, required)

Cardholder name, e.g. John Doe

ExpiryMonth
(string, required)

Expiration month of the card, e.g. 12

ExpiryYear
(string, required)

Expiration year of the card, e.g. 2019

The following table contains the fields to be sent in the specificPaymentData xml section for card deposits:

key (value type, account type, required)

value

PaymentDescription
(string)

payment description

PaymentDescriptionLanguageCode
(string)

payment description language code

PaymentProviderID
(string)

124 for Vantiv

Example initiatePaymentRequest:

<?xml version="1.0" encoding="utf-8"?>
<initiatePaymentRequest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.cqrpayments.com/PaymentProcessing">
    <merchantID>Testmerchant</merchantID>
    <shopID>TEstshop</shopID>
    <merchantTransactionID>e73a439f-bd4f-4cf7-83ec-fa20ae459618</merchantTransactionID>
    <paymentMethodID>189</paymentMethodID>
    <amount currencyCode="USD">10</amount>
    <userID>b98d3db0-feef-4a93-9e94-da3e05</userID>
    <userData>
    <username>testusername</username>
        <firstname>Clark</firstname>
        <lastname>Kent</lastname>
        <address>
            <street>440, Teststreet</street>
            <postalCode>90210</postalCode>
            <city>Atlantic City</city>
            <state>NJ</state>
            <countryCode2>US</countryCode2>
            <telephoneNumber>39193 2929 20</telephoneNumber>
        </address>
        <gender>Male</gender>
    </userData>
    <userIP>10.10.10.10</userIP>
    <userSessionID>45701940-2ed1-483f-9752-d9e48ee7d33d</userSessionID>
    <creationTypeID>3</creationTypeID>
    <specificPaymentData>
        <data xsi:type="keyStringValuePair">
            <key>PaymentDescription</key>
            <value>Some description</value>
        </data>
        <data xsi:type="keyStringValuePair">
            <key>PaymentDescriptionLanguageCode</key>
            <value>en</value>
        </data>
        <data xsi:type="keyIntValuePair">
            <key>PaymentProviderID</key>
            <value>124</value>
        </data>
    </specificPaymentData>
    <paymentAccount>
        <specificPaymentAccountData>
            <data xsi:type="keyStringValuePair">
                <key>CardNumber</key>
                <value>6011000000000012</value>
            </data>
            <data xsi:type="keyStringValuePair">
                <key>HolderName</key>
                <value>e2f69a13-ea7a-4868-b025-49e4c03bc137</value>
            </data>
            <data xsi:type="keyIntValuePair">
                <key>ExpiryMonth</key>
                <value>6</value>
            </data>
            <data xsi:type="keyIntValuePair">
                <key>ExpiryYear</key>
                <value>2099</value>
            </data>
            <data xsi:type="keyStringValuePair">
                <key>CardVerificationCode</key>
                <value>111</value>
            </data>
        </specificPaymentAccountData>
    </paymentAccount>
</initiatePaymentRequest>

Example initiatePaymentResponse (success response):

<?xml version="1.0" encoding="utf-8"?>
<initiatePaymentResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.cqrpayments.com/PaymentProcessing">
    <payment xsi:type="paymentWithPaymentAccount">
        <merchantID>B2BTestMerchant</merchantID>
        <shopID>VantivShop</shopID>
        <paymentMethod>
            <key>189</key>
            <value>DiscoverDeposit</value>
        </paymentMethod>
        <merchantTransactionID>e73a439f-bd4f-4cf7-83ec-fa20ae459618</merchantTransactionID>
        <paymentID>b5c25aca-d27d-41a3-9d23-e9167d383d69</paymentID>
        <userID>b98d3db0-feef-4a93-9e94-da3e05</userID>
        <paymentProvider>
            <key>124</key>
            <value>Vantiv</value>
        </paymentProvider>
        <amount currencyCode="USD">10</amount>
        <creationType>
            <key>3</key>
            <value>Api</value>
        </creationType>
        <userIP>10.10.10.10</userIP>
        <state>
            <id>eaa39b2a-7a1a-4804-bb83-83d1cb45de7c</id>
            <definition>
                <key>13</key>
                <value>AuthorisedByProvider</value>
            </definition>
            <createdOn>2020-05-15T10:02:52.4389824Z</createdOn>
            <description>[SUCCESS](ApprovalCode:[343433])</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>
                <detail xsi:type="keyStringValuePair">
                    <key>ApprovalCode</key>
                    <value>343433</value>
                </detail>
            </paymentStateDetails>
        </state>
        <isExecuted>true</isExecuted>
        <baseAmount currencyCode="EUR">7.51</baseAmount>
        <paymentDetails>
            <detail xsi:type="keyStringValuePair">
                <key>ElectronicCommerceIndicator</key>
                <value>07</value>
            </detail>
            <detail xsi:type="keyStringValuePair">
                <key>ProviderTransactionID</key>
                <value>7733</value>
            </detail>
            <detail xsi:type="keyStringValuePair">
                <key>ProviderExternalID</key>
                <value>528209</value>
            </detail>
        </paymentDetails>
        <paymentAccount>
            <paymentAccountID>5e7cf039-4279-426d-8612-8361e0ca0d74</paymentAccountID>
            <details>
                <detail xsi:type="keyStringValuePair">
                    <key>MaskedNumber</key>
                    <value>************0012</value>
                </detail>
                <detail xsi:type="keyStringValuePair">
                    <key>AccountOwnerToken</key>
                    <value>6c5323ec-47e0-4a14-8d46-b6479ef50d1a</value>
                </detail>
                <detail xsi:type="keyIntValuePair">
                    <key>ExpiryMonth</key>
                    <value>6</value>
                </detail>
                <detail xsi:type="keyIntValuePair">
                    <key>ExpiryYear</key>
                    <value>2099</value>
                </detail>
                <detail xsi:type="keyStringValuePair">
                    <key>HolderName</key>
                    <value>e2f69a13-ea7a-4868-b025-49e4c03bc137</value>
                </detail>
                <detail xsi:type="keyStringValuePair">
                    <key>CardType</key>
                    <value>Discover</value>
                </detail>
            </details>
        </paymentAccount>
    </payment>
</initiatePaymentResponse>

Example initiatePaymentResponse (refused response):

<?xml version="1.0" encoding="utf-8"?>
<initiatePaymentResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.cqrpayments.com/PaymentProcessing">
    <payment xsi:type="paymentWithPaymentAccount">
        <merchantID>B2BTestMerchant</merchantID>
        <shopID>VantivShop</shopID>
        <paymentMethod>
            <key>189</key>
            <value>DiscoverDeposit</value>
        </paymentMethod>
        <merchantTransactionID>23aae6a8-2878-4864-86ac-fde6a232c97f</merchantTransactionID>
        <paymentID>137560c6-5392-4e68-9f97-3f844e7494fb</paymentID>
        <userID>345345</userID>
        <paymentProvider>
            <key>124</key>
            <value>Vantiv</value>
        </paymentProvider>
        <amount currencyCode="USD">1.51</amount>
        <creationType>
            <key>1</key>
            <value>User</value>
        </creationType>
        <userIP>10.10.10.10</userIP>
        <state>
            <id>8f62e65d-cfbf-4588-b769-146aec880c12</id>
            <definition>
                <key>100</key>
                <value>RefusedByProvider</value>
            </definition>
            <createdOn>2019-10-08T07:50:09.8337361Z</createdOn>
            <description>[DECLINE](ResponseCode:[200] - [Transaction was Declined by Processor])</description>
            <paymentStateDetails>
                <detail xsi:type="keyStringValuePair">
                    <key>ProviderResponseCode</key>
                    <value>200</value>
                </detail>
                <detail xsi:type="keyStringValuePair">
                    <key>ProviderResponseMessage</key>
                    <value>Transaction was Declined by Processor</value>
                </detail>
                <detail xsi:type="keyStringValuePair">
                    <key>PaymentStateReasonID</key>
                    <value>4000</value>
                </detail>
                <detail xsi:type="keyStringValuePair">
                    <key>PaymentStateReasonMessage</key>
                    <value>BlockedByProviderRiskManagement</value>
                </detail>
            </paymentStateDetails>
        </state>
        <isExecuted>false</isExecuted>
        <baseAmount currencyCode="EUR">1.13</baseAmount>
        <paymentDetails>
            <detail xsi:type="keyStringValuePair">
                <key>ElectronicCommerceIndicator</key>
                <value>07</value>
            </detail>
            <detail xsi:type="keyStringValuePair">
                <key>ProviderTransactionID</key>
                <value>AM0002</value>
            </detail>
            <detail xsi:type="keyStringValuePair">
                <key>ProviderExternalID</key>
                <value>489613</value>
            </detail>
        </paymentDetails>
        <paymentAccount>
            <paymentAccountID>c93f1a5e-0267-42f5-b4be-9401cd46d8fe</paymentAccountID>
            <details>
                <detail xsi:type="keyStringValuePair">
                    <key>MaskedNumber</key>
                    <value>***********0002</value>
                </detail>
                <detail xsi:type="keyStringValuePair">
                    <key>AccountOwnerToken</key>
                    <value>7e06d161-d4e2-4cb4-93ff-44ada43dab89</value>
                </detail>
                <detail xsi:type="keyIntValuePair">
                    <key>ExpiryMonth</key>
                    <value>8</value>
                </detail>
                <detail xsi:type="keyIntValuePair">
                    <key>ExpiryYear</key>
                    <value>2024</value>
                </detail>
                <detail xsi:type="keyStringValuePair">
                    <key>HolderName</key>
                    <value>Georgi Georgiev</value>
                </detail>
                <detail xsi:type="keyStringValuePair">
                    <key>CardType</key>
                    <value>Discover</value>
                </detail>
            </details>
        </paymentAccount>
    </payment>
</initiatePaymentResponse>

Example initiatePaymentResponse (error response):

<?xml version="1.0" encoding="utf-8"?>
<initiatePaymentResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.cqrpayments.com/PaymentProcessing">
    <payment xsi:type="paymentWithPaymentAccount">
        <merchantID>B2BTestMerchant</merchantID>
        <shopID>VantivShop</shopID>
        <paymentMethod>
            <key>189</key>
            <value>DiscoverDeposit</value>
        </paymentMethod>
        <merchantTransactionID>002e5428-d776-4bb8-a414-9194ebfee218</merchantTransactionID>
        <paymentID>a5170c28-7be0-4ab1-91b5-c5a2d90aa315</paymentID>
        <userID>345345</userID>
        <paymentProvider>
            <key>124</key>
            <value>Vantiv</value>
        </paymentProvider>
        <amount currencyCode="USD">10</amount>
        <creationType>
            <key>1</key>
            <value>User</value>
        </creationType>
        <userIP>10.10.10.10</userIP>
        <state>
            <id>0e0cd010-55c7-4288-9d84-880d758e719d</id>
            <definition>
                <key>14</key>
                <value>AuthoriseErrorReportedByProvider</value>
            </definition>
            <createdOn>2019-10-08T07:50:15.96351Z</createdOn>
            <description>[DECLINE](ResponseCode:[400] - [Transaction Error Returned by Processor])</description>
            <paymentStateDetails>
                <detail xsi:type="keyStringValuePair">
                    <key>ProviderResponseCode</key>
                    <value>400</value>
                </detail>
                <detail xsi:type="keyStringValuePair">
                    <key>ProviderResponseMessage</key>
                    <value>Transaction Error Returned by Processor</value>
                </detail>
                <detail xsi:type="keyStringValuePair">
                    <key>PaymentStateReasonID</key>
                    <value>1</value>
                </detail>
                <detail xsi:type="keyStringValuePair">
                    <key>PaymentStateReasonMessage</key>
                    <value>ProviderTechnicalProblem</value>
                </detail>
            </paymentStateDetails>
        </state>
        <isExecuted>false</isExecuted>
        <baseAmount currencyCode="EUR">7.51</baseAmount>
        <paymentDetails>
            <detail xsi:type="keyStringValuePair">
                <key>ElectronicCommerceIndicator</key>
                <value>07</value>
            </detail>
            <detail xsi:type="keyStringValuePair">
                <key>ProviderTransactionID</key>
                <value>AM0010</value>
            </detail>
            <detail xsi:type="keyStringValuePair">
                <key>ProviderExternalID</key>
                <value>489614</value>
            </detail>
        </paymentDetails>
        <paymentAccount>
            <paymentAccountID>c93f1a5e-0267-42f5-b4be-9401cd46d8fe</paymentAccountID>
            <details>
                <detail xsi:type="keyStringValuePair">
                    <key>MaskedNumber</key>
                    <value>***********0002</value>
                </detail>
                <detail xsi:type="keyStringValuePair">
                    <key>AccountOwnerToken</key>
                    <value>7e06d161-d4e2-4cb4-93ff-44ada43dab89</value>
                </detail>
                <detail xsi:type="keyIntValuePair">
                    <key>ExpiryMonth</key>
                    <value>8</value>
                </detail>
                <detail xsi:type="keyIntValuePair">
                    <key>ExpiryYear</key>
                    <value>2024</value>
                </detail>
                <detail xsi:type="keyStringValuePair">
                    <key>HolderName</key>
                    <value>Georgi Georgiev</value>
                </detail>
                <detail xsi:type="keyStringValuePair">
                    <key>CardType</key>
                    <value>Discover</value>
                </detail>
            </details>
        </paymentAccount>
    </payment>
</initiatePaymentResponse>

Notifications

Example handlePaymentStateChangedNotificationRequest for Discover Deposit in state AuthorisedByProvider:

<?xml version="1.0" encoding="utf-16"?>
<handlePaymentStateChangedNotificationRequest xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <payment xmlns="http://www.cqrpayments.com/PaymentProcessing" xsi:type="paymentWithPaymentAccount">
    <merchantID>B2BTestMerchant</merchantID>
    <shopID>VantivShop</shopID>
   <paymentMethod>
            <key>189</key>
            <value>DiscoverDeposit</value>
        </paymentMethod>
    <merchantTransactionID>408aeb84-8756-4d15-8065-f8e1962d90eb</merchantTransactionID>
    <paymentID>60a760e6-2883-498b-8f65-8a95f779e6d4</paymentID>
    <userID>345345</userID>
    <paymentProvider>
      <key>124</key>
      <value>Vantiv</value>
    </paymentProvider>
    <amount currencyCode="USD">3.2300</amount>
    <creationType>
      <key>1</key>
      <value>User</value>
    </creationType>
    <userIP>10.10.10.10</userIP>
    <state>
      <id>fd850a85-17e4-4701-9d67-9e7590606a1c</id>
      <definition>
        <key>13</key>
        <value>AuthorisedByProvider</value>
      </definition>
      <createdOn>2019-10-08T07:50:02.667</createdOn>
      <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>
        <detail xsi:type="keyStringValuePair">
          <key>ApprovalCode</key>
          <value>11555f51-6bcb-4eb3-b831-3aa76ad9ccdc</value>
        </detail>
      </paymentStateDetails>
    </state>
    <isExecuted>true</isExecuted>
    <baseAmount currencyCode="EUR">2.4300</baseAmount>
    <paymentDetails>
      <detail xsi:type="keyStringValuePair">
        <key>ProviderExternalID</key>
        <value>489612</value>
      </detail>
      <detail xsi:type="keyStringValuePair">
        <key>ProviderTransactionID</key>
        <value>AM0003</value>
      </detail>
      <detail xsi:type="keyStringValuePair">
        <key>ElectronicCommerceIndicator</key>
        <value>07</value>
      </detail>
    </paymentDetails>
    <paymentAccount>
      <paymentAccountID>c93f1a5e-0267-42f5-b4be-9401cd46d8fe</paymentAccountID>
      <details>
        <detail xsi:type="keyStringValuePair">
          <key>MaskedNumber</key>
          <value>***********0002</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>AccountOwnerToken</key>
          <value>7e06d161-d4e2-4cb4-93ff-44ada43dab89</value>
        </detail>
        <detail xsi:type="keyIntValuePair">
          <key>ExpiryMonth</key>
          <value>8</value>
        </detail>
        <detail xsi:type="keyIntValuePair">
          <key>ExpiryYear</key>
          <value>2024</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>HolderName</key>
          <value>Georgi Georgiev</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>CardType</key>
          <value>Discover</value>
        </detail>
      </details>
    </paymentAccount>
  </payment>
</handlePaymentStateChangedNotificationRequest>

Example handlePaymentStateChangedNotificationRequest for Discover Deposit in state RefusedByProvider:

<?xml version="1.0" encoding="utf-16"?>
<handlePaymentStateChangedNotificationRequest xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <payment xmlns="http://www.cqrpayments.com/PaymentProcessing" xsi:type="paymentWithPaymentAccount">
    <merchantID>B2BTestMerchant</merchantID>
    <shopID>VantivShop</shopID>
    <paymentMethod>
            <key>189</key>
            <value>DiscoverDeposit</value>
        </paymentMethod>
    <merchantTransactionID>23aae6a8-2878-4864-86ac-fde6a232c97f</merchantTransactionID>
    <paymentID>137560c6-5392-4e68-9f97-3f844e7494fb</paymentID>
    <userID>345345</userID>
    <paymentProvider>
      <key>124</key>
      <value>Vantiv</value>
    </paymentProvider>
    <amount currencyCode="USD">1.5100</amount>
    <creationType>
      <key>1</key>
      <value>User</value>
    </creationType>
    <userIP>10.10.10.10</userIP>
    <state>
      <id>8f62e65d-cfbf-4588-b769-146aec880c12</id>
      <definition>
        <key>100</key>
        <value>RefusedByProvider</value>
      </definition>
      <createdOn>2019-10-08T07:50:09.833</createdOn>
      <paymentStateDetails>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderResponseCode</key>
          <value>200</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderResponseMessage</key>
          <value>Transaction was Declined by Processor</value>
        </detail>
        <detail xsi:type="keyIntValuePair">
          <key>PaymentStateReasonID</key>
          <value>4000</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>PaymentStateReasonMessage</key>
          <value>BlockedByProviderRiskManagement</value>
        </detail>
      </paymentStateDetails>
    </state>
    <isExecuted>false</isExecuted>
    <baseAmount currencyCode="EUR">1.1300</baseAmount>
    <paymentDetails>
      <detail xsi:type="keyStringValuePair">
        <key>ProviderExternalID</key>
        <value>489613</value>
      </detail>
      <detail xsi:type="keyStringValuePair">
        <key>ProviderTransactionID</key>
        <value>AM0002</value>
      </detail>
      <detail xsi:type="keyStringValuePair">
        <key>ElectronicCommerceIndicator</key>
        <value>07</value>
      </detail>
    </paymentDetails>
    <paymentAccount>
      <paymentAccountID>c93f1a5e-0267-42f5-b4be-9401cd46d8fe</paymentAccountID>
      <details>
        <detail xsi:type="keyStringValuePair">
          <key>MaskedNumber</key>
          <value>***********0002</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>AccountOwnerToken</key>
          <value>7e06d161-d4e2-4cb4-93ff-44ada43dab89</value>
        </detail>
        <detail xsi:type="keyIntValuePair">
          <key>ExpiryMonth</key>
          <value>8</value>
        </detail>
        <detail xsi:type="keyIntValuePair">
          <key>ExpiryYear</key>
          <value>2024</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>HolderName</key>
          <value>Georgi Georgiev</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>CardType</key>
          <value>Discover</value>
        </detail>
      </details>
    </paymentAccount>
  </payment>
</handlePaymentStateChangedNotificationRequest>

Example handlePaymentStateChangedNotificationRequest for Discover Deposit in state AuthoriseErrorReportedByProvider:

<?xml version="1.0" encoding="utf-16"?>
<handlePaymentStateChangedNotificationRequest xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <payment xmlns="http://www.cqrpayments.com/PaymentProcessing" xsi:type="paymentWithPaymentAccount">
    <merchantID>B2BTestMerchant</merchantID>
    <shopID>VantivShop</shopID>
    <paymentMethod>
            <key>189</key>
            <value>DiscoverDeposit</value>
        </paymentMethod>
    <merchantTransactionID>002e5428-d776-4bb8-a414-9194ebfee218</merchantTransactionID>
    <paymentID>a5170c28-7be0-4ab1-91b5-c5a2d90aa315</paymentID>
    <userID>345345</userID>
    <paymentProvider>
      <key>124</key>
      <value>Vantiv</value>
    </paymentProvider>
    <amount currencyCode="USD">10.0000</amount>
    <creationType>
      <key>1</key>
      <value>User</value>
    </creationType>
    <userIP>10.10.10.10</userIP>
    <state>
      <id>0e0cd010-55c7-4288-9d84-880d758e719d</id>
      <definition>
        <key>14</key>
        <value>AuthoriseErrorReportedByProvider</value>
      </definition>
      <createdOn>2019-10-08T07:50:15.963</createdOn>
      <paymentStateDetails>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderResponseCode</key>
          <value>400</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderResponseMessage</key>
          <value>Transaction Error Returned by Processor</value>
        </detail>
        <detail xsi:type="keyIntValuePair">
          <key>PaymentStateReasonID</key>
          <value>1</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>PaymentStateReasonMessage</key>
          <value>ProviderTechnicalProblem</value>
        </detail>
      </paymentStateDetails>
    </state>
    <isExecuted>false</isExecuted>
    <baseAmount currencyCode="EUR">7.5100</baseAmount>
    <paymentDetails>
      <detail xsi:type="keyStringValuePair">
        <key>ProviderExternalID</key>
        <value>489614</value>
      </detail>
      <detail xsi:type="keyStringValuePair">
        <key>ElectronicCommerceIndicator</key>
        <value>07</value>
      </detail>
    </paymentDetails>
    <paymentAccount>
      <paymentAccountID>c93f1a5e-0267-42f5-b4be-9401cd46d8fe</paymentAccountID>
      <details>
        <detail xsi:type="keyStringValuePair">
          <key>MaskedNumber</key>
          <value>***********0002</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>AccountOwnerToken</key>
          <value>7e06d161-d4e2-4cb4-93ff-44ada43dab89</value>
        </detail>
        <detail xsi:type="keyIntValuePair">
          <key>ExpiryMonth</key>
          <value>8</value>
        </detail>
        <detail xsi:type="keyIntValuePair">
          <key>ExpiryYear</key>
          <value>2024</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>HolderName</key>
          <value>Georgi Georgiev</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>CardType</key>
          <value>Discover</value>
        </detail>
      </details>
    </paymentAccount>
  </payment>
</handlePaymentStateChangedNotificationRequest>

Example handlePaymentStateChangedNotificationRequest for Discover Deposit in state CapturedByProvider:

<?xml version="1.0" encoding="utf-16"?>
<handlePaymentStateChangedNotificationRequest xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <payment xmlns="http://www.cqrpayments.com/PaymentProcessing" xsi:type="paymentWithPaymentAccount">
    <merchantID>B2BTestMerchant</merchantID>
    <shopID>VantivShop</shopID>
   <paymentMethod>
            <key>189</key>
            <value>DiscoverDeposit</value>
        </paymentMethod>
    <merchantTransactionID>408aeb84-8756-4d15-8065-f8e1962d90eb</merchantTransactionID>
    <paymentID>60a760e6-2883-498b-8f65-8a95f779e6d4</paymentID>
    <userID>345345</userID>
    <paymentProvider>
      <key>124</key>
      <value>Vantiv</value>
    </paymentProvider>
    <amount currencyCode="USD">3.2300</amount>
    <creationType>
      <key>1</key>
      <value>User</value>
    </creationType>
    <userIP>10.10.10.10</userIP>
    <state>
      <id>231f851a-6611-4b65-956c-9e1b7e7ecfc4</id>
      <definition>
        <key>27</key>
        <value>CapturedByProvider</value>
      </definition>
      <createdOn>2019-10-08T08:04:48.62</createdOn>
      <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>
        <detail xsi:type="keyStringValuePair">
          <key>ApprovalCode</key>
          <value>123456</value>
        </detail>
      </paymentStateDetails>
    </state>
    <isExecuted>true</isExecuted>
    <baseAmount currencyCode="EUR">2.4300</baseAmount>
    <paymentDetails>
      <detail xsi:type="keyStringValuePair">
        <key>ProviderExternalID</key>
        <value>489612</value>
      </detail>
      <detail xsi:type="keyIntValuePair">
        <key>MerchantSettlementCurrencyID</key>
        <value>2</value>
      </detail>
      <detail xsi:type="keyStringValuePair">
        <key>ProviderTransactionID</key>
        <value>AM0003</value>
      </detail>
      <detail xsi:type="keyStringValuePair">
        <key>ElectronicCommerceIndicator</key>
        <value>07</value>
      </detail>
    </paymentDetails>
    <paymentAccount>
      <paymentAccountID>c93f1a5e-0267-42f5-b4be-9401cd46d8fe</paymentAccountID>
      <details>
        <detail xsi:type="keyStringValuePair">
          <key>MaskedNumber</key>
          <value>***********0002</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>AccountOwnerToken</key>
          <value>7e06d161-d4e2-4cb4-93ff-44ada43dab89</value>
        </detail>
        <detail xsi:type="keyIntValuePair">
          <key>ExpiryMonth</key>
          <value>8</value>
        </detail>
        <detail xsi:type="keyIntValuePair">
          <key>ExpiryYear</key>
          <value>2024</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>HolderName</key>
          <value>Georgi Georgiev</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>CardType</key>
          <value>Discover</value>
        </detail>
      </details>
    </paymentAccount>
  </payment>
</handlePaymentStateChangedNotificationRequest>

Refunds

Refunds are initiated with the request initiatePaymentFromReference or from the PS Admin interface.

<?xml version="1.0" encoding="utf-8"?>
<initiatePaymentFromReferenceRequest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.cqrpayments.com/PaymentProcessing">
    <merchantID>Testmerchant</merchantID>
    <shopID>TestShop</shopID>
    <originalPaymentID>fb319681-9a88-4c6d-a2c2-45bc501a4cc5</originalPaymentID>
    <merchantTransactionID>27b853c0-d41a-460b-93b2-55503b6e7fad</merchantTransactionID>
    <paymentMethodID>190</paymentMethodID>
    <amount currencyCode="USD">19.65</amount>
    <specificPaymentData>
        <data xsi:type="keyStringValuePair">
            <key>PaymentDescription</key>
            <value>refund description</value>
        </data>
    </specificPaymentData>
</initiatePaymentFromReferenceRequest>

Mock Testing

If mock testing is enabled, merchant can pass an amount with .88 and the first part is returned as the error code with a DECLINED response.

e.g. the amount 250.88 results in error code 250.

This applies the following list of error codes. If an amount is passed without a corresponding error code in the list below, then the description will be empty.

200

Transaction was Declined by Processor

201

Do Not Honor

202

Insufficient Funds

203

Over Limit

204

Transaction not allowed

220

Incorrect payment Data

221

No Such Card Issuer

222

No Card Number on file with Issuer

223

Expired Card

224

Invalid Expiration Date

225

Invalid Card Security Code

240

Call Issuer for Further Information

250

Pick Up Card

251

Lost Card

252

Stolen Card

253

Fraudulent Card

260

Declined With further Instructions Available (see response text)

261

Declined - Stop All Recurring Payments

262

Declined - Stop this Recurring Program

263

Declined - Update Cardholder Data Available

264

Declined - Retry in a few days

300

Transaction was Rejected by Gateway

400

Transaction Error Returned by Processor

410

Invalid Merchant Configuration

411

Merchant Account is Inactive

420

Communication Error

421

Communication Error with Issuer

430

Duplicate Transaction at Processor

440

Processor Format Error

441

Invalid Transaction Information

460

Processor Feature Not Available

461

Unsupported Card Type

801

Rule Match

811

BIN Match – Private

812

BIN Match – Global

813

Account Number Match – Private

814

Account Number Match – Global

815

Email Domain Match – Private

816

Email Domain Match – Global

817

Email Address Match – Private

818

Email Address Match – Global

819

IP Address Match – Private

820

IP Address Match – Global

821

IP Address Wildcard Match – Private

822

IP Address Wildcard Match – Global

823

Configuration Error - No Merchant Account

824

No Active Merchant Accounts

881

Refund Transaction Mismatch

882

Refund Transaction Not Found

883

Refund Exceeds Transaction Balance

884

Max Monthly Limit Exceeded

885

Max Daily Limit Exceeded

886

Max Ticket Limit Exceeded

887

Configuration Error – No Product Group

888

All Merchant Account Limits Exceeded

889

Card Type Not Supported

890

Merchant Account Limit Exceeded on Sticky Transactions

891

AVS Match

892

CVV Matchdescription

893

Score Match

894

User Not Authorized to Submit Transaction