Ideal Deposit (via WorldPay)
The following method IDs are covered in this section:
ID | Name | Credit/Debit State |
---|---|---|
111 | IdealDeposit | DepositedByProvider (29) |
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
Currently not supported.
Backend2BackendIntegration
There are no specificPaymentAccountData.
The following parameters can be provided in initiatePaymentRequest.specificPaymentData:
key (value type, account type, required) | value |
---|---|
PaymentProviderID (string, required) | Envoy (Worldpay) provider ID. To be set to value 90. |
MerchantNotificationUrl (string, required when at least one of SuccessPageUrl, ErrorPageUrl or CancelPageUrl is missing) | The URL to redirect user in case of Success/Error/Cancel |
SuccessPageUrl (string, required only if MerchantNotificationUrl is missing) | The URL to redirect user in case of successful payment |
ErrorPageUrl (string, required only if MerchantNotificationUrl is missing) | The URL to redirect user in case of unsuccessful payment |
CancelPageUrl (string, required only if MerchantNotificationUrl is missing) | The URL to redirect user in case of cancellation |
PendingPageUrl (string) | The URL to redirect user in case of pending payment |
HomePageUrl (string) | The URL of merchant`s website |
LanguageCode (string) | The language of the user on the merchant side, used for localizing the UI displayed to the user |
EmailAddress (string, required) | User email address. |
Example initiatePaymentRequest with MerchantNotificationUrl:
<initiatePaymentRequest xmlns="http://www.cqrpayments.com/PaymentProcessing">
<merchantID>YourMerchantID</merchantID>
<shopID>YourShopID</shopID>
<merchantTransactionID>9ad33cf2-3c98-48d3-b11c-b0c454469a2d</merchantTransactionID>
<paymentMethodID>111</paymentMethodID>
<amount currencyCode="EUR">21.00</amount>
<userID>9932cbc2-6aed-44e7-a85c-1c2178</userID>
<userData>
<username>9932cbc2-6aed-44e7-a85c-1c2178</username>
<firstname xsi:nil="true"></firstname>
<lastname xsi:nil="true"></lastname>
<currencyCode xsi:nil="true"></currencyCode>
<languageCode xsi:nil="true"></languageCode>
<email xsi:nil="true"></email>
<address xsi:nil="true"></address>
</userData>
<userIP>127.0.0.1</userIP>
<userSessionID>d5cb179a-94f1-4cf5-a677-3740e6c9d78a</userSessionID>
<creationTypeID>1</creationTypeID>
<specificPaymentData>
<data xsi:type="keyStringValuePair">
<key>MerchantNotificationUrl</key>
<value>https://merchantnotification</value>
</data>
<data xsi:type="keyStringValuePair">
<key>LanguageCode</key>
<value>NL</value>
</data>
<data xsi:type="keyStringValuePair">
<key>EmailAddress</key>
<value>[email protected]</value>
</data>
<data xsi:type="keyIntValuePair">
<key>PaymentProviderID</key>
<value>90</value>
</data>
</specificPaymentData>
</initiatePaymentRequest>
Example initiatePaymentResponse with MerchantNotificationUrl:
<initiatePaymentResponse xmlns="http://www.cqrpayments.com/PaymentProcessing">
<payment xsi:type="paymentWithPaymentAccount" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<merchantID>YourMerchantID</merchantID>
<shopID>YourShopID</shopID>
<paymentMethod>
<key>111</key>
<value>IdealDeposit</value>
</paymentMethod>
<merchantTransactionID>9ad33cf2-3c98-48d3-b11c-b0c454469a2d</merchantTransactionID>
<paymentID>ad7246cf-a193-4625-9d62-a8b7089db717</paymentID>
<userID>9932cbc2-6aed-44e7-a85c-1c2178</userID>
<paymentProvider>
<key>90</key>
<value>Envoy</value>
</paymentProvider>
<amount currencyCode="EUR">21.00</amount>
<creationType>
<key>1</key>
<value>User</value>
</creationType>
<userIP>127.0.0.1</userIP>
<state>
<id>27dd0c37-3a08-4929-a1b0-df7ad8e85c53</id>
<definition>
<key>30</key>
<value>RedirectURLCreated</value>
</definition>
<createdOn>2012-10-08T08:27:08.243346Z</createdOn>
<description>http://test.envoytransfers.com/?tokenID=541d1cdf-3a53-4b20-8cde-0b488f1447a8</description>
<paymentStateDetails>
<detail xsi:type="keyStringValuePair">
<key>RedirectionUrl</key>
<value>http://test.envoytransfers.com/?tokenID=541d1cdf-3a53-4b20-8cde-0b488f1447a8</value>
</detail>
</paymentStateDetails>
</state>
<isExecuted>false</isExecuted>
<baseAmount currencyCode="EUR">21</baseAmount>
<paymentDetails>
<detail xsi:type="keyStringValuePair">
<key>Token</key>
<value>541d1cdf-3a53-4b20-8cde-0b488f1447a8</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderExternalID</key>
<value>D4452</value>
</detail>
</paymentDetails>
<paymentAccount>
<paymentAccountID>0</paymentAccountID>
</paymentAccount>
</payment>
</initiatePaymentResponse>
Possible payment states in initiatePaymentResponse
:
Payment State | Description |
---|---|
RedirectURLCreated (30) | OK state; Redirect user to the URL |
DuplicatePaymentValidationFailed (369) | The payment with same merchantTransactionID already exists. |
InitiateErrorReportedByProvider (4) | Error state; Provider reported error when trying to initiate payment. |
The following field is returned in paymentDetails of initiatePaymentResponse:
Field name | Description |
---|---|
Token | Envoy (Worldpay) ID. An unique URL-encoded string. |
The final execution status about the payment will come within a payment state change notification to the merchant.
The possible payment states are listed below:
Payment States | Description |
---|---|
RefusedByProvider (100) | Error state, payment was not accepted by provider; redirect user to ErrorPageUrl |
DepositedByProvider (29) | Success state; Payment has been executed. |
QueryPaymentStateCommunicationErrorOccurred (321) | Error state; Communication error with provider occurred. |
Cancelled (113) | Payment reversal state. |
Error Codes
ProviderResponseCode | ProviderResponseMessage |
---|---|
-100 | An unexpected error occurred |
-101 | Unexpected system error |
-103 | The operation timed out |
-200 | Authentication failed |
-519 | Invalid epacsReference |
-520 | -epacsReference could not be found |
-800 | There was a problem processing the payment instructions |
-835 | BankCode field cannot exceed 50 characters in length |
-836 | AccountNumber field cannot exceed 255 characters in length |
-837 | AccountPassword field cannot exceed 255 characters in length |
-838 | PaymentChannel field cannot exceed 50 characters in length |
-839 | LanguageCode field should be 2 characters in length |
-840 | FirstName field cannot exceed 50 characters in length |
-841 | LastName field cannot exceed 50 characters in length |
-842 | Phone field cannot exceed 20 characters in length |
-843 | Address1 field cannot exceed 100 characters in length |
-844 | Address2 field cannot exceed 100 characters in length |
-845 | City field cannot exceed 50 characters in length |
-846 | State field cannot exceed 50 characters in length |
-847 | Customer Country field should be empty or 2 characters in length |
-848 | Postcode field cannot exceed 20 characters in length |
-849 | CustomerRef field cannot exceed 50 characters in length |
-841 | LastName field cannot exceed 50 characters in length |
-842 | Phone field cannot exceed 20 characters in length |
-843 | Address1 field cannot exceed 100 characters inlength |
-844 | Address2 field cannot exceed 100 characters in length |
-845 | City field cannot exceed 50 characters in length |
-846 | State field cannot exceed 50 characters in length |
-847 | Customer Country field should be empty or 2 characters in length |
-848 | Postcode field cannot exceed 20 characters in length |
-849 | CustomerRef field cannot exceed 50 characters in length |
-868 | Authentication field is required |
-869 | Username field is required |
-870 | Password field is required |
-871 | OneClickServiceInfo field is required |
-872 | ServiceName field is required |
-873 | ServiceName field failed validation check |
-874 | PaymentData field is required |
-875 | CustomerRef field is required |
-876 | Country field is required |
-877 | Country field should be 2 characters in length |
-878 | Country field failed validation check |
-879 | Amount and ReceiveAmount should be zero or a positive value |
-880 | Only one of Amount or ReceiveAmount fields should have a value |
-881 | Currency field is required |
-882 | Currency field should be 3 characters in length |
-883 | Currency field failed validation check |
-884 | ReceiveCurrency field is required |
-885 | ReceiveCurrency field should be 3 characters in length |
-886 | ReceiveCurrency field failed validation check |
-887 | CustomerData field is required |
-888 | Email field is required |
-889 | Email field failed validation check |
-890 | Email field should be between 5 and 255 characters in length |
-891 | SuccessUrl field is required |
-892 | CancelUrl field is required |
-893 | ErrorUrl field is required |
-894 | CustomerLevel field cannot exceed 50 characters in length |
-895 | CustomerId field cannot exceed 50 characters in length |
-896 | ServiceName field cannot exceed 50 characters in length |
-897 | successUrl field cannot exceed 300 characters in length |
-898 | cancelUrl field cannot exceed 300 characters in length |
-899 | errorUrl field cannot exceed 300 characters in length |
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:
Coming soon
Content will be added shortly
**Example handle
Updated about 7 years ago