Ticket Premium v7
Ticket Premium is a voucher payment method offered by French company TSI.
The following method IDs are covered in this section:
ID | Name | Credit/Debit State |
---|---|---|
145 | Ticket Premium Deposit | DepositedByProvider (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:
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&id=983&lang=en</description>
<paymentStateDetails>
<detail xsi:type="keyStringValuePair">
<key>RedirectionUrl</key>
<value>http://dev.backend.cqrpayments.com/WebMockProviders/TSIDeposit.aspx?tid=00000000000000000000000000002110&id=983&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:
Updated almost 6 years ago