Skrill Rapid Transfer Deposit

Skrill Rapid Transfer is Bank Transfer powered by Skrill.

The following method IDs are covered in this section:

ID

Name

Credit/Debit State

344

SkrillRapidTransferDeposit

DepositedByProvider (29)

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

After initiating the payment with Skrill, the customer is redirected to the Skrill page. After confirming the payment the user is returned to the merchant.

Redirect Integration

Not supported at this moment.

Backend2BackendIntegration

The following parameters can be provided in initiatePaymentRequest.specificPaymentData:

key (value type, account type, required)

value

SuccessPageURL
(string, required)

The URL to redirect user in case of successful payment

ErrorPageURL (string, required)

The URL to redirect user in case of unsuccessful 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>B2BTestMerchant</merchantID>
    <shopID>SkrillRapidTransferShop</shopID>
    <merchantTransactionID>059ceb16-cb4a-4bbc-bd2d-57b6fd8d4aaf</merchantTransactionID>
    <paymentMethodID>344</paymentMethodID>
    <amount currencyCode="EUR">28.49</amount>
    <userID>CQRB2BTestMerchantSystemUser</userID>
    <userData>
        <username>CQRB2BTestMerchantSystemUser</username>
        <firstname xsi:nil="true" />
        <lastname xsi:nil="true" />
        <currencyCode xsi:nil="true" />
        <languageCode xsi:nil="true" />
        <email xsi:nil="true" />
        <address>
            <street xsi:nil="true" />
            <houseName xsi:nil="true" />
            <houseNumber xsi:nil="true" />
            <houseNumberExtension xsi:nil="true" />
            <postalCode xsi:nil="true" />
            <city xsi:nil="true" />
            <state xsi:nil="true" />
            <countryCode2>AT</countryCode2>
            <telephoneNumber xsi:nil="true" />
        </address>
        <identificationNumberType xsi:nil="true" />
        <drivingLicenseNumber xsi:nil="true" />
        <drivingLicenseIssuingState xsi:nil="true" />
    </userData>
    <userIP>127.0.0.1</userIP>
    <userSessionID>aab80cfd-e4bc-4e5a-a61b-030194268444</userSessionID>
    <creationTypeID>1</creationTypeID>
    <specificPaymentData>
        <data xsi:type="keyStringValuePair">
            <key>SuccessPageUrl</key>
            <value>http://success/?a=b&amp;c=d</value>
        </data>
        <data xsi:type="keyStringValuePair">
            <key>ErrorPageUrl</key>
            <value>http://error/</value>
        </data>
    </specificPaymentData>
</initiatePaymentRequest>

Example initiatePaymentResponse:

<?xml version="1.0" encoding="utf-8"?>
<initiatePaymentResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.cqrpayments.com/PaymentProcessing">
    <payment xsi:type="paymentWithPaymentAccount">
        <merchantID>B2BTestMerchant</merchantID>
        <shopID>SkrillRapidTransferShop</shopID>
        <paymentMethod>
            <key>344</key>
            <value>SkrillRapidTransferDeposit</value>
        </paymentMethod>
        <merchantTransactionID>059ceb16-cb4a-4bbc-bd2d-57b6fd8d4aaf</merchantTransactionID>
        <paymentID>5a6ef5c3-0c1d-4ec7-86e7-d802a4d619b0</paymentID>
        <userID>CQRB2BTestMerchantSystemUser</userID>
        <paymentProvider>
            <key>11</key>
            <value>Moneybookers</value>
        </paymentProvider>
        <amount currencyCode="EUR">28.49</amount>
        <creationType>
            <key>1</key>
            <value>User</value>
        </creationType>
        <userIP>127.0.0.1</userIP>
        <state>
            <id>87e92ba7-a21d-4734-83eb-1f54245ebe54</id>
            <definition>
                <key>30</key>
                <value>RedirectURLCreated</value>
            </definition>
            <createdOn>2019-07-08T12:23:25.661566Z</createdOn>
            <description>https://api.test2.kalixa.com/WebMockProviders/Moneybookers.aspx?sid=qxnawfo3hgdasjxiotppxryx</description>
            <paymentStateDetails>
                <detail xsi:type="keyStringValuePair">
                    <key>RedirectionUrl</key>
                    <value>https://api.test2.kalixa.com/WebMockProviders/Moneybookers.aspx?sid=qxnawfo3hgdasjxiotppxryx</value>
                </detail>
                <detail xsi:type="keyStringValuePair">
                    <key>PaymentStateReasonID</key>
                    <value>1</value>
                </detail>
            </paymentStateDetails>
        </state>
        <isExecuted>false</isExecuted>
        <baseAmount currencyCode="EUR">28.49</baseAmount>
        <paymentDetails>
            <detail xsi:type="keyStringValuePair">
                <key>ProviderExternalID</key>
                <value>28758937</value>
            </detail>
        </paymentDetails>
        <paymentAccount>
            <paymentAccountID>0</paymentAccountID>
        </paymentAccount>
    </payment>
</initiatePaymentResponse>

Possible payment states in initiatePaymentResponse:

Payment State

Description

RedirectURLCreated ()

OK state; Redirect user to the URL

The merchant system should retrieve the redirect URL from payment.state.paymentStateDetails (key: RedirectionUrl).

InitiateRequestProviderCommunicationErrorOccured

Technical communication error state. Final state.

After redirection of the customer to Skrill, a notification is being sent from Skrill to PXP Financial.

Payment State

Description

Expired

The payment has expired due to session time out.

Deposited

The payment was reported as successful by the provider.

RefusedByProvider

The provider has refused the payment.

AbortedByCustomer

The payment was aborted by customer.

Notifications

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

Example handlePaymentStateChangedNotificationRequest:

<?xml version="1.0" encoding="utf-8"?>
<handlePaymentStateChangedNotificationRequest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.cqrpayments.com/PaymentProcessing">
    <payment xsi:type="paymentWithPaymentAccount">
        <merchantID>B2BTestMerchant</merchantID>
        <shopID>SkrillRapidTransferShop</shopID>
        <paymentMethod>
            <key>344</key>
            <value>SkrillRapidTransferDeposit</value>
        </paymentMethod>
        <merchantTransactionID>059ceb16-cb4a-4bbc-bd2d-57b6fd8d4aaf</merchantTransactionID>
        <paymentID>5a6ef5c3-0c1d-4ec7-86e7-d802a4d619b0</paymentID>
        <userID>CQRB2BTestMerchantSystemUser</userID>
        <paymentProvider>
            <key>11</key>
            <value>Moneybookers</value>
        </paymentProvider>
        <amount currencyCode="EUR">28.4900</amount>
        <creationType>
            <key>1</key>
            <value>User</value>
        </creationType>
        <userIP>127.0.0.1</userIP>
        <state>
            <id>6a4b5c84-9e23-4f7c-8282-f24246c50234</id>
            <definition>
                <key>29</key>
                <value>DepositedByProvider</value>
            </definition>
            <createdOn>2019-07-08T12:23:38.693</createdOn>
            <paymentStateDetails xsi:nil="true" />
        </state>
        <isExecuted>true</isExecuted>
        <baseAmount currencyCode="EUR">28.4900</baseAmount>
        <paymentDetails>
            <detail xsi:type="keyStringValuePair">
                <key>ProviderExternalID</key>
                <value>28758937</value>
            </detail>
            <detail xsi:type="keyIntValuePair">
                <key>MerchantSettlementCurrencyID</key>
                <value>2</value>
            </detail>
            <detail xsi:type="keyStringValuePair">
                <key>ProviderTransactionID</key>
                <value>23041984</value>
            </detail>
        </paymentDetails>
        <paymentAccount>
            <paymentAccountID>0</paymentAccountID>
        </paymentAccount>
    </payment>
</handlePaymentStateChangedNotificationRequest>