Ticket Premium v7

Ticket Premium is a voucher payment method offered by French company TSI.

The following method IDs are covered in this section:

IDNameCredit/Debit State
145Ticket Premium DepositDepositedByProvider (29)

Payment method interaction type: Redirection to External Payment Provider (see Interaction Types).

When merchant sends a request to PXP Financial to initiate a payment, PXP Financial sends a GO request to TicketPremium (TSI) and TSI returns a URL in the response. PXP Financial responds to the merchant with a redirection URL.

User is redirected to provider's site to log in and confirm the payment. After payment confirmation PXP Financial sends a notification to merchant.

Payment flow

Following diagram describes Ticket Premium flow:

1012

🚧

The 'Alt path' section doesn't hit merchant implementation.

Backend2Backend Integration

The following table contains the fields to be sent in the initiatePaymentRequest xml section:

key (value type, account type, required)value
amount
(long integer, required)
Deposit amount

The following parameters can be provided in initiatePaymentRequest.specificPaymentData:

key (value type, account type, required)value
SuccessPageUrl (string, required)URL where the user will be redirected if
transaction is successful
ErrorPageUrl (string, required)URL where the user will be redirected if
transaction is unsuccessful

Scenario: Successful Payment

Step 1: Initiate the Payment

<?xml version="1.0" encoding="utf-8"?>
<initiatePaymentRequest xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.cqrpayments.com/PaymentProcessing">
    <merchantID>KalixaAcceptDEMO</merchantID>
    <shopID>KalixaAcceptDEMO</shopID>
    <merchantTransactionID>21435345-1232353-4888441-4365745-3</merchantTransactionID>
    <paymentMethodID>145</paymentMethodID>
    <amount currencyCode="EUR">13.37</amount>
    <userID>99a3af90-5245-48ca-8c21-b23fdf</userID>
    <userIP>127.0.0.1</userIP>
    <userSessionID>fff587aa-2e95-4fda-9e39-f66f4ee47477</userSessionID>
    <creationTypeID>1</creationTypeID>
    <specificPaymentData>
        <data xsi:type="keyStringValuePair">
            <key>SuccessPageUrl</key>
            <value>http://success</value>
        </data>
        <data xsi:type="keyStringValuePair">
            <key>ErrorPageUrl</key>
            <value>http://error</value>
        </data>
    </specificPaymentData>
</initiatePaymentRequest>
<initiatePaymentResponse xmlns="http://www.cqrpayments.com/PaymentProcessing" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <payment xsi:type="paymentWithPaymentAccount">
        <merchantID>KalixaAcceptDEMO</merchantID>
        <shopID>KalixaAcceptDEMO</shopID>
        <paymentMethod>
            <key>145</key>
            <value>Ticket Premium Deposit</value>
        </paymentMethod>
        <merchantTransactionID>21435345-1232353-4888441-4365745-3</merchantTransactionID>
        <paymentID>41c7867e-4b84-4a56-93e6-fb92df498ce5</paymentID>
        <userID>99a3af90-5245-48ca-8c21-b23fdf</userID>
        <paymentProvider>
            <key>103</key>
            <value>TSI</value>
        </paymentProvider>
        <amount currencyCode="EUR">13.37</amount>
        <creationType>
            <key>1</key>
            <value>User</value>
        </creationType>
        <userIP>127.0.0.1</userIP>
        <state>
            <id>55b66010-0ce3-4b6a-9f08-7a94d1969d98</id>
            <definition>
                <key>30</key>
                <value>RedirectURLCreated</value>
            </definition>
            <createdOn>2018-07-19T09:11:51.6426Z</createdOn>
            <description>http://dev.backend.cqrpayments.com/WebMockProviders/TSIDeposit.aspx?tid=00000000000000000000000000002110&amp;id=983&amp;lang=en</description>
            <paymentStateDetails>
                <detail xsi:type="keyStringValuePair">
                    <key>RedirectionUrl</key>
                    <value>http://dev.backend.cqrpayments.com/WebMockProviders/TSIDeposit.aspx?tid=00000000000000000000000000002110&amp;id=983&amp;lang=en</value>
                </detail>
                <detail xsi:type="keyStringValuePair">
                    <key>PaymentStateReasonID</key>
                    <value>1</value>
                </detail>
            </paymentStateDetails>
        </state>
        <isExecuted>false</isExecuted>
        <baseAmount currencyCode="EUR">13.37</baseAmount>
        <paymentDetails>
            <detail xsi:type="keyStringValuePair">
                <key>ProviderExternalID</key>
                <value>2110</value>
            </detail>
        </paymentDetails>
        <paymentAccount>
            <paymentAccountID>0</paymentAccountID>
        </paymentAccount>
    </payment>
</initiatePaymentResponse>

Step 2: User is redirected to provider's website.

Step 3: User logs on provider's site and confirms the payment

Step 4: TSI payment notification is processed, and a notification to the merchant is sent

Test Data used in the above sample request/response:

Other Scenarios

To move payment in RefusedByProvider state use the cancel button on provider's site.

Notifications

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

Scenario: Successful Payment Notification

<?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:q1="http://www.cqrpayments.com/PaymentProcessing" xsi:type="paymentWithPaymentAccount">
        <merchantID>KalixaAcceptDEMO</merchantID>
        <shopID>KalixaAcceptDEMO</shopID>
        <paymentMethod>
            <key>145</key>
            <value>Ticket Premium Deposit</value>
        </paymentMethod>
        <merchantTransactionID>21435345-1232353-4888441-4365745-9</merchantTransactionID>
        <paymentID>07612643-a943-4b5e-a6cc-5001be222903</paymentID>
        <userID>99a3af90-5245-48ca-8c21-b23fdf</userID>
        <paymentProvider>
            <key>103</key>
            <value>TSI</value>
        </paymentProvider>
        <amount currencyCode="EUR">13.3700</amount>
        <creationType>
            <key>1</key>
            <value>User</value>
        </creationType>
        <userIP>127.0.0.1</userIP>
        <state>
            <id>16863fc1-aa43-4a3b-8249-8c83633ca9e4</id>
            <definition>
                <key>29</key>
                <value>DepositedByProvider</value>
            </definition>
            <createdOn>2018-07-23T10:44:15.983</createdOn>
            <description />
            <paymentStateDetails xsi:nil="true" />
        </state>
        <isExecuted>true</isExecuted>
        <baseAmount currencyCode="EUR">13.3700</baseAmount>
        <paymentDetails>
            <detail xsi:type="keyStringValuePair">
                <key>ProviderExternalID</key>
                <value>2269</value>
            </detail>
            <detail xsi:type="keyStringValuePair">
                <key>ProviderTransactionID</key>
                <value>1855</value>
            </detail>
        </paymentDetails>
        <paymentAccount>
            <paymentAccountID>0</paymentAccountID>
        </paymentAccount>
    </payment>
</handlePaymentStateChangedNotificationRequest>

State diagram

Following diagram describes Ticket Premium payment states:

649