Sightline Deposit

Payment Method Sightline Deposit is used in the US.

The following method IDs are covered in this section:

ID

Name

Credit/Debit State

172

Sightline Deposit

DepositedByProvider (29)

Payment method interaction type: Synchronous execution (see Interaction Types).

Redirect Integration

Payment method Sightline Deposit is available in Checkout.

Example getRedirectData request for a Redirect Deposit (172), redirection to the Selection page (=directly to PXP Checkout selection page):

<getRedirectDataRequest xmlns="http://www.cqrpayments.com/PaymentProcessing"
                        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                        xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <merchantID>{{merchant}}</merchantID>
    <redirectParameters xsi:type="paymentMethodSelectionWithDetailsRedirectParameters">
        <shopID>{{shop}}</shopID>
        <httpMethod>GET</httpMethod>
        <returnUrl>http://return</returnUrl>
        <languageCode>en</languageCode>
        <currencyCode>usd</currencyCode>
        <countryCode>us</countryCode>
        <additionalDetails>
            <detail xsi:type="keyStringValuePair">
                <key>Description</key>
                <value>some description</value>
            </detail>
        </additionalDetails>
        <user>
            <id>{{newUserID}}</id>
            <username>{{newUserName}}</username>
            <firstname>Sherlock</firstname>
            <lastname>Holmes</lastname>
            <currencyCode>USD</currencyCode>
            <languageCode>EN</languageCode>
            <email>{{newUserEmail}}</email>
             <address>
            <street>Geneva Street</street>
               <houseNumber>5</houseNumber>
               <postalCode>61259</postalCode>
               <city>Illinois City</city>
               <state>IL</state>
               <countryCode2>US</countryCode2>
               <telephoneNumber>{{phoneNumber}}</telephoneNumber>
            </address>
             <dateOfBirth>1985-10-10T00:00:00</dateOfBirth>
            <gender>Female</gender>
         </user>
        <merchantTransactionID>{{checkoutMerchantTransactionID}}</merchantTransactionID>
        <grossAmount>100.00</grossAmount>
        <minPaymentLimitAmount>10</minPaymentLimitAmount>
        <maxPaymentLimitAmount>3000</maxPaymentLimitAmount>
        <expirationTimeSpanInSeconds>3600</expirationTimeSpanInSeconds>
        <successUrl>http://success</successUrl>
        <pendingUrl>http://pending</pendingUrl>
        <errorUrl>http://error</errorUrl>
        <cancelUrl>http://cancel</cancelUrl>
        <refusedUrl>http://refused</refusedUrl>
        <paymentDirection>Deposit</paymentDirection>
    </redirectParameters>
</getRedirectDataRequest>

Example getRedirectData request for a Redirect Deposit (172), redirection to the Detail page (=directly to PXP Checkout detail page):

<getRedirectDataRequest xmlns="http://www.cqrpayments.com/PaymentProcessing"
                        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                        xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <merchantID>{{merchant}}</merchantID>
    <redirectParameters xsi:type="paymentMethodDetailsRedirectParameters">
        <shopID>{{shop}}</shopID>
        <httpMethod>GET</httpMethod>
        <returnUrl>http://return</returnUrl>
        <languageCode>en</languageCode>
        <currencyCode>usd</currencyCode>
        <countryCode>us</countryCode>
        <additionalDetails>
             <detail xsi:type="keyStringValuePair">
                <key>Description</key>
                <value>my payment description</value>
            </detail>
        </additionalDetails>
         <user>
            <id>hc20210827181039</id>
            <identificationNumber>355775613</identificationNumber>
         </user>
        <merchantTransactionID>{{checkoutMerchantTransactionID}}</merchantTransactionID>
        <grossAmount>1.00</grossAmount>
        <minPaymentLimitAmount>10</minPaymentLimitAmount>
        <maxPaymentLimitAmount>3000</maxPaymentLimitAmount>
        <expirationTimeSpanInSeconds>3600</expirationTimeSpanInSeconds>
       <successUrl>http://www.google.com/result?param1=success?status=success</successUrl>
        <pendingUrl>http://www.google.com/result?param1=pending?status=pending</pendingUrl>
        <errorUrl>http://www.google.com/result?param1=error?status=error</errorUrl>
        <cancelUrl>http://www.google.com/result?param1=cancel?status=cancel</cancelUrl>
        <refusedUrl>http://www.google.com/result?param1=refuse?status=refuse</refusedUrl>
        <paymentMethodID>172</paymentMethodID>
        <isPaymentMethodChangeAllowed>false</isPaymentMethodChangeAllowed>
    </redirectParameters>
</getRedirectDataRequest>

Example getRedirectData response:

<getRedirectDataResponse xmlns=http://www.cqrpayments.com/PaymentProcessing xmlns:xsd=http://www.w3.org/2001/XMLSchema xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance>
    <redirectData>
        <redirectUrl>https://payments.test2.kalixa.com/Checkout/PaymentMethods/172?requestData=m30h4kblzqatlb15f4qxdulb_46d32478-bf3d-4d04-9a8f-b733baa080d8</redirectUrl>
    </redirectData>
</getRedirectDataResponse>

Customer using Sightline payment for the first time

  • Customer will be redirected to the PXP payment method selection page.
  • Customer selects Sightline payment method from the list of payment methods available on the payment method selection page.
  • Customer need to enroll with Sightline provider if not already enrolled with the Sightline.
    • If not already enrolled then Customer will see a spinner in the PXP checkout and will be redirected to the Sightline provider for the Enrollment.
    • After the successful enrollment a balance enquiry check is initiated with the provider.
    • After the successful balance enquiry check, customer is redirected to the PXP payment method detail page.
  • Customer selects the payment account from the PXP details page and submits the payment.
  • On Successful transaction, payment status will be DepositedByProvider and merchant can display the success information to the customer.
  • On failed transaction, payment status will be RefusedByProvider and merchant can display the failure information to the customer.

Below screenshot shows an example of the payment selection page with Sightline listed as one of the payment method.

Below screenshot shows the redirection of the customer to Sightline for the Enrollment

Customer using Sightline payment for the second and subsequent time

  • Bank Account added during Sightline Enrollment shall be displayed to the customer in the PXP checkout.
  • If the customer selects an existing account then there is no redirection to the provider. PXP initiates a backend request to the provider with the already stored bank account details.
  • On Successful transaction, payment status will be DepositedByProvider and PXP Checkout will redirect the customer to the success url as provided in the GetRedirectDataRequest.
  • On failed transaction, payment status will be RefusedByProvider and PXP Checkout will redirect the customer to the error url as provided in the GetRedirectDataRequest.

Below screenshot shows the redirection of the customer to Payment details page when the enrollment is successfully completed

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)

User´s account ID for Sightline provider

AccountIdentifierTypeId (Int)

ReferenceId = 1
MemberShipNumber = 2

The default value is ReferenceID unless specified by merchant

The following parameters can be provided in initiatePaymentRequest.specificPaymentData:

key (value type, account type, required)

value

PaymentProviderID
(Int)

Should be 121.

LanguageCode (string)

The language of the user, used for localizing the UI displayed to the user

CountryCode2 (string)

The country code of the request

UserFirstname (string)

The first name of the user

UserLastname (string)

The last name of the user

IdentificationNumber (string)

The user`s identification number. It is being passed in both and sections.

Example initiatePaymentRequest:

<initiatePaymentRequest xmlns="http://www.cqrpayments.com/PaymentProcessing">
    <merchantID>YourMerchantID</merchantID>
    <shopID>YourShopID</shopID>
    <merchantTransactionID>5d37d7ac-f6f4-4752-bacf-4b3fd778de62</merchantTransactionID>
    <paymentMethodID>172</paymentMethodID>
    <amount currencyCode="USD">25</amount>
    <userID>daee843b-cc2b-4dd4-9c4d-078eeb</userID>
    <userData>
        <username>daee843b-cc2b-4dd4-9c4d-078eeb</username>
        <firstname>Clark</firstname>
        <lastname>Kent</lastname>
        <address>
            <countryCode2>US</countryCode2>
            <telephoneNumber xsi:nil="true"/>
        </address>
        <identificationNumber>2952423828234234</identificationNumber>
    </userData>
    <userIP>127.0.0.1</userIP>
    <userSessionID>6d22207c-b9d3-45de-a5c1-b8b9c8752dce</userSessionID>
    <creationTypeID>1</creationTypeID>
    <specificPaymentData>
        <data xsi:type="keyStringValuePair">
            <key>LanguageCode</key>
            <value>en</value>
        </data>
        <data xsi:type="keyStringValuePair">
            <key>PaymentDescription</key>
            <value>037f7850-aa94-48a7-9970-92e2c64d5604</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>IdentificationNumber</key>
            <value>2952423828234234</value>
        </data>
        <data xsi:type="keyStringValuePair">
            <key>CountryCode2</key>
            <value>US</value>
        </data>
    </specificPaymentData>
    <paymentAccount>
        <specificPaymentAccountData>
            <data xsi:type="keyStringValuePair">
                <key>AccountNumber</key>
                <value>123456789</value>
            </data>
            <data xsi:type="keyStringValuePair">
                <key>AccountIdentifierTypeId</key>
                <value>1</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>172</key>
            <value>SightlineDeposit</value>
        </paymentMethod>
        <merchantTransactionID>5d37d7ac-f6f4-4752-bacf-4b3fd778de62</merchantTransactionID>
        <paymentID>576cc93d-4694-4e24-a220-b04aa2d2c78b</paymentID>
        <userID>daee843b-cc2b-4dd4-9c4d-078eeb</userID>
        <paymentProvider>
            <key>121</key>
            <value>Sightline</value>
        </paymentProvider>
        <amount currencyCode="USD">25</amount>
        <creationType>
            <key>1</key>
            <value>User</value>
        </creationType>
        <userIP>127.0.0.1</userIP>
        <state>
            <id>4992986c-b023-47d6-b1f7-bbefe9e8aaca</id>
            <definition>
                <key>29</key>
                <value>DepositedByProvider</value>
            </definition>
            <createdOn>2013-09-25T08:29:27.2310256Z</createdOn>
            <description>DepositedByProvider</description>
            <paymentStateDetails>
                <detail xsi:type="keyStringValuePair">
                    <key>ProviderResponseCode</key>
                    <value>Approved</value>
                </detail>
                <detail xsi:type="keyStringValuePair">
                    <key>ProviderResponseMessage</key>
                    <value>Approved</value>
                </detail>
            </paymentStateDetails>
        </state>
        <isExecuted>true</isExecuted>
        <baseAmount currencyCode="EUR">16.6</baseAmount>
        <paymentDetails>
            <detail xsi:type="keyStringValuePair">
                <key>ProviderTransactionID</key>
                <value>3988880444848780288</value>
            </detail>
            <detail xsi:type="keyStringValuePair">
                <key>ProviderExternalID</key>
                <value>991539</value>
            </detail>
        </paymentDetails>
        <paymentAccount>
            <paymentAccountID>ad97b590-2f24-4f87-9449-55cd0ef10672</paymentAccountID>
        </paymentAccount>
    </payment>
</initiatePaymentResponse>

Following field is returned in paymentDetails of initiatePaymentResponse:

Field name

Description

ProviderTransactionID

Sightline`s unique transactionID.

Possible payment states in initiatePaymentResponse:

Payment State

Description

DepositedByProvider

Success state

RefusedByProvider

Withdrawal was refused by provider

ProviderCommunicationError

Error state because of failed communication with the provider, unexpected response received, etc. See State.Description for more details.

State Diagram

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 has the following payment states:

Payment States

Description

RefusedByProvider (100)

Error state; payment was not accepted by provider.

DepositedByProvider (29)

Success state; payment has been executed.

Cancelled (113)

Error state; payment was refused by provider and automatically cancelled

Example handlePaymentStateChangedNotificationRequest:

Example handlePaymentStateChangedNotificationResponse: