Qiwi Deposit (via WorldPay)
The following method IDs are covered in this section:
ID | Name | Credit/Debit State |
---|---|---|
163 | QiwiDeposit | DepositedByProvider (29) |
Payment method interaction type: Redirection to External Payment Provider (see Interaction Types).
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. |
CountryCode2 (string, required) | User country code. RU, UA or KZ. |
TelephoneNumber (string) | User telephone number |
Example initiatePaymentRequest with MerchantNotificationUrl:
<initiatePaymentRequest xmlns="http://www.cqrpayments.com/PaymentProcessing">
<merchantID>YourMerchantID</merchantID>
<shopID>YourShopID</shopID>
<merchantTransactionID>07035099-e34f-4f24-b912-862296a8fecc</merchantTransactionID>
<paymentMethodID>163</paymentMethodID>
<amount currencyCode="USD">21.00</amount>
<userID>b875a110-b120-43d3-8711-1f5cfa</userID>
<userData>
<username>b875a110-b120-43d3-8711-1f5cfa</username>
</userData>
<userIP>127.0.0.1</userIP>
<userSessionID>057e71ad-947a-4562-9ce2-a89be7966247</userSessionID>
<creationTypeID>1</creationTypeID>
<specificPaymentData>
<data xsi:type="keyStringValuePair">
<key>MerchantNotificationUrl</key>
<value>https://merchantNotificationURL</value>
</data>
<data xsi:type="keyStringValuePair">
<key>LanguageCode</key>
<value>RU</value>
</data>
<data xsi:type="keyStringValuePair">
<key>EmailAddress</key>
<value>[email protected]</value>
</data>
<data xsi:type="keyStringValuePair">
<key>CountryCode2</key>
<value>RU</value>
</data>
<data xsi:type="keyStringValuePair">
<key>TelephoneNumber</key>
<value>0123456789</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>163</key>
<value>QiwiDeposit</value>
</paymentMethod>
<merchantTransactionID>07035099-e34f-4f24-b912-862296a8fecc</merchantTransactionID>
<paymentID>10924b60-9f32-488b-9723-6b4591ff0c28</paymentID>
<userID>b875a110-b120-43d3-8711-1f5cfa</userID>
<paymentProvider>
<key>90</key>
<value>Envoy</value>
</paymentProvider>
<amount currencyCode="USD">21.00</amount>
<creationType>
<key>1</key>
<value>User</value>
</creationType>
<userIP>127.0.0.1</userIP>
<state>
<id>68aa1afe-74cd-4b9a-a0a0-3afb14b7b47d</id>
<definition>
<key>30</key>
<value>RedirectURLCreated</value>
</definition>
<createdOn>2012-10-08T08:53:56.8195658Z</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">13.94</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>D4454</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:
<?xml version="1.0" encoding="utf-8"?>
<handlePaymentStateChangedNotificationRequest xmlns="http://www.cqrpayments.com/PaymentProcessing" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<payment xsi:type="paymentWithPaymentAccount">
<merchantID>Gaming_PP_B2B_noRCheck</merchantID>
<shopID>Gaming_PP_B2B_noRCheck</shopID>
<paymentMethod>
<key>163</key>
<value>QiwiDeposit</value>
</paymentMethod>
<merchantTransactionID>21012015_3</merchantTransactionID>
<paymentID>0142948b-aa52-4998-ba4c-a7509cd12094</paymentID>
<userID>KalixaTestUserUSD</userID>
<paymentProvider>
<key>90</key>
<value>Envoy</value>
</paymentProvider>
<amount currencyCode="USD">99.9500</amount>
<shopFee currencyCode="USD">0.0500</shopFee>
<creationType>
<key>1</key>
<value>User</value>
</creationType>
<userIP>127.0.0.1</userIP>
<state>
<id>9ab3a047-7524-47f8-8bb5-d17f851acde7</id>
<definition>
<key>29</key>
<value>DepositedByProvider</value>
</definition>
<createdOn>2015-01-21T10:55:27.71</createdOn>
<paymentStateDetails xsi:nil="true" />
</state>
<isExecuted>true</isExecuted>
<baseAmount currencyCode="EUR">86.3400</baseAmount>
<paymentDetails>
<detail xsi:type="keyDecimalValuePair">
<key>BaseShopFeeAmount</key>
<value>0.0400</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>BaseShopFeeCurrencyCode</key>
<value>EUR</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderExternalID</key>
<value>D7294</value>
</detail>
<detail xsi:type="keyIntValuePair">
<key>PaymentScoring</key>
<value>735871</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>EnvoyUserEmail</key>
<value>[email protected]</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderTransactionID</key>
<value>f70dfcfd-5ba1-e411-b0d5-001ec9e61285</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>Token</key>
<value>1f64632a-2cc6-4651-8ff8-db8f15706395</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>UniqueReference</key>
<value>CQRUS6627518</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderStatus</key>
<value>0</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderStatusMessage</key>
<value>Success</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ProviderAccountUserEmail</key>
<value>[email protected]</value>
</detail>
<detail xsi:type="keyStringValuePair">
<key>ShippingMethod</key>
<value>2</value>
</detail>
</paymentDetails>
<paymentAccount>
<paymentAccountID>0</paymentAccountID>
</paymentAccount>
</payment>
</handlePaymentStateChangedNotificationRequest>
Updated over 5 years ago