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:

ID

Name

Credit/Debit State

Reversal State

111

IdealDeposit

DepositedByProvider (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 States

Description

  • *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:

ErrorCode

ErrorMessage

Ideal0001

Xml 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

Ideal0007

Transaction cannot be created

EP0008

This payment method is not supported at this time

EP0009

Invalid Transaction ID

Ideal0010

Cannot 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: