Ideal Deposit (via Smart2Pay)

Payment method Ideal is a popular online banking methods in the Netherlands.

The following method IDs are covered in this section:

IDNameCredit/Debit StateReversal State
111IdealDepositDepositedByProvider (13)

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

📘

Ideal Deposit Returns

Refer to Bank Transfer (and Wallet) Deposit Returns for information on how to correctly handle the notifications for Ideal Deposit Returns

Redirect Integration

Supported.

Backend2BackendIntegration

There are no specificPaymentAccountData.

The URL for Success, Error, Pending and Cancel can be provided in initiatePaymentRequest.specificPaymentData as the provider also sends notification for all these states to PXP Financial, and PXP Financial notifies the merchant accordingly.

key (value type, account type, required)value
SuccessPageUrl
(string)
URL of the merchant´s success page
ErrorPageUrl (string)URL of the merchant´s error page
PendingPageUrl (string)URL of the merchant's pending page
CancelPageUrl (string)URL of the merchant´s cancel page

Example initiatePaymentRequest:

<initiatePaymentRequest xmlns="http://www.cqrpayments.com/PaymentProcessing" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <merchantID>YourMerchantID</merchantID>
    <shopID>YourShopID</shopID>
    <merchantTransactionID>0e23b2f1-1d92-4ddd-8d43-9de4e77e279b</merchantTransactionID>
    <paymentMethodID>111</paymentMethodID>
    <amount currencyCode="EUR">100</amount>
    <userID>d48693ca-e96e-4ca1-9e01-035645a79399</userID>
    <userData />
    <userIP>127.0.0.1</userIP>
    <userSessionID>6a956eae-d903-4a01-8170-20dae92673d1</userSessionID>
    <creationTypeID>1</creationTypeID>
    <specificPaymentData>
        <data xsi:type="keyStringValuePair">
            <key>SuccessPageUrl</key>
            <value>http://successpage.url</value>
        </data>
        <data xsi:type="keyStringValuePair">
            <key>ErrorPageUrl</key>
            <value>http://errorpage.url</value>
        </data>
        <data xsi:type="keyStringValuePair">
            <key>PendingPageUrl</key>
            <value>http://pendingpage.url</value>
        </data>
        <data xsi:type="keyStringValuePair">
            <key>CancelPageUrl</key>
            <value>http://cancelpage.url</value>
        </data>
        <data xsi:type="keyStringValuePair">
            <key>HomePageUrl</key>
            <value>http://homepage.url</value>
        </data>
    </specificPaymentData>
</initiatePaymentRequest>

Example initiatePaymentResponse:

<initiatePaymentResponse xmlns="http://www.cqrpayments.com/PaymentProcessing">
    <payment>
        <merchantID>YourMerchantID</merchantID>
        <shopID>YourShopID</shopID>
        <paymentMethod>
            <key>111</key>
            <value>Smart2PayIdealDeposit</value>
        </paymentMethod>
        <merchantTransactionID>0e23b2f1-1d92-4ddd-8d43-9de4e77e279b</merchantTransactionID>
        <paymentID>670edcfc-c98e-4d10-8ff6-559cbd978245</paymentID>
        <userID>d48693ca-e96e-4ca1-9e01-035645a79399</userID>
        <paymentProvider>
            <key>41</key>
            <value>Smart2Pay</value>
        </paymentProvider>
        <amount currencyCode="EUR">100</amount>
        <creationType>
            <key>1</key>
            <value>User</value>
        </creationType>
        <userIP>127.0.0.1</userIP>
        <state>
            <id>80e32016-13d3-48b4-be23-7d565db01783</id>
            <definition>
                <key>287</key>
                <value>RedirectDataCreated</value>
            </definition>
            <createdOn>2011-05-18T09:54:52.556296Z</createdOn>
            <description/>
            <paymentStateDetails>
                <detail xsi:type="keyStringValuePair" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                    <key>RedirectionUrl</key>
                    <value>https://test.backend.cqrpayments.com/WebMockProviders/Smart2PayDeposit.aspx?TRXID=4423a31e-5246-4d65-a8f5-e888ab8c12af</value>
                </detail>
                <detail xsi:type="keyStringValuePair" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                    <key>PostDataencINFO</key>
                    <value>79F43032467C5330494C6EAB67A5AF47</value>
                </detail>
                <detail xsi:type="keyStringValuePair" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                    <key>PostDataKeys</key>
                    <value>encINFO</value>
                </detail>
            </paymentStateDetails>
        </state>
        <isExecuted>false</isExecuted>
        <baseAmount currencyCode="USD">128</baseAmount>
        <paymentDetails xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
    </payment>
</initiatePaymentResponse>

Possible payment states in initiatePaymentResponse:

Payment StatesDescription
RedirectDataCreated (287)OK state; Redirect user to the URL
ProviderCommunicationErrorOccurred (233)Error state; Communication error during payment finalization
InitiateErrorReportedByProvider (4)Error state; Technical error during payment initialization. See below table for list of error codes.
InitiateRequestProviderCommunicationErrorOccurred (325)Error state; Technical error during payment initialization
BlockedByPaymentScoring (202)Error state; Refused by the PXP Financial Risk System
RefusedByPaymentScoring (121)Error state; Refused by the PXP Financial Risk System

Provider specific error codes:

ErrorCodeErrorMessage
Ideal0001Xml invalid format
EP0002 Xml is not well formed
EP0003 Invalid format for Merchant ID
EP0004 Merchant ID does not exist
EP0005 Transaction cannot be processed at this moment
EP0006 Merchant is locked
Ideal0007Transaction cannot be created
EP0008 This payment method is not supported at this time
EP0009 Invalid Transaction ID
Ideal0010Cannot return transaction status
EP0011 Invalid country code
EP0012 Request is not allowed
EP0013 Merchant is locked for this method. Please contact our technical department

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="http://www.cqrpayments.com/PaymentProcessing" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
	<payment xsi:type="paymentWithPaymentAccount">
		<merchantID>KalixaAcceptDEMO</merchantID>
		<shopID>KalixaAcceptDEMO</shopID>
		<paymentMethod>
			<key>111</key>
			<value>IdealDeposit</value>
		</paymentMethod>
		<merchantTransactionID>20141216_4</merchantTransactionID>
		<paymentID>fad7370f-106e-4317-8952-338be07032b8</paymentID>
		<userID>KalxiaTestUser_7</userID>
		<paymentProvider>
			<key>41</key>
			<value>Smart2Pay</value>
		</paymentProvider>
		<amount currencyCode="EUR">100.0000</amount>
		<creationType>
			<key>1</key>
			<value>User</value>
		</creationType>
		<userIP>195.72.132.1</userIP>
		<state>
			<id>89ecbb51-eb93-4036-b6ab-40f9d144e1d6</id>
			<definition>
				<key>29</key>
				<value>DepositedByProvider</value>
			</definition>
			<createdOn>2014-12-16T12:58:50.96</createdOn>
			<paymentStateDetails xsi:nil="true" />
		</state>
		<isExecuted>true</isExecuted>
		<baseAmount currencyCode="EUR">100.0000</baseAmount>
		<paymentDetails>
			<detail xsi:type="keyStringValuePair">
				<key>ProviderExternalID</key>
				<value>714230</value>
			</detail>
			<detail xsi:type="keyIntValuePair">
				<key>PaymentScoring</key>
				<value>714230</value>
			</detail>
			<detail xsi:type="keyStringValuePair">
				<key>ProviderTransactionID</key>
				<value>79e2aad6-2d6c-45ba-abc0-2886608d2dc4</value>
			</detail>
		</paymentDetails>
		<paymentAccount>
			<paymentAccountID>0</paymentAccountID>
		</paymentAccount>
	</payment>
</handlePaymentStateChangedNotificationRequest>

Example handlePaymentStateChangedNotificationResponse: