Backend2Backend Integration

The recurring details should be set in the intiatePaymentRequest.specificPaymentData collection, key-values:

  • TransactionPlanID
  • ClientSystemTransactionAgreementID
  • TransactionAgreementStartDate
  • TransactionAgreementAmount
  • TransactionAgreementCurrencyCode

For more information see initiatePayment

Example initiatePaymentRequest for a recurring Visa deposit:

<?xml version="1.0" encoding="utf-8"?>
<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>KalixaAcceptDEMO</merchantID>
  <shopID>KalixaAcceptDEMO</shopID>
  <merchantTransactionID>14309126847940268</merchantTransactionID>
  <paymentMethodID>2</paymentMethodID>
  <amount currencyCode="EUR">10.0</amount>
  <userID>KalixaTestUser_3</userID>
  <userData>
    <username>KalixaTestUser_3</username>
  </userData>
  <userIP>127.0.0.1</userIP>
  <userSessionID>33440706052015Li8wqo3GWaT</userSessionID>
  <creationTypeID>4</creationTypeID>
  <specificPaymentData>
    <data xsi:type="keyIntValuePair">
      <key>PaymentProviderID</key>
      <value>92</value>
    </data>
    <data xsi:type="keyStringValuePair">
      <key>PaymentDescription</key>
      <value>CreditCardDeposit</value>
    </data>
    <data xsi:type="keyStringValuePair">
      <key>PaymentDescriptionLanguageCode</key>
      <value>en</value>
    </data>
    <data xsi:type="keyStringValuePair">
      <key>TransactionPlanID</key>
      <value>599a7c0c-2edb-405f-894c-9d6c5202fe9f</value>
    </data>
    <data xsi:type="keyStringValuePair">
      <key>ClientSystemTransactionAgreementID</key>
      <value>ABC12342</value>
    </data>
    <data xsi:type="keyDateTimeValuePair">
      <key>TransactionAgreementStartDate</key>
      <value>2016-12-15T16:39:27.548Z</value>
    </data>
    <data xsi:type="keyDecimalValuePair">
      <key>TransactionAgreementAmount</key>
      <value>10.00</value>
    </data>
    <data xsi:type="keyStringValuePair">
      <key>TransactionAgreementCurrencyCode</key>
      <value>EUR</value>
    </data>
  </specificPaymentData>
  <paymentAccount>
    <specificPaymentAccountData>
      <data xsi:type="keyStringValuePair">
        <key>CardNumber</key>
        <value>4111111111111111</value>
      </data>
      <data xsi:type="keyStringValuePair">
        <key>CardVerificationCode</key>
        <value>111</value>
      </data>
      <data xsi:type="keyStringValuePair">
        <key>HolderName</key>
        <value>Max B</value>
      </data>
      <data xsi:type="keyIntValuePair">
        <key>ExpiryMonth</key>
        <value>12</value>
      </data>
      <data xsi:type="keyIntValuePair">
        <key>ExpiryYear</key>
        <value>2020</value>
      </data>
    </specificPaymentAccountData>
  </paymentAccount>
</initiatePaymentRequest>

Server-generated recurring-related data will be received in the intiatePaymentResponse.payment.paymentDetails collection:

  • TransactionAgreementID
  • AccountBalanceCurrencyCode
  • AccountBalanceAmount

Example initiatePaymentResponse for a recurring Visa deposit:

<?xml version="1.0" encoding="utf-8"?>
<initiatePaymentResponse xmlns="http://www.cqrpayments.com/PaymentProcessing"
                         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                         xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <payment xsi:type="paymentWithPaymentAccount">
    <merchantID>KalixaAcceptDEMO</merchantID>
    <shopID>KalixaAcceptDEMO</shopID>
    <paymentMethod>
      <key>2</key>
      <value>VISA Deposit</value>
    </paymentMethod>
    <merchantTransactionID>14309126847940268</merchantTransactionID>
    <paymentID>9a5be4a8-e349-404c-abea-689ea0c03e60</paymentID>
    <userID>KalixaTestUser_3</userID>
    <paymentProvider>
      <key>92</key>
      <value>CQRUK</value>
    </paymentProvider>
    <amount currencyCode="EUR">10.0</amount>
    <creationType>
      <key>4</key>
      <value>EcomRecurring</value>
    </creationType>
    <userIP>127.0.0.1</userIP>
    <state>
      <id>0a0f5171-f30e-4a80-818a-37cf1b1af72e</id>
      <definition>
        <key>13</key>
        <value>AuthorisedByProvider</value>
      </definition>
      <createdOn>2015-12-22T15:15:55.199225Z</createdOn>
      <description>Approved or completed successfully</description>
      <paymentStateDetails>
        <detail xsi:type="keyStringValuePair">
          <key>ProviderResponseCode</key>
          <value>0</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>ApprovalCode</key>
          <value>701824</value>
        </detail>
      </paymentStateDetails>
    </state>
    <isExecuted>true</isExecuted>
    <baseAmount currencyCode="EUR">10</baseAmount>
    <paymentDetails>
      <detail xsi:type="keyStringValuePair">
        <key>ClientSystemTransactionAgreementID</key>
        <value>ABC12342</value>
      </detail>
      <detail xsi:type="keyStringValuePair">
        <key>TransactionPlanID</key>
        <value>599a7c0c-2edb-405f-894c-9d6c5202fe9f</value>
      </detail>
      <detail xsi:type="keyDecimalValuePair">
        <key>TransactionAgreementAmount</key>
        <value>10.00</value>
      </detail>
      <detail xsi:type="keyIntValuePair">
        <key>TransactionAgreementCurrencyID</key>
        <value>2</value>
      </detail>
      <detail xsi:type="keyDateTimeValuePair">
        <key>TransactionAgreementStartDate</key>
        <value>2016-12-15T16:39:27.548Z</value>
      </detail>
      <detail xsi:type="keyStringValuePair">
        <key>AccountBalanceCurrencyCode</key>
        <value>EUR</value>
      </detail>
      <detail xsi:type="keyDecimalValuePair">
        <key>AccountBalanceAmount</key>
        <value>150.01</value>
      </detail>
      <detail xsi:type="keyStringValuePair">
        <key>TransactionAgreementID</key>
        <value>8b11133c-9692-4816-8d2c-e6c6096eab0c</value>
      </detail>
    </paymentDetails>
    <paymentAccount>
      <paymentAccountID>c57d4321-e420-4d1b-8964-b046d5c7a67c</paymentAccountID>
      <details>
        <detail xsi:type="keyStringValuePair">
          <key>issuerCountry</key>
          <value>AT</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>fundingSource</key>
          <value>Debit</value>
        </detail>
        <detail xsi:type="keyStringValuePair">
          <key>issuerName</key>
          <value>CQRUK</value>
        </detail>
      </details>
    </paymentAccount>
  </payment>
</initiatePaymentResponse>