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
EP0002Xml is not well formed
EP0003Invalid format for Merchant ID
EP0004Merchant ID does not exist
EP0005Transaction cannot be processed at this moment
EP0006Merchant is locked
Ideal0007Transaction cannot be created
EP0008This payment method is not supported at this time
EP0009Invalid Transaction ID
Ideal0010Cannot return transaction status
EP0011Invalid country code
EP0012Request is not allowed
EP0013Merchant 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: