LuxonPay Wallet deposit

LuxonPay Wallet deposit is a payment method, offered by Luxon Payments. It's a wallet redirect deposit which allows users to move funds to merchant's account. EUR is the only currency allowed. If a merchant initiates a payment in different currency, it will be converted to EUR by PXP.

The following method IDs are covered in this section:

ID

Name

Credit/Debit State

326

LuxonPayDeposit

DepositedByProvider (29)

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

Payment flow:

  1. User initiates a payment on merchant site
  2. Merchant sends initiatePaymentRequest to PXP
  3. PXP sends Create Payment request to Luxon
  4. PXP receives response with redirect url form Luxon
  5. The merchant receives initiatePaymentResponse with redirect url from PXP
  6. The merchant redirects the user to Luxon portal
  7. PXP receives webhook from Luxon with request to allow the payment
  8. PXP sends confirmation request to the merchant
  9. Merchant sends payment confirmation to PXP
  10. PXP responds to Luxon that payment can be proceeded
  11. User confirms the payment
  12. PXP receives transaction status notification from Luxon
  13. The merchant receives paymentStateChangeNotification from PXP
801801

Redirect Integration

Currently not supported.

Backend2Backend Integration

The following parameters can be provided in initiatePaymentRequest:

key (value type, account type, required)

value

HomePageUrl (string, required)

URL where user should be redirected after transaction completion on Luxon side

Scenario: Successful Payment

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>KalixaAcceptDemo</merchantID>
    <shopID>KalixaAcceptDemo</shopID>
    <merchantTransactionID>cd18a996-b50a-4485-9afb-716f6456451a-26</merchantTransactionID>
    <paymentMethodID>326</paymentMethodID>
    <amount currencyCode="EUR">3.23</amount>
    <userID>6895456</userID>
    <userIP>127.0.0.1</userIP>
    <userSessionID>7773a2b8-db34-4618-900f-0edabc1d687f</userSessionID>
    <creationTypeID>1</creationTypeID>
    <specificPaymentData>
        <data xsi:type="keyStringValuePair">
            <key>HomePageUrl</key>
            <value>http://home</value>
        </data>
    </specificPaymentData>
</initiatePaymentRequest>

Example initiatePaymentResponse:

<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>326</key>
            <value>LuxonPayDeposit</value>
        </paymentMethod>
        <merchantTransactionID>cd18a996-b50a-4485-9afb-716f6456451a-26</merchantTransactionID>
        <paymentID>7bb2df80-ec1a-4eff-8ee0-6a595d62568e</paymentID>
        <userID>6895456</userID>
        <paymentProvider>
            <key>178</key>
            <value>Luxon</value>
        </paymentProvider>
        <amount currencyCode="EUR">3.23</amount>
        <creationType>
            <key>1</key>
            <value>User</value>
        </creationType>
        <userIP>127.0.0.1</userIP>
        <state>
            <id>92094227-38e9-46ab-850c-a3f8282d67a4</id>
            <definition>
                <key>30</key>
                <value>RedirectURLCreated</value>
            </definition>
            <createdOn>2019-02-05T15:44:32.0236592Z</createdOn>
            <description>https://provider-redirect-url</description>
            <paymentStateDetails>
                <detail xsi:type="keyStringValuePair">
                    <key>RedirectionUrl</key>
                    <value>https://provider-redirect-url</value>
                </detail>
                <detail xsi:type="keyStringValuePair">
                    <key>ProviderResponseCode</key>
                    <value>PENDING</value>
                </detail>
                <detail xsi:type="keyStringValuePair">
                    <key>ProviderResponseMessage</key>
                    <value>Successful creation of payment</value>
                </detail>
                <detail xsi:type="keyStringValuePair">
                    <key>PaymentStateReasonID</key>
                    <value>1</value>
                </detail>
            </paymentStateDetails>
        </state>
        <isExecuted>false</isExecuted>
        <baseAmount currencyCode="EUR">3.23</baseAmount>
        <paymentDetails>
            <detail xsi:type="keyStringValuePair">
                <key>ProviderTransactionID</key>
                <value>af8a1e60-d0e7-479a-b4ab-f834cc7adfff</value>
            </detail>
            <detail xsi:type="keyStringValuePair">
                <key>ProviderExternalID</key>
                <value>1700544</value>
            </detail>
        </paymentDetails>
        <paymentAccount>
            <paymentAccountID>0</paymentAccountID>
        </paymentAccount>
    </payment>
</initiatePaymentResponse>

After user confirmation the merchant receives a request to accept or decline the payment. See table and examples below.

Merchant action

Response code

Merchant accepts the payment

resultCode.key = 0
resultCode.value = 'ProcessedSuccessfully'

Merchant declines the payment

resultCode.key = 15
resultCode.value = 'BlockedByMerchant'

Example: Merchant approves transaction

<?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>326</key>
            <value>LuxonPayDeposit</value>
        </paymentMethod>
        <merchantTransactionID>cd18a996-b50a-4485-9afb-716f6456451a-26</merchantTransactionID>
        <paymentID>7bb2df80-ec1a-4eff-8ee0-6a595d62568e</paymentID>
        <userID>6895456</userID>
        <paymentProvider>
            <key>178</key>
            <value>Luxon</value>
        </paymentProvider>
        <amount currencyCode="EUR">3.23</amount>
        <creationType>
            <key>1</key>
            <value>User</value>
        </creationType>
        <userIP>127.0.0.1</userIP>
        <state>
            <id>9bffd5d0-6054-4532-b2d8-93e0b74ef785</id>
            <definition>
                <key>529</key>
                <value>InquiryRequestReceivedFromProvider</value>
            </definition>
            <createdOn>2019-03-05T15:26:02.0800842Z</createdOn>
            <description />
            <paymentStateDetails>
                <detail xsi:type="keyStringValuePair">
                    <key>ProviderResponseCode</key>
                    <value>PENDING</value>
                </detail>
                <detail xsi:type="keyStringValuePair">
                    <key>ProviderResponseMessage</key>
                    <value>Transaction registered and pending client processing</value>
                </detail>
                <detail xsi:type="keyIntValuePair">
                    <key>PaymentStateReasonID</key>
                    <value>1</value>
                </detail>
            </paymentStateDetails>
        </state>
        <isExecuted>false</isExecuted>
        <baseAmount currencyCode="EUR">3.23</baseAmount>
        <paymentDetails>
            <detail xsi:type="keyStringValuePair">
                <key>ProviderExternalID</key>
                <value>1703664</value>
            </detail>
            <detail xsi:type="keyStringValuePair">
                <key>ProviderTransactionID</key>
                <value>a2853f7f-6a03-4de8-a4a3-93ffe499010d</value>
            </detail>
        </paymentDetails>
        <paymentAccount>
            <paymentAccountID>1d2c3823-bf8c-42a7-88c4-7e2c4af9e04a</paymentAccountID>
            <details>
                <detail xsi:type="keyStringValuePair">
                    <key>accountNumber</key>
                    <value>0x123456</value>
                </detail>
                <detail xsi:type="keyStringValuePair">
                    <key>AccountOwnerFirstname</key>
                    <value>GVC User</value>
                </detail>
                <detail xsi:type="keyStringValuePair">
                    <key>AccountOwnerDateOfBirth</key>
                    <value>1963-12-27</value>
                </detail>
                <detail xsi:type="keyStringValuePair">
                    <key>AccountOwnerEmail</key>
                    <value>[email protected]</value>
                </detail>
                <detail xsi:type="keyStringValuePair">
                    <key>AccountOwnerLastname</key>
                    <value>1</value>
                </detail>
                <detail xsi:type="keyStringValuePair">
                    <key>AccountOwnerTelephoneNumber</key>
                    <value>12345678</value>
                </detail>
                <detail xsi:type="keyStringValuePair">
                    <key>AccountOwnerAddressName</key>
                    <value>70638 Trycia Locks, Willowville, OH 12948</value>
                </detail>
                <detail xsi:type="keyStringValuePair">
                    <key>AccountOwnerCountryName</key>
                    <value>USA</value>
                </detail>
            </details>
        </paymentAccount>
    </payment>
</handlePaymentStateChangedNotificationRequest>
<?xml version="1.0" encoding="utf-16"?>
<handlePaymentStateChangedNotificationResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <resultCode>
        <key xmlns="http://www.cqrpayments.com/PaymentProcessing">0</key>
        <value xmlns="http://www.cqrpayments.com/PaymentProcessing">ProcessedSuccessfully</value>
    </resultCode>
    <resultMessage>Informational message</resultMessage>
</handlePaymentStateChangedNotificationResponse>

Example: Merchant declines transaction

<?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>326</key>
            <value>LuxonPayDeposit</value>
        </paymentMethod>
        <merchantTransactionID>d42e7a69-87a7-4889-8481-05d942bec674</merchantTransactionID>
        <paymentID>249bad27-4dff-46ee-ad4e-f6157b239789</paymentID>
        <userID>6895456</userID>
        <paymentProvider>
            <key>178</key>
            <value>Luxon</value>
        </paymentProvider>
        <amount currencyCode="EUR">3.23</amount>
        <creationType>
            <key>1</key>
            <value>User</value>
        </creationType>
        <userIP>127.0.0.1</userIP>
        <state>
            <id>a6c39a8f-d43f-4c01-b7bd-5e4f39e6412f</id>
            <definition>
                <key>120</key>
                <value>PendingOnProvider</value>
            </definition>
            <createdOn>2019-02-18T08:48:37.1455582Z</createdOn>
            <paymentStateDetails>
                <detail xsi:type="keyStringValuePair">
                    <key>ProviderResponseCode</key>
                    <value>PENDING</value>
                </detail>
                <detail xsi:type="keyStringValuePair">
                    <key>ProviderResponseMessage</key>
                    <value>Transaction registered and pending client processing</value>
                </detail>
                <detail xsi:type="keyIntValuePair">
                    <key>PaymentStateReasonID</key>
                    <value>1</value>
                </detail>
            </paymentStateDetails>
        </state>
        <isExecuted>false</isExecuted>
        <baseAmount currencyCode="EUR">3.23</baseAmount>
        <paymentDetails>
            <detail xsi:type="keyStringValuePair">
                <key>ProviderExternalID</key>
                <value>27262671</value>
            </detail>
            <detail xsi:type="keyStringValuePair">
                <key>ProviderTransactionID</key>
                <value>64008997-e92e-460a-af24-36c9e1caec9a</value>
            </detail>
        </paymentDetails>
        <paymentAccount>
            <paymentAccountID>135e618f-f2d0-4e1b-a85a-4bf92f18819a</paymentAccountID>
            <details>
                <detail xsi:type="keyStringValuePair">
                    <key>accountNumber</key>
                    <value>0xf123324dd</value>
                </detail>
            </details>
        </paymentAccount>
    </payment>
</handlePaymentStateChangedNotificationRequest>
<?xml version="1.0" encoding="utf-16"?>
<handlePaymentStateChangedNotificationResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <resultCode>
        <key xmlns="http://www.cqrpayments.com/PaymentProcessing">15</key>
        <value xmlns="http://www.cqrpayments.com/PaymentProcessing">BlockedByMerchant</value>
    </resultCode>
    <resultMessage>Informational message</resultMessage>
</handlePaymentStateChangedNotificationResponse>

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 xsi:type="paymentWithPaymentAccount">
        <merchantID>KalixaAcceptDEMO</merchantID>
        <shopID>KalixaAcceptDEMO</shopID>
        <paymentMethod>
            <key>326</key>
            <value>LuxonPayDeposit</value>
        </paymentMethod>
        <merchantTransactionID>cd18a996-b50a-4485-9afb-716f6456451a-26</merchantTransactionID>
        <paymentID>7bb2df80-ec1a-4eff-8ee0-6a595d62568e</paymentID>
        <userID>6895456</userID>
        <paymentProvider>
            <key>178</key>
            <value>Luxon</value>
        </paymentProvider>
        <amount currencyCode="EUR">3.23</amount>
        <creationType>
            <key>1</key>
            <value>User</value>
        </creationType>
        <userIP>127.0.0.1</userIP>
        <state>
            <id>7892d0d7-3fda-4a27-ba7b-1a4bed05d825</id>
            <definition>
                <key>29</key>
                <value>DepositedByProvider</value>
            </definition>
            <createdOn>2019-02-05T15:45:02.0239592Z</createdOn>
            <description />
            <paymentStateDetails>
                <detail xsi:type="keyStringValuePair">
                    <key>ProviderReasonCode</key>
                    <value>PROCESSED</value>
                </detail>
            </paymentStateDetails>
        </state>
        <isExecuted>true</isExecuted>
        <baseAmount currencyCode="EUR">3.23</baseAmount>
        <paymentDetails>
            <detail xsi:type="keyStringValuePair">
                <key>ProviderExternalID</key>
                <value>105387</value>
            </detail>
            <detail xsi:type="keyStringValuePair">
                <key>ProviderTransactionID</key>
                <value>999</value>
            </detail>
        </paymentDetails>
        <paymentAccount>
            <paymentAccountID>135e618f-f2d0-4e1b-a85a-4bf92f18819a</paymentAccountID>
            <details>
                <detail xsi:type="keyStringValuePair">
                    <key>accountNumber</key>
                    <value>0xf123324dd</value>
                </detail>
            </details>
        </paymentAccount>
    </payment>
</handlePaymentStateChangedNotificationRequest>

Payment states:

720720